3.4 Enabling supplemetal log data and force logging.
SQL>alter database add supplemental log data; SQL>alter database add supplemental log data (primary key) columns; SQL>alter database add supplemental log data (foreign key) columns; SQL>alter database add supplemental log data (unique) columns; SQL>alter database force logging;
SQL>altersystem archive log current;
SQL>select log_mode,supplemental_log_data_min,force_logging from v$database;
LOG_MODE SUPPLEME FOR ------------ -------- --- ARCHIVELOG YES YES
3.5 Creating the OGG user.
create tablespace ogg_tbs datafile 'D:\oradata\fydb\ogg_tbs.dbf' size 200m autoextend on next 10m maxsize 10G extent management local segment space management auto;
createuser ggsadmin identified by ggsdba11 default tablespace ogg_tbs temporary tablespace temp quota unlimited on ogg_tbs;
GRANTCONNECTTO ggsadmin; GRANTALTERANYTABLETO ggsadmin; GRANTALTER SESSION TO ggsadmin; GRANTCREATE SESSION TO ggsadmin; GRANT FLASHBACK ANYTABLETO ggsadmin; GRANTSELECTANY DICTIONARY TO ggsadmin; GRANTSELECTANYTABLETO ggsadmin; GRANT RESOURCE TO ggsadmin; GRANTDROPANYTABLETO ggsadmin; GRANT DBA TO ggsadmin; GRANTINSERTANYTABLETO ggsadmin; GRANTUPDATEANYTABLETO ggsadmin; GRANTDELETEANYTABLETO ggsadmin; GRANT sysdba TO ggsadmin; -- DDL replicate
GGSCI> info all Program Status Group Lag Time Since Chkpt MANAGER RUNNING EXTRACT STOPPED TLCAPT 00:00:00 00:17:38 EXTRACT STOPPED TLPUMP 00:00:00 00:00:46
5 Configuring Target Database
5.1 Check the long transactions on source, wait or kill it.
SET SERVEROUTPUT ON SIZE 100000 BEGIN for c in (select'ALTER TABLE '|| TABLE_NAME ||' DISABLE CONSTRAINT '|| constraint_name ||' 'as v_sql from user_constraints where CONSTRAINT_TYPE ='R') loop DBMS_OUTPUT.PUT_LINE(C.V_SQL); begin EXECUTE IMMEDIATE c.v_sql; exception when others then dbms_output.put_line(sqlerrm); end; end loop; for c in (select'ALTER TABLE '|| TNAME ||' DISABLE ALL TRIGGERS 'AS v_sql from tab where tabtype ='TABLE') loop dbms_output.put_line(c.v_sql); begin execute immediate c.v_sql; exception when others then dbms_output.put_line(sqlerrm); end; end loop; end; /
SET SERVEROUTPUT ON SIZE 100000 BEGIN for c in (select'ALTER TABLE '|| TABLE_NAME ||' ENABLE CONSTRAINT '|| constraint_name ||' 'as v_sql from user_constraints where CONSTRAINT_TYPE ='R') loop DBMS_OUTPUT.PUT_LINE(C.V_SQL); begin EXECUTE IMMEDIATE c.v_sql; exception when others then dbms_output.put_line(sqlerrm); end; end loop; for c in (select'ALTER TABLE '|| TNAME ||' ENABLE ALL TRIGGERS 'AS v_sql from tab where tabtype ='TABLE') loop dbms_output.put_line(c.v_sql); begin execute immediate c.v_sql; exception when others then dbms_output.put_line(sqlerrm); end; end loop; end; /