背景:
客户新采购一批机器,需要把原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 配置完毕