最近准备给一个生产项目上oracle 11g DataGuard,主备均为oracle 11.2.0.4软件,并在备库安装软件。这篇不讲述 DataGuard 的原理,只是oracle 11g DataGuard 搭建的详细过程。这次是生产库的RAC需要做一个DG,由于不知道SYS 用户密码,需要取回密码太麻烦,故不能使用 duplicate 方式,使用rman 全备 -->还原控制文件--> mount数据库还原数据文件 --> 追加日志 --> 主备同步。搭建过程中只需要修改部分参数以及网络监听,故不需要停机可白天完成,下面开始进入主题。
1、生产环境信息
系统名称
系统平台
IP地址
数据库版本
数据量
XXXX系统
Linux
192.168.3.101
11.2.0.4.0
180G
XXXX系统
Linux
192.168.3.102
11.2.0.4.0
主库: Linux 环境下 Oracle 11.2.0.4 RAC,使用ASM 文件系统。
备库: Linux 环境下Oracle 11.2.0.4 单机文件系统管理。
2、环境安装配置
2.1 环境需求
备库操作系统平台和版本要求与主库(生产库)一致。
备库数据库软件版本要求与主库(生产库)一致。
2.2 环境检查
确认主备数据库版本(关注企业版、标准版区别,标准版支持DG功能,不支持ADG)
确认数据数据文件存放位置(ASM或者文件系统)
确认数据库开启归档模式(若未开启归档,需与应用沟通开归档变更实施)
确认网络连通性
主备分别执行:
2.3 备库安装 Oracle 数据库软件
2.3.1 AIX环境参数配置
2.3.1.1 确认系统包
2.3.1.2 编辑 hosts 文件
2.3.1.3 创建用户组和用户
2.3.1.4 编辑环境变量
2.3.1.5 修改内核文件
2.3.1.6 修改内存参数
2.3.1.7 修改网络参数
2.3.2 HPUX 环境参数配置
2.3.2.1 编辑 hosts 文件
2.3.2.2 创建用户组和用户
2.3.2.3 编辑环境变量
2.3.2.4 修改端口范围
2.3.2.5 设置 core 文件创建信息
2.3.2.6 添加 ssh 网络连接
2.3.2.7 修改配置参数
2.3.3 Linux 环境参数配置
2.3.3.1 检查系统包
2.3.3.2 编辑 hosts 文件(主机名和IP对应)
2.3.3.3 修改配置参数
2.3.3.4 修改环境变量
2.3.3.5 配置内核参数
2.3.3.6 修改资源限制
2.3.3.7 修改登陆配置文件
2.3.4 Oracle 软件安装
执行 ./runInstaller 出现安装界面(本节主要是参考,截图为RAC 不过搭建 MAA 时也可参考此文)
1.选择只安装软件
2.选择跳过软件更新
3.勾选两个节点
4.从左边栏选择添加 simpfied chinese
5.选择企业版
6.设置 oracle_base 和软件安装目录
7.选择用户组
8.等待自动环境检查结束
9.点击“安装”
11.安装完成,点击“关闭”
2.3.5 创建 Oracle 监听
使用 netca 命令打开图形界面,配置数据库默认监听,这里直接贴图就欧克没啥可说的了。
3、配置Oracle DataGuard
3.1 打开数据库强制日志
确认数据库日志模式
打开强制日志
3.2 创建备库密码文件
(有坑,一定要同步,RAC 的话,需要将节点一同步至节点2 再将节点1 密码文件传至备库,密码文件、参数文件名的大小写需要一致,不然也会出问题)
3.3 创建 standby 日志组
查看原生产库的日志信息,大小与原生产库保持一致:
添加 standby 日志组(日志组最好比主库多一至两组,这样可以确保在主库业务量较大的情况下不至于备库来不及应用备库日志)
3.4 修改主库参数文件
3.4.1 直接修改参数文件方式
创建pfile文件:
添加以下参数:
创建spfile:
3.4.2 使用命令在数据库启动状态下进行参数修改:
将此 pfile 传至备库去修改,然后使用 pfile 启动到 nomount
最最后一步记得重新创新spfile,下次启动时则可以自动使用spfile启动。
create spfile from pfile;
3.5 创建备库参数文件
传输主库参数文件到备库:
修改备库参数文件:
3.6 主备库添加网络服务名
3.7 备库添加监听静态注册
4、 数据库初始化
4.1 备份初始化恢复(两种方式)
4.1.1 远程在线初始化(不知主库sys密码)
利用rman的duplicate生成备库:
4.1.2 利用 rman 备份片生成备库:
将备份传输至备库
使用 pfile 启动至 nomount 状态,恢复控制文件
启动数据库至 mount
指定 catalog 还原、恢复数据库
恢复过程中报错可忽略
4.2 启动备库日志应用
或者使用实时的日志应用
查看备库同步情况
4.3 取消应用日志然后启动备库为read only(11g新特性)
使用实时的日志应用
查看备库同步情况
4.4 验证 DataGuard 状态
查询数据库角色:
查询备库日志应用进程:
查看日志应用状态,确保每一个日志都可以被应用:
查看备库同步情况
4.5 主备库切换测试
将备库的角色切换为主库:
5 、备库应急切换测试
模拟情景由于主库故障无法正常 switchover,需要执行 failover,强制备库切换为主库并接管业务
5.1 停止应用恢复模式
5.2 转换备库为主库
5.3 重启数据库进行业务测试
6. 重新生成 DataGuard 备库
由于切换测试已经将 DataGuard 进行了 failover 类型的切换,所以无法进行逆向操作,只能重新 进行 DataGuard 的数据初始化,重复第四章节即可。
最后,以上步骤我以整理成文档,公众号【JiekeXu之路】后台回复【ADG下载】获取百度云链接,习惯用 github 的也提供了下载链接,可自行回复关键字选择下载。
推荐阅读:
模拟真实环境下超简单超详细的 MySQL 5.7 安装
(长按添加微信公众号,更多精彩内容不错过!)
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员