马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
一、设置方案
环境阐明
脚色 主库 主库 备库 主机名 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 模式
检察数据库的模式:
- SQL> select LOG_MODE, OPEN_MODE, PROTECTION_MODE, DATABASE_ROLE, SWITCHOVER_STATUS, GUARD_STATUS, FORCE_LOGGING from v$database;
复制代码 在主库上开启逼迫日志 模式:
- SQL> alter database force logging;
- SQL> select force_logging from v$database;
- FOR
- ---
- YES
复制代码- --如果没有开始归档模式需要开启归档模式
- srvctl stop database -d orcl -o immediate
- srvctl start instance -d orcl -i orcl1 -o mount
- alter database archivelog;
- alter database open;
- srvctl start instance -d orcl -i orcl2
复制代码 2. RMAN备份主库
在rac节点上实行 RMAN 备份:
- $rman target /
- RMAN> run {
-
-
- allocate channel c1 type disk;
- allocate channel c2 type disk;
- backup as compressed backupset database format='/oracle/backup/%T_%d_%s_%p.bak';
- sql 'alter system archive log current';
- backup archivelog all format '/oradata/backup/arch_%d_%T_%s_%p.bak';
- backup format='/oracle/backup/%T_%d_%s_%p.ctl' current controlfile;
- release channel c1;
- release channel c2;
- }
复制代码 转达备份至备库:
3. 主库上监听和 TNS 设置
设置主库监听:对于 RAC 环境在grid用户下的$GRID_HOME/network/admin/listener.ora
- su - grid
- $cd $GRID_HOME/network/admin/
- $vi listener.ora
复制代码 示例设置:
- ##节点 1
- [grid@rac01 admin]$ cat listener.ora
- listener.ora Network Configuration File:
- /u01/app/11.2.0/grid/network/admin/listener.ora Generated by Oracle
- configuration tools.
- ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1 = ON
- SID_LIST_LISTENER =
- (SID_LIST =
- (SID_DESC =
- (GLOBAL_DBNAME = orcl)
- (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
- (SID_NAME = orcl1)
- )
- )
- LISTENER =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = IPC)(KEY = LISTENER))
- )
- ADR_BASE_LISTENER = /u01/app/grid
- ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER = ON
- LISTENER_SCAN1 =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = IPC)(KEY = LISTENER_SCAN1))
- )
- ADR_BASE_LISTENER_SCAN1 = /u01/app/grid
- ##节点 2,对应修改即可。
- [grid@rac02 admin]$ cat listener.ora
- listener.ora Network Configuration File: /u01/app/11.2.0/grid/network/admin/listener.ora
- Generated by Oracle configuration tools.
- ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1 = ON
- SID_LIST_LISTENER =
- (SID_LIST =
- (SID_DESC =
- (GLOBAL_DBNAME = orcl)
- (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
- (SID_NAME = orcl2)
- )
- )
- LISTENER =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = IPC)(KEY = LISTENER))
- )
- ADR_BASE_LISTENER = /u01/app/grid
- ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER = ON
- LISTENER_SCAN1 =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = IPC)(KEY = LISTENER_SCAN1))
- )
- ADR_BASE_LISTENER_SCAN1 = /u01/app/grid
- -- 这里写的 Oracle 用户的 ORACLE_HOME,否则连接时会报错:ORA-01031: insufficient privileges
复制代码 留意在 Oracle 11gR2 的 RAC 环境下,监听是在 grid 用户下设置的。以是这里可以用 grid 用户毗连,并修改。 末了重新加载监听。
将备库的 TNS 添加到主库两节点的 tnsnames.ora 中:
- $cd $ORACLE_HOME/network/admin
- $vi tnsnames.ora
复制代码 示例设置:
- ORCL =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.141)(PORT = 1521))
- (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.143)(PORT = 1521))
- (CONNECT_DATA =
- (SERVER = DEDICATED)
- (SERVICE_NAME = orcl)
- )
- )
- ORCLDG =
- (DESCRIPTION =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.191)(PORT = 1521))
- )
- (CONNECT_DATA =
- (SERVICE_NAME = orcl)
- )
- )
复制代码 4. 主库上修改参数
在节点一和节点二上设置以下参数:
- SQL> alter system set fal_server='orcldg';
复制代码 |