天天看点

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 ;