Re: Adding a column to a replicated table

  • From: Hemant K Chitale <hkchital@xxxxxxxxxxxxxx>
  • To: sorr@xxxxxxxxxxxx, <oracle-l@xxxxxxxxxxxxx>
  • Date: Tue, 14 Jun 2005 22:55:16 +0800

I would say that you would use DBMS_REPCAT.ALTER_MASTER_REPOBJECT
for Advanced Replication -- ie Multi Master Replication.

What you have is a (Read Only) Materialized View , aka Snapshot in earlier 

You can most certainly add a new column to the source table,
with a mere ALTER TABLE .. ADD COLUMN ..

On the other hand, if you wanted the new column to be seen in the
MV as well ....
Even if you had created it with an .. AS SELECT * ..., that would not
automatically re-read the new column as the "local" definition would
have been instantiated when you created the Materialized View.
In my opinion, to add a column, you'd have to DROP and CREATE the MV.
{but I hope, for your sake, to be proven wrong}.

At 10:47 PM Tuesday, Orr, Steve wrote:
>I have a read only materialized view on one server and the master table
>on another server. I need to add a column to the master table and the
>materialized view is NOT defined with=20
>< create materialized view ... as select * from table@mastersite >
>The MV specifies the columns to replicate and I'm not interested in
>replicating the new column. Do I still need to perform the DDL via the
>dbms_repcat.alter_master_repobject(...) package procedure? Will
>replication break if I alter the master table without this? (9.2/RHEL3)

Hemant K Chitale


Other related posts: