Data Guard是資料庫級HA方案,核心:冗災、資料保護、故障恢復。本文以Oracle 10g R2於Red Hat Linux 5為例,詳細記錄Primary(db1, 192.168.18.1)與Standby(standby, 192.168.18.2)建立全流程。
ALTER DATABASE FORCE LOGGING;orapwd file=orapwdb1 password=123456 force=yALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(db1,standby)' SCOPE=BOTH;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/u01/db1/arch' SCOPE=BOTH;
ALTER SYSTEM SET DB_UNIQUE_NAME='db1' SCOPE=BOTH;
RMAN> CONNECT TARGET sys/123456
RMAN> BACKUP DATABASE FORMAT '/oracle/rmanback/%d_%s.dbf' PLUS ARCHIVELOG;
ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/oracle/rmanback/ctontrl01.ctl';
tnsnames.ora互指,啟動Listener驗證服務db1、db1_XPT均READY。FAL_SERVER/CLIENT、LOG_ARCHIVE_DEST_1/2、STANDBY_FILE_MANAGEMENT=AUTO等)STARTUP NOMOUNT PFILE=$ORACLE_HOME/dbs/initstandby.ora
ALTER DATABASE MOUNT STANDBY DATABASE;
TNSPING與SQLPLUS測試連通RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
-- 若需手動應用日誌
RECOVER AUTOMATIC STANDBY DATABASE;
ALTER SYSTEM SWITCH LOGFILE;SELECT MAX(SEQUENCE#) FROM V$ARCHIVED_LOG;(例:17)SELECT SEQUENCE#, APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
-- 15 YES, 16 YES, 17 YES → 同步成功
CREATE SPFILE FROM PFILE;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
ALTER DATABASE OPEN READ ONLY;
至此Physical Standby建立完成,可作為報表查詢節點或故障切換目標。