logical standby是在physical standby基礎上搭建
Oracle10g Physical DataGuard 詳細搭建過程
--停止standby上的日誌應用
SQL> alter database recover managed standby database cancel;
Database altered.
--修改主庫log_archive_dest_3參數,當切換為備庫時線上日誌歸檔路徑
SQL> alter system set log_archive_dest_3='LOCATION=/u01/app/oracle/oradata/dbserver/arch valid_for=(standby_logfiles,standby_role) db_unique_name=dbserver';
System altered.
SQL> alter system set log_archive_dest_state_3=enable;
System altered.
--主庫執行,alert.log顯示Logminer Bld: Done
SQL> execute dbms_logstdby.build;
PL/SQL procedure successfully completed.
--修改備庫log_archive_dest_3參數,備庫線上日誌歸檔路徑
SQL> alter system set log_archive_dest_3='LOCATION=/u01/app/oracle/oradata/standby/arch valid_for=(standby_logfiles,standby_role) db_unique_name=standby';
System altered.
SQL> alter system set log_archive_dest_state_3=enable;
System altered.
--如果備庫沒有暫存資料表空間需要建立
--在standby端將物理備庫轉為邏輯備庫,最後一個standby是邏輯備庫名稱
SQL> select status from v$instance;
STATUS
------------
MOUNTED
SQL> select database_role from v$database;
DATABASE_ROLE
----------------
PHYSICAL STANDBY
SQL> startup mount force
ORACLE instance started.
Total System Global Area 612368384 bytes
Fixed Size 2085872 bytes
Variable Size 167775248 bytes
Database Buffers 436207616 bytes
Redo Buffers 6299648 bytes
Database mounted.
SQL> alter database recover to logical standby standby;
Database altered.
SQL> select status from v$instance;
STATUS
------------
STARTED
SQL> startup mount force
ORACLE instance started.
Total System Global Area 612368384 bytes
Fixed Size 2085872 bytes
Variable Size 167775248 bytes
Database Buffers 436207616 bytes
Redo Buffers 6299648 bytes
Database mounted.
SQL> select database_role from v$database;
DATABASE_ROLE
----------------
LOGICAL STANDBY
SQL> alter database open resetlogs;
Database altered.
SQL> select name from v$database;
NAME
---------
STANDBY
--在主庫switch logfile
SQL> alter system switch logfile;
System altered.
SQL> /
System altered.
SQL> /
System altered.
SQL> /
System altered.
SQL> /
System altered.
SQL> /
System altered.
--standby alert.log
RFS[3]: Assigned to RFS process 10806
RFS[3]: Identified database type as 'logical standby'
Mon Mar 3 13:10:28 2014
RFS LogMiner: Client enabled and ready for notification
RFS[3]: Successfully opened standby log 6: '/u01/app/oracle/oradata/standby/standby03.log'
Mon Mar 3 13:10:28 2014
RFS LogMiner: Client enabled and ready for notification
Mon Mar 3 13:11:21 2014
RFS LogMiner: Client enabled and ready for notification
Mon Mar 3 13:11:22 2014
Primary database is in MAXIMUM PERFORMANCE mode
RFS[2]: Successfully opened standby log 5: '/u01/app/oracle/oradata/standby/standby02.log'
Mon Mar 3 13:11:33 2014
RFS LogMiner: Client enabled and ready for notification
Mon Mar 3 13:11:34 2014
Primary database is in MAXIMUM PERFORMANCE mode
RFS[2]: Successfully opened standby log 5: '/u01/app/oracle/oradata/standby/standby02.log'
--在備庫啟用即時應用
SQL> alter database start logical standby apply immediate;
Database altered.