Creating A Logical Standby Database
Creating A Logical Standby Database
Creating A Logical Standby Database
This chapter steps you through the process of creating a logical standby database. It includes the following main topics:
Prerequisite Conditions for Creating a Logical Standby Database Step by Step Instructions for Creating a Logical Standby Database
Section !.!.! Determine Support for Data Types and Storage "ttributes for Tables Section !.!.# $nsure Table %ows in the Primary Database Can &e 'niquely Identified
1.1.1 Determine Support for Data Types and Storage Attributes for Tables
If the primary database contains unsupported tables( log apply ser)ices automatically e*clude the tables when applying redo logs to the logical standby database.
SQL> SELECT OWNER, TABLE_NAME FROM DBA_LOGSTDBY_UNSUPPORTED; OWNER TABLE_NAME ------------------------------ -----------------------------OE CUSTOMERS
1.1. !nsure Table Ro"s in t#e Primary Database Can $e %niquely &dentified
If your application ensures the rows in a table are unique( you can create a disabled primary +ey RELY constraint on the table else create the primary +ey.
SQL> SELECT OWNER, TABLE_NAME FROM DBA_LOGSTDBY_NOT_UNIQUE; OWNER TABLE_NAME ------------------------------ -----------------------------SCOTT SALGRADE SQL> ALTER TABLE SALGRADE ADD PRIMARY KEY (GRADE) RELY DISABLE;
Standby Standby
SQL> ALTER DATABASE O0EN RESETLOGS; SQL> ALTER DATABASE START LOGICAL STANDBY A00LY IMMEDIATE;
SQL> CONN SCOTT/TIGER;LGSTDBY CONNECTED2 SQL> SELECT CO-NT*<, )ROM TEST; CO-NT*<, ========== >"?3. SQL> CONN SCOTT/TIGER;MISDB CONNECTED2 SQL> SELECT CO-NT*<, )ROM TEST; CO-NT*<, ========== >"?3. SQL> CONN SCOTT/TIGER;LGSTDBY CONNECTED2 SQL> DELETE )ROM TEST; >"?3. RO/S DELETED2 SQL> SELECT CO-NT*<, )ROM TEST; CO-NT*<, ========== " SQL> CONN SCOTT/TIGER;MISDB CONNECTED2 SQL> SELECT CO-NT*<, )ROM TEST; CO-NT*<, ========== "
Ru: 3: 0r79ar& SELECT THREAD@+ SEQ-ENCE@ )ROM VALOG /HERE STAT-S='C-RRENT'; ALTER SYSTEM ARCHIVE LOG C-RRENT; Ru: 3: Sta: !&
SELECT )ILE_NAME )ROM DBA_LOGSTDBY_LOG /HERE THREAD@=# AND SEQ-ENCE@= *S8Bu8:'8@ 6r39 4r8C73u% Bu8r&,; A00LIED_SCN a: NE/EST_SCN %(3ul 9at'( SELECT A00LIED_SCN+ NE/EST_SCN )ROM DBA_LOGSTDBY_0ROGRESS;
SQL> SELECT SESSION_ID+ STATE )ROM VALOGSTDBY_STATE; SESSION_ID STATE ========== ============= # INITIALIDING SQL> SELECT SESSION_ID+ STATE )ROM VALOGSTDBY_STATE; SESSION_ID STATE ========== ================== # LOADING DICTIONARY SQL> COL-MN STAT-S )ORMAT A?" SQL> SELECT TY0E+ STAT-S_CODE+ STAT-S )ROM VALOGSTDBY_0ROCESS; TY0E STAT-S_CODE STAT-S ============================== =========== ============================ COORDINATOR #E##E ORA=#E##EF :3 53rG aCa7la!l8 READER #E##E ORA=#E##EF :3 53rG aCa7la!l8 B-ILDER #E##E ORA=#E##EF :3 53rG aCa7la!l8 0RE0ARER #E##E ORA=#E##EF :3 53rG aCa7la!l8 ANALYDER #E##E ORA=#E##EF :3 53rG aCa7la!l8 A00LIER #E##E ORA=#E##EF :3 53rG aCa7la!l8 A00LIER #E##E ORA=#E##EF :3 53rG aCa7la!l8 A00LIER #E##E ORA=#E##EF :3 53rG aCa7la!l8 A00LIER #E##E ORA=#E##EF :3 53rG aCa7la!l8 A00LIER #E##E ORA=#E##EF :3 53rG aCa7la!l8