Oracle 11g R2 RAC 到单实例 Data Guard 搭建(RMAN备份方式)

[复制链接]
发表于 2025-12-18 01:19:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一、设置方案

环境阐明

     脚色    主库    主库    备库              主机名    rac01    rac02    racdg          公网IP    10.10.10.141    10.10.10.143    10.10.10.191          VIP    10.10.10.142    10.10.10.144    -          SCAN    10.10.10.140    10.10.10.140    -          INSTANCE_NAME    orcl1    orcl2    orcl          DB_NAME    orcl    orcl    orcl          SERVICE_NAME    orcl    orcl    orcl          DB_UNIQUE_NAME    orcl    orcl    orcldg          存储模式    ASM    ASM    文件体系    文件体系规划

     主库    备库              +DATADG/orcl/datafile    /oradata/datafile          +DATADG/orcl/tempfile    /oradata/tempfile          +ARCDG/orcl/onlinelog, +DATADG/orcl/onlinelog    /oradata/onlinelog          +ARCDG/    /oradata/arch    操纵步调

1. 主库上设置 Force Logging 模式

检察数据库的模式:
  1. SQL> select LOG_MODE, OPEN_MODE, PROTECTION_MODE, DATABASE_ROLE, SWITCHOVER_STATUS, GUARD_STATUS, FORCE_LOGGING from v$database;
复制代码
在主库上开启逼迫日志日志模式:
  1. SQL> alter database force logging;
  2. SQL> select force_logging from v$database;
  3. FOR
  4. ---
  5. YES
复制代码
  1. --如果没有开始归档模式需要开启归档模式
  2. srvctl stop database -d orcl -o immediate
  3. srvctl start instance -d orcl -i orcl1 -o mount
  4. alter database archivelog;
  5. alter database open;
  6. srvctl start instance -d orcl -i orcl2
复制代码
2. RMAN备份主库

在rac节点上实行 RMAN 备份:
  1. $rman target /
  2. RMAN> run {
  3.    
  4.    
  5.     allocate channel c1 type disk;
  6.     allocate channel c2 type disk;
  7.     backup as compressed backupset database format='/oracle/backup/%T_%d_%s_%p.bak';
  8.     sql 'alter system archive log current';
  9.         backup archivelog all format '/oradata/backup/arch_%d_%T_%s_%p.bak';
  10.     backup format='/oracle/backup/%T_%d_%s_%p.ctl' current controlfile;
  11.     release channel c1;
  12.     release channel c2;
  13. }
复制代码
转达备份至备库:
  1. $ scp /oracle/backup/20210418* [email protected]:/oradata/backup
复制代码
3. 主库上监听和 TNS 设置

设置主库监听:对于 RAC 环境在grid用户下的$GRID_HOME/network/admin/listener.ora
  1. su - grid
  2. $cd $GRID_HOME/network/admin/
  3. $vi listener.ora
复制代码
示例设置:
  1. ##节点 1
  2. [grid@rac01 admin]$ cat listener.ora
  3. listener.ora Network Configuration File:
  4. /u01/app/11.2.0/grid/network/admin/listener.ora  Generated by Oracle
  5. configuration tools.
  6. ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1 = ON
  7. SID_LIST_LISTENER =
  8.   (SID_LIST =
  9.     (SID_DESC =
  10.       (GLOBAL_DBNAME = orcl)
  11.       (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
  12.       (SID_NAME = orcl1)
  13.     )
  14.   )
  15. LISTENER =
  16.   (DESCRIPTION =
  17.     (ADDRESS = (PROTOCOL = IPC)(KEY = LISTENER))
  18.   )
  19. ADR_BASE_LISTENER = /u01/app/grid
  20. ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER = ON
  21. LISTENER_SCAN1 =
  22.   (DESCRIPTION =
  23.     (ADDRESS = (PROTOCOL = IPC)(KEY = LISTENER_SCAN1))
  24.   )
  25. ADR_BASE_LISTENER_SCAN1 = /u01/app/grid
  26. ##节点 2,对应修改即可。
  27. [grid@rac02 admin]$ cat listener.ora
  28. listener.ora Network Configuration File: /u01/app/11.2.0/grid/network/admin/listener.ora
  29. Generated by Oracle configuration tools.
  30. ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1 = ON
  31. SID_LIST_LISTENER =
  32.   (SID_LIST =
  33.     (SID_DESC =
  34.       (GLOBAL_DBNAME = orcl)
  35.       (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
  36.       (SID_NAME = orcl2)
  37.     )
  38.   )
  39. LISTENER =
  40.   (DESCRIPTION =
  41.     (ADDRESS = (PROTOCOL = IPC)(KEY = LISTENER))
  42.   )
  43. ADR_BASE_LISTENER = /u01/app/grid
  44. ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER = ON
  45. LISTENER_SCAN1 =
  46.   (DESCRIPTION =
  47.     (ADDRESS = (PROTOCOL = IPC)(KEY = LISTENER_SCAN1))
  48.   )
  49. ADR_BASE_LISTENER_SCAN1 = /u01/app/grid
  50. -- 这里写的 Oracle 用户的 ORACLE_HOME,否则连接时会报错:ORA-01031: insufficient privileges
复制代码
  留意在 Oracle 11gR2 的 RAC 环境下,监听是在 grid 用户下设置的。以是这里可以用 grid 用户毗连,并修改。 末了重新加载监听。
  将备库的 TNS 添加到主库两节点的 tnsnames.ora 中:
  1. $cd $ORACLE_HOME/network/admin
  2. $vi tnsnames.ora
复制代码
示例设置:
  1. ORCL =
  2.   (DESCRIPTION =
  3.     (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.141)(PORT = 1521))
  4.     (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.143)(PORT = 1521))
  5.     (CONNECT_DATA =
  6.       (SERVER = DEDICATED)
  7.       (SERVICE_NAME = orcl)
  8.     )
  9.   )
  10. ORCLDG =
  11. (DESCRIPTION =
  12.   (ADDRESS_LIST =
  13.     (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.191)(PORT = 1521))
  14.   )
  15.   (CONNECT_DATA =
  16.     (SERVICE_NAME = orcl)
  17.   )
  18. )
复制代码
4. 主库上修改参数

在节点一和节点二上设置以下参数:
  1. SQL> alter system set fal_server='orcldg';
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表