ORACLE 中的RAC特性保护的是实例,RMAN特性保持的是数据,而Dataguard特性则是连实例带数据一块"保"了,三个特性相互配合能够在一定程度上构建一个安全可靠高可用的ORACLE数据库平台。

  之前三思笔记系列文章分别描述过RAC的创建、RMAN管理以及Dataguard特性应用等方面的内容,本文将通过实践,演示如何为RAC数据库创建Dataguard配置。

一、做足准备工作

  Dataguard 环境的配置就跟谈恋爱似的,不是一个人说了算,必须要两个人(Primary db+Standby db)相互配合。不过在这两个真正搭上线之前,临出门拾掇拾掇还是非常有必要的,最起码得照照镜子,看看眼神够不够犀利,腰肢够不够芙蓉,做好往前推三百年,往后推三百年,总共六百年无人超越的思想准备。

  我个人认为,DBA是个很严谨的岗位,因此同样要求从事这项工作的人也尽可能严谨,准备这个事儿呢,是为了让后续的操作更稳妥。对于Dataguard环境的创建,这个准备并不复杂,就当是环境初始化吧,如果看过之前的三思笔记--一步一步学Dataguard,那么本步准备工作就可以直接跳过了。

  设定环境如下:

    Primary :

    Db_unique_name :jssdb

    IP :192.168.10.11/12

    DB Version :10.2.0.4

    Storage :ASM

    Standby :

    Db_unique_name :jssstd

    IP :192.168.10.101

    DB Version :10.2.0.4

    Storage :local disk

  准备工作如下:

  • Standby 端$ORACLE_BASE/admin/下创建相应trace目录;
  • Primary 和Standby端修改listener.ora和tnsnames.ora文件,配置监听和本地的网络服务名,要确保两端通过tnsping能够互通;
  • Primary 端置归档及force logging状态;
  • 查询Primary端主要文件的路径并记录,一方面是为了后续路径转换,另外一方面省的复制文件时错过了什么,语句如下:

    SQL> select name from v$datafile;

    NAME

    --------------------------------------------------------------------------------------------------------

    +ASMDISK1/jssdb/datafile/system.260.703671683

    +ASMDISK1/jssdb/datafile/undotbs1.259.703671695

    +ASMDISK1/jssdb/datafile/sysaux.266.703671697

    +ASMDISK1/jssdb/datafile/undotbs2.258.703671705

    +ASMDISK1/jssdb/datafile/users.257.703671709

    +ASMDISK1/jssdb/datafile/jsstbs.269.703779631

    6 rows selected.

    SQL> select name from v$tempfile;

    NAME

    ----------------------------------------------------------------------------------------------------------

    +ASMDISK1/jssdb/tempfile/temp.265.703671701

    SQL> select member from v$Logfile;

    MEMBER

    ---------------------------------------------------------------------------------------------------------

    +ASMDISK1/jssdb/onlinelog/group_1.263.703671679

    +ASMDISK1/jssdb/onlinelog/group_2.261.703671681

    +ASMDISK1/jssdb/onlinelog/group_3.256.703672257

    +ASMDISK1/jssdb/onlinelog/group_4.268.703672257
  • Primary db 创建一份有效的全库备份;
  • Primary db 创建一个Standby控制文件。