Oracle -- 记一次ADG库迁移过程小结 -- 上篇(ADG建库)
背景:
客户新采购一批机器,需要把原ADG库数据移到新机器上,操作系统不变,数据库版本不变。
远程安装,采用xmanager软件连接搭建。
环境:
操作系统:Oracle Linux Server release 6.8
oracle数据库版本:11g r2 11.0.2.4
搭建思路:
1. Yum安装包,配ORACLE安装环境(主&从)
2. 创建用户和组(主&从)
--创建相关的组
--创建oracle用户 & 改口令
--修改oracle用户的系统环境变量 & 生效环境变量
--创建oracle用户所需的目录并修改的属主和属组 & 权限
3. 修改limits限制,编辑limits.conf 文件,增设oracle相关限制(主&从)
4. 编辑sysctl.conf文件,调整相关内核参数,并生效(主&从)
5. 给普通用户调用xserver的权利(主&从)
6. 解压数据库安装包,图形化界面安装数据库软件。(主&从)
7. dbca建实例(主)
1. 建实例前准备,了解原ADG库情况
-- 运行时间 # 了解原参数设置下,原数据库的稳定性情况
-- 表空间数量(永久,临时,undo),数据文件数量,临时文件数量, 大小 # 便于后续核对新ADG库创建的准确与否
-- 日志文件组数,成员数,大小,当前大小日志文件的切换频率 # 新库中日志文件大小可以根据需求进行调整
-- 非默认的静态参数 # 静态参数需要停库后调整,应在建库之初考虑好;此外涉及文件路径的静态参数一旦设定,后续除了调整参数,还需要调整物理文件位置和指针相对麻烦,更应该小心谨慎
-- 非默认的动态参数 # 如果方便,可以在建库之初提前预设好,实在是漏掉或改错,问题也不太大,后续可以在库运行时调整
-- 查看原库字符集信息 # 新库字符集应与原库相同,可以避免各种错误,具体会有哪些错误,详见百度。
2. dbca创建实例
-- 由于业务需求,开启了OMF(Oracle-Managed Files) # 开启OMF需要指定路径,默认是{ORACLE_BASE}/oradata下,可以根据数据文件规划的存放位置修改,特别注意,OMF会在设置的路径下,建立一个SID大写的文件夹,文件夹下在建立controlfile、datafile和onlinelog文件夹,自动管理的文件放于其下,我的sid为orcl,即有
/.../ORCL/controlfile
/datafile
/onlinelog
-- 原库未开启闪回区,新库保持风格也未开启 # 少了闪回区,控制文件数量减少为1,不符合安全需求,需后续增加
-- 根据得到的原库字符集,调整新库实例的字符集 # 不要漏改,后续调整相当误事
-- 修改最大processes # 静态参数,默认150,按需调整
-- 修改联机日志文件大小 # 参考原日志大小及切换情况
-- 最后有一个create database summary,建议保存,以便后续查对,及供后人学习
8. dbca生成实例的过程,部分参数无法修改,需要手动修改。(主)
-- sqlplus / as sysdba # 启动软件
-- startup # 启动实例,实例的sid已经提前改到oracle用户的环境变量
# 增加控制文件
-- show parameter control_files 或 select name from v$controlfile; # 获取控制文件位置
-- alter system set control_files='/.../xxx.ctl','/.../control02.ctl' scope=spfile; # 修改控制文件在spfile里的指针,位置1的控制文件为上面查到的,位置2的为新建的,我是放在OMF自动管理的文件夹下的,应该可以放在不同的地方,自行测试。
-- shut immediate # 停库
-- $ cp /.../xxx.ctl /.../control02.ctl # 控制文件的物理文件复制,完成与指针的位置的一致。
# 调整dbca建库时未完成调整的参数
-- create pfile from spfile # 由spfile得到pfile,此时controlfile指针已修改
-- 参照原库中的pfile文件,修改新库的pfile文件中的参数 # 特别关注各种设置的路径,启库之前,务必在操作系统中创建相应的真实路径,必要时修改权限
-- $ cp spfile spfile.bak # 备份现有spfile, pfile修改完毕后,会由pfile再次生成spfile,以便用spfile启库,若pfile修改错误,会无法启库,安全第一。
-- create spfile from pfile; # 得到spfile
-- 创建参数中提到,但实际没有的相关目录,并核对权限
-- startup mount; # 若参照原库设置的某些参数影响启库,可以先剔除,后续按需添加(通常为动态参数影响启库)
-- alter database archivelog; # 数据库开归档
-- alter database open; # 数据库开启
-- alter database force logging; # 数据库开增强日志模式
-- 创建备用联机日志文件(数量:联机+1)
9. 配置从库
-- 主库把口令文件传给从库 # 口令文件的名字根据备库的SID相应修改
-- 主库把pfile文件传给从库 # pfile文件的名字根据备库的SID相应修改
-- 从库修改pfile
数据文件名转换
日志名转换
名称,路径等涉及SID的相应调整
dg开关保持不变(主库,备库)的顺序
-- 从库根据pfile里的路径建立相应目录,并修改相关权限
-- create spfile from pfile;
-- startup nomount
10. 主从库都配置监听和TNS
11. 关闭防火墙
-- 临时关闭 & 永久关闭,避免开机后主从库断开连接
12. 测试主库是否能够ping通从库IP,以及是否能够tnsping通从库IP
13. RMAN连接主库和从库,复制主库到从库
14. 从库启动到open状态
-- alter database open;
15. 从库启动恢复进程,归档恢复 --> 日志实时恢复
至此 ADG 配置完毕