天天看點

oracle win2003 dataguard配置環境描述配置過程

Dataguard配置

環境描述

主伺服器

作業系統:win2003

計算機名稱:primary

IP位址:192.168.1.1

Oracle版本9i

資料庫執行個體:wbi

備伺服器

作業系統:win2003

計算機名稱:standby

IP位址:192.168.1.2

Oracle版本:9i

資料庫執行個體:wbi

配置過程

1、在主備伺服器安裝oracle,隻安裝程式不安裝資料庫。

2、在主庫使用DCA工具建立資料庫,執行個體名稱wbi,除字元集使用ZHS16GBK外,其他使用預設參數。

3、在從庫C:\oracle\admin\wbi下建立檔案夾:bdump、cdump、create、pfile、udump

在從庫C:\oracle\oradata建立檔案夾wbi

4、在主庫

   SQL> select file_name from dba_data_files;  查詢資料檔案

   SQL> select member from v$logfile;       查詢聯機日志檔案

   SQL> shutdown immediate;              關閉資料庫

   拷貝資料檔案、聯機日志檔案以及C:\oracle\ora92\database\PWDwbi.ora到備庫相應位置

5、在主庫

   SQL> startup mount; 啟動執行個體但不打開資料庫

   SQL> alter database archivelog; 配置為歸檔模式

   SQL> alter database open;      打開資料庫

   SQL>alter system set log_archive_dest_1='location=c:\oracle\ora92\database\arch

ive' scope=both;          修改歸檔路徑

   SQL> alter system set log_archive_start=true scope=spfile; 開啟自動歸檔

   SQL> shutdown immedicate;                         重新開機資料庫

   SQL> startup;

6、在主庫建立從庫控制檔案

   SQL> alter database create standby controlfile as 'c:\control01.ctl';拷貝該檔案到從庫C:\oracle\oradata\wbi目錄下

7、在主從庫使用NCA工具配置監聽程式以及本地NET服務名

主庫tnsnames.ora檔案

# TNSNAMES.ORA Network Configuration File: C:\oracle\ora92\network\admin\tnsnames.ora

# Generated by Oracle configuration tools.

STANDBY =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = wbi)

    )

  )

PRIMARY =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = wbi)

    )

  )

從庫tnsnames.ora

# TNSNAMES.ORA Network Configuration File: C:\oracle\ora92\network\admin\tnsnames.ora

# Generated by Oracle configuration tools.

STANDBY =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = wbi)

    )

  )

PRIMARY =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = wbi)

    )

  )

8、啟動主從庫OracleOraHome92TNSListener監聽服務

9、在主庫建立spfile

   SQL> create pfile='c:\initwbi.ora' from spfile;

   添加如下内容

   *.STANDBY_ARCHIVE_DEST='C:\oracle\ora92\database\archive'

*.FAL_SERVER='PRIMARY'

*.FAL_CLIENT='STANDBY'

*.standby_file_management='AUTO'

SQL> shutdown immediate;

SQL> create spfile from pfile='c:\initwbi.ora';(用于主庫切換成從庫後使用)

SQL> startup;

修改initwbi.ora中的控制檔案路徑

*.control_files='C:\oracle\oradata\wbi\CONTROL01.CTL'

把該檔案複制到從庫C:\oracle\ora92\database目錄下

複制主庫C:\oracle\ora92\database中的密鑰檔案PWDwbi.ora到從庫該目錄

10、建立從庫執行個體名

    C:\Documents and Settings\Administrator>oradim -new -sid wbi -pfile c:\oracle\ora92\database\initwbi.ora

    建立系統資料庫

    路徑:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0

    建立字元串值 數值名稱:oracle_sid   數值資料:wbi 

    重新開機從庫。

11、在從庫

    SQL> startup nomount;啟動執行個體

    SQL> alter database mount standby database;設定備庫為standby模式

    SQL> alter database recover managed standby database disconnect from session;開啟日志應用服務

12、在主庫

    SQL> alter system set log_archive_dest_2='service=standby mandatory reopen=60';在主庫設定到備庫的歸檔

13、驗證dataguard

在主庫

SQL> alter system switch logfile;手動歸檔

在從庫

是否能正常接收歸檔日志

SQL> select sequence#,first_time,next_time from v$archived_log order by sequence#;

檢視新的歸檔日志是否正常用于恢複

select sequence#,applied from v$archived_log order by sequence#;

14、在備庫查詢資料

SQL> alter database recover managed standby database cancel;

SQL> alter database open read only;

查詢完畢後恢複為恢複模式。

SQL>alter database recover managed standby database disconnect from session ;