User Tools

Site Tools


operations:db_ncedc:rep_ddl

Applying DDL Statements in a Multi Master Replication Environment

Statements have to be applied on the master definition site.

  • Connect to replication administrator user:
sqlplus repadmin/****@dcucb
  • Suspend Master Activity for the affected master group:
EXEC DBMS_REPCAT.SUSPEND_MASTER_ACTIVITY ('master_wf_repg');
  • Apply DDL Statement:
EXEC DBMS_REPCAT.ALTER_MASTER_REPOBJECT('ncedcdba', 'Waveform', 'TABLE', ddl_text=> 'ALTER TABLE ncedcdba.Waveform MODIFY PARTITION WF_2005 ADD SUBPARTITION WF_PB_2005 VALUES (''PB'') TABLESPACE WF_PB_2005');
  • Regenerate Replication Support for the affected object:
BEGIN
DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT (
sname => 'ncedcdba',
oname => 'Waveform',
type => 'TABLE',
min_communication => TRUE);
END;
/
  • Resume Master Activity:
EXEC DBMS_REPCAT.RESUME_MASTER_ACTIVITY ('master_wf_repg');

Applying DDL Statements in a Snapshot Replication Environment

Never use Enterprise Manager or a SQL DDL command (for example, ALTER TABLE) to alter a snapshot definition. To alter the definition of a snapshot, drop the snapshot and then re-create it.

  • Drop Snapshot:
DROP MATERIALIZED VIEW 'object name';
  • Re-create Snapshot:
CREATE MATERIALIZED VIEW 'object name'
REFRESH FAST WITH PRIMARY KEY FOR UPDATE
AS SELECT * FROM 'object name'
WHERE ...;
  • Drop Snapshot Replication Object:
EXEC DBMS_REPCAT.DROP_MVIEW_REPOBJECT('owner name','object name','SNAPSHOT');
  • Re-create Snapshot Replication Object:
BEGIN
DBMS_REPCAT.CREATE_MVIEW_REPOBJECT (
gname => 'group name',
sname => 'owner name',
oname => 'object name',
type => 'SNAPSHOT',
min_communication => TRUE);
END;
/
operations/db_ncedc/rep_ddl.txt · Last modified: 2020/05/27 15:56 by stephane