Re: ** Schema change on replicated env

  • From: Lyndon Tiu <ltiu@xxxxxxxxxxxxx>
  • To: ajoshi977@xxxxxxxxx
  • Date: Sun, 20 Apr 2008 10:08:17 -0500

Hi Joshi,

If a new column was added to a table in-error to one side of the replication group - not through the replication API and without adding to the other nodes in the group, the next time an update/insert is made to that table, an error will result (wrong number of arguments/attributes/field error). See it through:

select * from deferror;

From my experience, this will freeze replication - affects all the other tables and your replicated database will become out of sync quickly.

The best way to fix is:

If that table with the new column has not yet been updated/inserted into since the new column was added, remove the new column the same way it was added (outside of the replication API).

Now, do not do this to the production database. First, do this to your development environment. Test it and make sure you like what you see before implementing in production.

If updates/inserts have already been made to the table in question, then I have no answer for you other than to quiesce the database and add the column properly through the replication API, then regenerate replication support, then fix any data out of sync errors, then resume replication.

Last step is to fire the person who added the column without going through the replication API.


A Joshi wrote:
Hi,
A column was added to a table in replication. Without doing a quisce. I know it is avoidable but it happened. Can you tell what are the implications to this and best way to recover. It is difficult to get downtime on the database. Thanks for help.

*/A Joshi <ajoshi977@xxxxxxxxx>/* wrote:

    Hi,
    I have Oracle multi master replication setup. We are doing heavy
    processing and replication is behind. I need to add a column to a
    table. Generally this is done by doing quisce. then generate
    support. Right now I cannot do that quisce. Is there alternate or
    round about way to do this? Thanks for help. Also if column is added
    on the source as it is without quisce, it will work but I do not
    know the consequences. It is small table so I can sync it up later
    too. Thanks
    ------------------------------------------------------------------------
    Be a better friend, newshound, and know-it-all with Yahoo! Mobile.
    Try it now.
    
<http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ>


------------------------------------------------------------------------
Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. <http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ >


--
Lyndon Tiu
--
//www.freelists.org/webpage/oracle-l


Other related posts: