Oracle -- 记一次ADG库迁移过程小结 -- 上篇(ADG建库)

Posted mihoke611

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 配置完毕

以上是关于Oracle -- 记一次ADG库迁移过程小结 -- 上篇(ADG建库)的主要内容,如果未能解决你的问题,请参考以下文章

记一次从oracle到hive的历史数据迁移

others-记一次图床迁移过程

others-记一次图床迁移过程

others-记一次图床迁移过程

ORACLE 19C ADG遇到一次奇怪的ORA-12154错误

ORACLE 19C ADG遇到一次奇怪的ORA-12154错误