灾备环境建设案例
2019-11-26西安王金国北京高鹏
西安 王金国 北京 高鹏
拓扑图如图1 所示。
系统环境及软件要求,如表1 所示。存储空间规划如表2 所示。
图1 系统拓扑结构
表1 系统及软件要求
部署重点
1.Oracle 12C数据库自“12.2”以后的RAC 环境已经完全取消了对GPFS文件系统的支持,用户只能选择使用Oracle 公司提供的ASM 组件管理RAC 数据库文件,如果用户的灾备环境转换为ASM(RAC 环境)-ASM(RAC 环境)的灾备系统,没有选择其它文件系统的可能性,结果就是用户不得不将灾备系统的共享存储空间全部划归ASM作为数据库空间使用,无法作为普通操作系统级文件系统使用。很多时候带来了存储空间的巨大浪费,采用ASM(RAC 环境)-GPFS(单实例环境) 的灾备系统,可以更好地有效利用共享存储空间,并且这些文件可以直接作为操作系统可见,避免了ASM 崩溃后带来的很多头痛问题。
2.主要步骤
(1)修 改主库、灾备库Tnsnames.ora 文件,确保主库、灾备库节点间均可以通过数据库(TNS)别名互访。使用vi 编辑器分别编辑$ORACLE_HOME/network/admin/tnsnames.ora 文件,并包含如下四个TNS 信息:
表2 存储空间规划
(2)修改主数据库为日志模式,使用如下命令:
(3)在主数据库中执行命令生成数据库参数文件,使用如下命令:
(4)将生成的Oracle 书库参数文件通过网络传入灾备数据库主机节点$ORACLE_HOME/dbs 目录下,并修改为如下格式:
用户需要根据自己的实际情况进行修改,其中“control_files”为定义的控制文件目录,“db_create_file_dest”为数据文件创建目录,“db_name”为定义的容器数据库,“db_file_name_convert”为主、备数据库数据文件对应目录,“log_file_name_convert”为主、备数据库日志文件对应目录,“pdb_file_name_convert”为主、备数据库插拔数据库数据文件对应目录,用户需要根据自己的存储规划进行填写。
(5)在主数据库中执行全库备份之后,同时执行创建当前控制文件命令,具体命令如下:
完成后将“dbfull”拷贝到灾备数据库主机节点对应目录。
(6)在主数据库节点使用grid 用户登录,将保存在ASM 中的数据库密码文件通过ASMCMD 提供的pwcopy 命令复制到本机文件系统并导入到灾备数据库主机节点$ORACLE_HOME/dbs 并修改为orapw+sid 命名方式,准备进行灾备库全库恢复。
(7)在主数据库节点使用grid 用户登录,并使用asmcmd 对ASM 文件系统目录进行梳理,并在灾备库对应节点目录依次建立相应同名目录。测试中发现,如果目录缺失,灾备库在第一次全库回复是会报如下错误:
用户在进行第一次全库恢复是一定要认真进行主、备库目录结构的确认,避免以上严重错误的发生,这也是该灾备应用系统创建过程中的难点和最需要细心的步逐。
(8)以Oracle 用户登录灾备数据库节点主机并使用之前创建的参数文件启动数据库,命令如下:
(9)使用rman 命令进行灾备库全库恢复,命令如下:
待rman 界面出现“Finished Duplicate Db at 21-JUN-19”内容,即完成灾备库全库恢复。
(10)在主数据库节点中执行如下语句:
在灾备数据库节点执行如下语句:
通过在主、备数据库上使用“select message from gv$dataguard_status”“select process,status,thread#,sequence# from gv$managed_standby”语 句以及在灾备数据库上使用“select process,status,thread#,sequence# from gv$managed_standby”语 句查询恢复完成所有主库全库备份后产生的归档。
(11)以只读方式打开灾备库,并进行归档实时同步:
①sqlplus/ as sysdba
alter database recover managed standby database cancel;
终止同步后台进程(终止前需要检查V$log 中的主、备日志序列SCN 号)。
②使用如下命令:
此时灾备数据库将以只读方式打开,可以供查询用户使用。
③使用如下命令:
启动灾备数据库后台实时同步进程。
主库使用select thread#,SEQUENCE# from gv$log;
备库使用select thread#,SEQUENCE# from v$standby_log;
对比SEQUENCE#数,确认数据库同步状态。
至此ASM(RAC 环境)-GPFS(单实例环境)的灾备系统建立完成并可以自动完成数据库与主库实时同步,并向查询用户提供实时数据查询服务。
后记
作为业界企业级的Oracle 数据库的很多新特性给用户带来了很多便利,同时也因为ASM 的唯一选择也带来了很多维护和故障恢复的复杂度,通过ASM-GPFS 这样的灾备系统,我们可以将ASM 封装的数据文件重新映射成了简单的文件系统级文件,避免了ASM 故障后数据文件恢复的技术难度,同时也更好地避免了存储空间完全交由ASM 管理带来的操作系统级无法使用这些存储空间的尴尬和资源浪费,提高了设备的使用率。