DATA GUARD搭建
DATA GUARD搭建
由于本机电脑资源有限,则将RAC2节点服务器关闭,暂时只开启RAC1节点和DG服务器。
Standby库只需要安装数据库软件,不必创建数据库
主从库的数据库软件大版本必须一致,且必须是企业版数据库
测试环境介绍:
host |
database roles |
DB name |
DB SIDs |
DB unique name |
IP |
rac1,rac2 |
primary |
orcl |
orcl1,orcl2 |
orcl |
192.168.248.101 |
learnmachine |
standy |
orcl |
orcl |
RACDG |
192.168.248.110 |
配置安装
RAC主库准备工作:
1.RAC主库必须是归档模式
2.RAC主库必须设置为ForceLogging模式
SQL> alter database force logging;
3. RAC主库执行RMAN全备
4. RAC主库执行创建物理备库控制文件
SQL> alter database create standby controlfile as '/home/oracle/backup/st.ctl';
Database altered.
5. RAC主库创建物理备库初始化参数文件
SQL> create pfile='/home/oracle/backup/test.ora' from spfile;
File created.
修改主库参数文件
rac1:/home/oracle/backup$vi test.ora
在文件中添加
*.service_names= learnmachine
*.log_archive_config='dg_config=( ORCL, RACDG)'
*.log_archive_dest_3='service=RACDG valid_for=(online_logfiles,primary_role) db_unique_name=RACDG'
*.db_file_name_convert='+DATA/ORCL/DATAFILE','/u01/app/oracle/orcl/datafile','+DATA/ORCL/TEMPFILE','/u01/app/oracle/orcl/tempfile'
*.log_file_name_convert='+DATA/ORCL/ONLINELOG/','/u01/app/oracle/orcl/datafile'
*.standby_file_management='auto'
*.fal_server='RACDG'
关闭RAC
Srvctl stop database –d orcl
创建spfile文件
SQL>create spfile='+DATA/ORCL/spfileORCL.ora' from pfile='/home/oracle/backup/test.ora';
File created.
DG库准备工作:
1.修改.bash_profile文件(用户目录下)
export ORACLE_SID=orcl
export ORACLE_UNQNAME=RACDG
2.将备份文件传递到备库
rac1:/home/oracle/backup$scp *.bak 192.168.248.110:/home/oracle/backup/
rac1:/u01/app/oracle/product/11.2.0/db_1/dbs$scp orapworcl1 192.168.248.110:/u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl
rac1:/$scp /home/oracle/backup/test.ora 192.168.248.110:/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora
- 修改备库参数文件
上图为已修改完成的备库参数文件
主库与备库的tnsname.ora和listener.ora修改
主库tnsname.ora文件内容
主库listener.ora文件内容
备库tnsname.ora文件内容
备库listener.ora文件内容
创建备库
1.备库启动到nomount状态:
Startup pfile='/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora' nomount;
2.RMAN恢复备库控制文件
restore standby controlfile from '/home/oracle/backup/st.ctl ';
3.MOUNT物理备库
SQL> alter database mount;
4.restore 备库
检查备份集
RMAN> crosscheck backupset
恢复备库
RMAN> restore database;
5.备库创建standbylogfile
SQL> alter database add standby logfile thread 1 group 5('/u01/app/oracle/orcl/datafile /st_1_5.rdo') size 50M;
RAC每个redo thread都需要创建对应的standby redo log。创建原则:文件大小相等,日志组数数量要多一组
开始同步
1.启动MRP
SQL> recover managed standby database disconnect from session;
2.备库READONLY方式打开
SQL> alter database recover managed standby database cancel;
Database altered.
SQL> alter database open read only;
Database altered.
SQL> alter database recover managed standby database using current logfile disconnect from session;
Database altered.
安装完成检查
rac主库执行查询
select dbid,name,current_scn,protection_mode,database_role,force_logging,open_mode,switchover_status from v$database;
备库执行查询
select dbid,name,current_scn,protection_mode,database_role,force_logging,open_mode,switchover_status from v$database;
成功
整个搭建过程出现问题及时查找alert日志分析问题
查看备库归档应用状态
select process,status,thread#,sequence#,client_pid from v$managed_standby;
如果出现归档传输异常,手工的注册日志:
SQL> ALTER DATABASE REGISTER LOGFILE '路径';