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