How to Add LOB Objects in Replication site.
If you want add lob objects in replication site. (You must be already done Advanced Replication “Click here “)
That objects must be contains primary key constraints.
SQL> DESC MASTER
Name Null? Type
----------------------------------------- -------- ----------------------------
COMPANY_CODE VARCHAR2(10)
COMPANY_NAME NOT NULL VARCHAR2(100)
COMPANYLOGO BLOB
SHORT_NAME NOT NULL VARCHAR2(10)
PRINT_NAME NOT NULL VARCHAR2(100)
Here you need temporary stop master site activity and add those objects in master site.
SQL> BEGIN
2 DBMS_REPCAT.SUSPEND_MASTER_ACTIVITY (
3 gname => 'us_rep'
4 );
5 END;
6 /
PL/SQL procedure successfully completed.
SQL> BEGIN
2 DBMS_REPCAT.CREATE_MASTER_REPOBJECT (
3 gname => 'us_rep',
4 sname => 'SCOTT',
5 oname => 'MASTER',
6 type => 'TABLE',
7 copy_rows => TRUE,
8 use_existing_object => TRUE );
9 END;
10 /
PL/SQL procedure successfully completed.
SQL> ED
Wrote file afiedt.buf
1 BEGIN
2 DBMS_REPCAT.CREATE_MASTER_REPOBJECT (
3 gname => 'us_rep',
4 sname => 'SCOTT',
5 oname => 'MASTER_PK',
6 type => 'INDEX',
7 copy_rows => TRUE,
8 use_existing_object => TRUE );
9* END;
SQL> /
PL/SQL procedure successfully completed.
SQL> CREATE MATERIALIZED VIEW LOG ON SCOTT.MASTER;
Materialized view log created.
SQL> BEGIN
2 DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT (
3 sname => 'SCOTT',
4 oname => 'MASTER',
5 type => 'TABLE',
6 min_communication => true,
7 generate_80_compatible => FALSE);
8* END;
SQL> /
PL/SQL procedure successfully completed.
SQL> BEGIN
2 DBMS_REPCAT.RESUME_MASTER_ACTIVITY (
3 gname => 'us_rep'
4 );
5 END;
6 /
PL/SQL procedure successfully completed.
Once complete start your master activity.
Create materialized view’s in your replication site.
SQL> CREATE MATERIALIZED VIEW MASTER REFRESH FAST WITH PRIMARY KEY UPDATABLE AS SELECT * FROM SCOTT.MASTER@US.EDKAL;
Materialized view created.
SQL> BEGIN
DBMS_REPCAT.CREATE_SNAPSHOT_REPOBJECT(
gname => '"US_REP"',
sname => '"SCOTT"',
oname => '"MASTER"',
type => 'SNAPSHOT',
min_communication => TRUE);
END;
PL/SQL procedure successfully completed.
SQL> BEGIN
DBMS_REFRESH.ADD(
name => '"MVIEWADMIN"."US_REP"',
list => '"SCOTT"."MASTER"',
lax => TRUE);
END;
PL/SQL procedure successfully completed.
No comments:
Post a Comment