首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

單機建立 Oracle 9i 物理 Standby 資料庫實戰筆記

     編輯:Oracle 資料庫基礎

環境說明

  • 作業系統:Windows 2000 Professional SP3,512MB 記憶體
  • Primary 實例:Demo
  • Standby 實例:Pstandby
  • 版本:Oracle 9.2.0.1.0 Enterprise Edition

前置確認:Primary 必須啟用歸檔模式

SQL> ARCHIVE LOG LIST
Database log mode: Archive Mode
Automatic archival: Enabled
Archive destination: d:\Oracle\oradata\demo\archive
...

若非歸檔模式:

ALTER SYSTEM SET LOG_ARCHIVE_START=TRUE SCOPE=SPFILE;
SHUTDOWN;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
SHUTDOWN IMMEDIATE;
-- 此處做完整備份

Primary 端準備

  1. 啟用強制記錄:ALTER DATABASE FORCE LOGGING;
  2. 設定本地歸檔目的地:ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=D:\Oracle\oradata\DEMO\Archive' SCOPE=BOTH;

建立物理 Standby 步驟

2.1 列出 Primary 資料檔路徑

SELECT NAME FROM V$DATAFILE;
-- 輸出 11 個 .DBF 檔案路徑

2.2 關閉實例並複製資料檔至 Standby 目標目錄

SHUTDOWN IMMEDIATE;
-- 用 OS 指令將所有 .DBF 複製到 C:\DataGuard\Pstandby\DEMO\

2.3 建立 Standby 控制檔

ALTER DATABASE CREATE STANDBY CONTROLFILE
AS 'C:\DataGuard\Pstandby\DEMO\DEMOSTANDBY.CTL';
-- 名稱勿與 Primary 控制檔重複

2.4 產生 Standby 參數檔

CREATE PFILE='C:\DataGuard\Pstandby\DEMO\initpstandby' FROM SPFILE;

2.5 修改關鍵參數(黑體部分需調整)

*.control_files='C:\DataGuard\Pstandby\DEMO\DEMOSTANDBY.CTL'
*.db_name='DEMO'
*.instance_name='pstandby'
lock_name_space=pstandby
standby_file_management=AUTO
remote_archive_enable=TRUE
standby_archive_dest='C:\DataGuard\Pstandby\DEMO\Archive'
db_file_name_convert=('D:\Oracle\oradata\DEMO', 'C:\DataGuard\Pstandby\DEMO\')
log_file_name_convert=('D:\Oracle\oradata\DEMO', 'C:\DataGuard\Pstandby\DEMO\')
log_archive_dest_1='LOCATION=C:\DataGuard\Pstandby\DEMO\Archive'
...(其餘參數參考原文完整列表)

此步驟最易出錯,必須逐項核對路徑與實例名。

2.6 建立 Windows 服務

oradim -NEW -SID Pstandby -STARTMODE manual

2.7 建立 SPFILE

SET ORACLE_SID=pstandby
SQLPLUS /NOLOG
CONNECT / AS SYSDBA
CREATE SPFILE FROM PFILE='C:\DataGuard\Pstandby\DEMO\initPstandby.ora';

2.8 啟動物理 Standby

STARTUP NOMOUNT;
ALTER DATABASE MOUNT STANDBY DATABASE;

2.9 啟動 Log Apply 服務

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

2.10 啟用至 Standby 的遠端歸檔

ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=Pstandby' SCOPE=BOTH;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE SCOPE=BOTH;
ALTER SYSTEM ARCHIVE LOG CURRENT;

安裝驗證

  1. Standby 端查詢 V$ARCHIVED_LOG 確認序號 38-42 已接收
  2. Primary 端 ALTER SYSTEM ARCHIVE LOG CURRENT; 產生序號 43
  3. Standby 端再次查詢 V$ARCHIVED_LOG 出現序號 43
  4. 查詢 SELECT SEQUENCE#, APPLIED FROM V$ARCHIVED_LOG 顯示 38-43 皆 YES,表示應用成功

參考文獻

Oracle Data Guard Concepts and Administration Release 2 (9.2) Part Number A96653-02

附件:Primary 完整 PFILE 內容

(見原文,含 LOG_ARCHIVE_DEST_2='SERVICE=PSTANDBY' 等關鍵設定)

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved