暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

手工冷备搭建 Oracle 11g DataGuard 物理备库

JiekeXu之路 2019-07-23
829


本文通过手工冷备+pfile文件的方式,搭建oracle11g dataguard 物理备库。在搭建前的规划中,特意将主库的数据库名和服务名、备库的文件存放位置等等做了差异处理。
在进行初始化参数文件的配置时,也进行了最小化处理。这样能够更好的理解DataGuard搭建所需要的的日志传输、应用所需参数配置。

【实验环境】

    操作系统:Red Hat Enterprise Linux Server release 5.4
    数据库:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0


    【DG主库、物理备库结构信息】



    【搭建过程】

    1、主库上 强记日志

    alter database force logging;

    所有都记日志,nologging 无效。

    防止主库上有操作不记日志。产生主从库差异。


    2、创建口令文件 确保日志传输时的权限

    主库创建口令文件,scp到从库、修改名称

    是远程用户sysdba权限可以登录

    echo $ORACLE_SID

    orapwd file=$ORACLE_HOME/dbs/orapwBJ password=oracle entries=3 force=y

    scp到从库


    scp orapwBJ shanghai.lxh.net:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/

    oracle@shanghai.lxh.net's password:

    orapwBJ              100% 1536     1.5KB/s   00:00   

    oracle@beijing.lxh.net:/u01/app/oracle/product/11.2.0/dbhome_1/dbs>

     从库上改名


     3、【主库的初始化参数】

      DB_NAME=DGDB
      DB_UNIQUE_NAME=beijing
      LOG_ARCHIVE_CONFIG='DG_CONFIG=(beijing,shanghai)'
      CONTROL_FILES='/u01/app/oracle/oradata/DGDB/control01.ctl', '/u01/app/oracle/oradata/DGDB/control02.ctl'
      LOG_ARCHIVE_DEST_1'LOCATION=/home/oracle/beijing/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES)  DB_UNIQUE_NAME=beijing'
      LOG_ARCHIVE_DEST_2= 'SERVICE=sh ARCH ASYNC NOAFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=shanghai'
      LOG_ARCHIVE_DEST_STATE_1=ENABLE
      LOG_ARCHIVE_DEST_STATE_2=ENABLE 


      LOG_ARCHIVE_CONFIG='DG_CONFIG=(beijing,shanghai)' 控制心跳

      SERVICE=sh      tns,要能连到备库 服务名

      ARCH      传递归档

      ASYNC    异步传输

      NOAFFIRM  从库是否收到主库不用确认

      如果主库参数中有审计目录等,备库需创建相应目录

      在实验情况下,可删除主库、从库 审计和审计目录 删除OMF管理路径
      重启数据库 看是否有效

      4、主库备份数据文件、日志文件(冷备cp)


        shutdown immediate;
        cd u01/app/oracle/oradata/DGDB
        cp *.dbf u02/backup/DGDB/
        cp *.log u02/backup/DGDB/

         

        如果是rman备份,必须要先备份,再创建standby控制文件。

        5、主库开归档、开库



        6、主库生成standby控制文件


          alter database create standby controlfile as '/u02/backup/DGDB/control.std';


          至此,standby 控制文件 、所有数据文件、redo日志文件 全部在/u02/backup/DGDB目录下。

          7、打包压缩后scp到备库 

          打包

          oracle@beijing.lxh.net:/u02/backup> tar -cvf DGDB.tar DGDB/


          压缩 gzip DGDB.tar


          scp到备库

          scp DGDB.tar.gz shanghai.lxh.net:/u02/oradata/


          备库解压 gunzip DGDB.tar.gz


          解包 tar –xvf DGDB.tar


          改名

          复制 standby控制文件 生成两个备库的控制文件

          scp 初始化参数文件pfile到备库 修改文件名

            scp beijing.lxh.net:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initBJ.ora $ORACLE_HOME/dbs/

             

              mv initBJ.ora initSH.ora

              8、【备库初始化参数文件】

              控制文件路径

              db_unique_name

              本地归档路径:log_archive_dest_1=

              删除dest_2

              添加数据文件、日志文件 位置转换


                *.control_files='/u02/oradata/sh/control01.ctl','/u02/oradata/sh/control02.ctl'
                DB_NAME=DGDB
                DB_UNIQUE_NAME=shanghai
                LOG_ARCHIVE_CONFIG='DG_CONFIG=(beijing,shanghai)'
                LOG_ARCHIVE_DEST_1=
                'LOCATION=/u02/arch/sh/
                VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
                DB_UNIQUE_NAME=shanghai'
                LOG_ARCHIVE_DEST_STATE_1=ENABLE

                 

                  FAL_SERVER=bj
                  FAL_CLIENT=sh
                  DB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/DGDB','/u02/oradata/sh'
                  LOG_FILE_NAME_CONVERT='/u01/app/oracle/oradata/DGDB','/u02/oradata/sh'
                  STANDBY_FILE_MANAGEMENT=AUTO


                  FAL_SERVER=bj    如果归档或日志有gap差异,从库向主库请求日志
                  FAL_SERVER=sh

                  STANDBY_FILE_MANAGEMENT=AUTO   主库创建文件,从库自动创建。

                  9、配置监听

                  主库监听配置listener

                   


                  LISTENER =

                    (DESCRIPTION_LIST =

                      (DESCRIPTION =

                        (ADDRESS = (PROTOCOL = TCP)(HOST = beijing.lxh.net)(PORT = 1521))

                        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

                      )

                    ) 

                   从库监听配置



                   LISTENER =

                    (DESCRIPTION_LIST =

                      (DESCRIPTION =

                        (ADDRESS = (PROTOCOL = TCP)(HOST = shanghai.lxh.net)(PORT = 1521))    

                        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

                      )

                    )

                   10、配置tnsnames

                  主库配一个tnsnames

                  从库配两个tnsnames 

                  sh =

                    (DESCRIPTION =

                      (ADDRESS = (PROTOCOL = TCP)(HOST = shanghai.lxh.net)(PORT = 1521))

                      (CONNECT_DATA =

                        (SERVER = DEDICATED)

                        (SERVICE_NAME = shanghai)

                      )

                    )

                   

                  bj =

                    (DESCRIPTION =

                      (ADDRESS = (PROTOCOL = TCP)(HOST = beijing.lxh.net)(PORT = 1521))

                      (CONNECT_DATA =

                        (SERVER = DEDICATED)

                        (SERVICE_NAME = beijing)

                      )

                    )

                  11、启动从库到mount状态

                  mount 从库


                   查看备库数据库身份

                    select database_role from v$database;


                     查看主库身份


                     12、从库进行standby recover  开始应用日志

                    【重启库后需再次执行】

                      alter database recover managed standby database disconnect from session;

                        root@shanghai.lxh.net:/root> tail -f u01/app/oracle/diag/rdbms/shanghai/SH/trace/alert_SH.log


                        13、验证同步成功

                        主库切日志组

                        从库跟踪文件

                          tail –f u01/app/oracle/diag/rdbms/shanghai/SH/trace/alert_SH.log


                          【实验总结】

                          本次实验,使用了手工冷备主库数据文件、scp到备库的方式,一步一步搭建dataguard物理备库。最主要的是突出主库、备库参数文件的配置。

                          参数文件:主库增加远程归档目录;备库增加FAL挖掘日志GAP、CONVERT进行目录转换。

                          控制文件:主库生产standby控制文件作为备库的控制文件。
                          数据文件:备库使用主库冷备的数据文件。

                          作者:海星星hktk

                          原文链接:http://blog.itpub.net/29475508/viewspace-1260963/

                          80%


                          推荐阅读:

                          Linux Oracle 11.2.0.4 单机数据库升级至最新补丁安装指北

                          万字详解Oracle架构、原理、进程,学会世间再无复杂架构

                          模拟真实环境下超简单超详细的 MySQL 5.7 安装

                          Oracle 11GR2 RAC 最新补丁 190416 安装指导

                          Oracle 11gR2 RAC 集群服务启动与关闭总结

                          CentOS6.7安装PostgreSQL10.9详细教程

                          史上最全的 OGG 基础知识整理


                          资源分享:


                          5T 技术资源大放送!包括但不限于:Linux,Python,Oracle,MySQL,Java,前端,大数据,具体获取方式可添加我微信获取~~~



                          长按添加微信公众号,更多精彩内容不错过!

                          码字不易,点赞、转发是一种对作者的鼓励!  

                          最后修改时间:2020-03-24 17:11:41
                          文章转载自JiekeXu之路,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                          评论