日期:2014-05-16  浏览次数:20403 次

DataGuard环境搭建

自己做的工作一直涉及的是单实例数据库,对容灾也没有特别高的要求,平时基本上是靠rman备份或是手工逻辑备份,所以一直想做一些关于dataguard的实验去验证一些感觉很棒的操作,本文参照了“三思”的一些文档搭建了一套这样的环境,很是兴奋,虽然对理论知识不是太理解,但是用实践来验证理论会更好的理解吧;下面是自己搭建dataguard环境时的一些简要记录:


创建主库,即在一台物理机上安装数据库软件及创建数据库作为主库,并启动到force logging 状态(alter database force logging;);

创建备库,在另一台物理机上只安装数据库软件作为备库,所有路径与主库一致;

在主库上创建备库的控制文件:SQL> alter database create standbycontrolfile as 'd:\backup\control.ctl';

关闭主库,把主库所有数据文件(如果备库没有相关目录,那么连带目录一并),拷贝到备库的相应位置,把创建的备库控制文件拷贝到拷贝到相应位置然后复制与主库一样的份数及名称;

拷贝主库的密码文件到备库的相应文件中;

修改主库的spfile 文件,主要是添加下列内容,修改的时候创建pfile,修改后再创建spfile:

*.log_archive_format='%T%S%r.ARC'

*.DB_UNIQUE_NAME='primary'

*.log_archive_config='DG_CONFIG=(primary,standby)'

*.log_archive_dest_1='location=F:\flash_recover_area\ORCL\ARCHIVELOGVALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PRIMARY'

*.log_archive_dest_2='SERVICE=standbyarch ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby'

*.STANDBY_FILE_MANAGEMENT=AUTO

*.LOG_ARCHIVE_DEST_STATE_1=ENABLE

*.LOG_ARCHIVE_DEST_STATE_2=ENABLE

*.FAL_SERVER='standby'

*.FAL_CLIENT='primary'

 

修改主库的tns,添加下列内容:

PRIMARY =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 45394bcd93e1473)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orcl)

    )

  )

 

STANDBY =

  (DESCRIPTION =

    (ADDRESS_LIST =

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

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orcl)

    )

  )

 

当然备库的spfile也得修改,主要添加下列内容:

*.log_archive_format='%T%S%r.ARC'

*.DB_UNIQUE_NAME='standby'

*.log_archive_config='DG_CONFIG=(primary,standby)'

*.log_archive_dest_1='location=F:\flash_recover_area\ORCL\ARCHIVELOGVALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=standby'

*.log_archive_dest_2='SERVICE=primaryarch ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=primary'

*.STANDBY_FILE_MANAGEMENT='AUTO'

*.LOG_ARCHIVE_DEST_STAT