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
192.168.248.103

learnmachine

standy

orcl

orcl

RACDG

192.168.248.110

配置安装

RAC主库准备工作:

1.RAC主库必须是归档模式

DATA GUARD搭建

2.RAC主库必须设置为ForceLogging模式
SQL> alter database force logging;

3. RAC主库执行RMAN全备

DATA GUARD搭建

DATA GUARD搭建

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

  1. 修改备库参数文件

DATA GUARD搭建

   上图为已修改完成的备库参数文件

主库与备库的tnsname.ora和listener.ora修改

主库tnsname.ora文件内容

DATA GUARD搭建

主库listener.ora文件内容

DATA GUARD搭建

备库tnsname.ora文件内容

DATA GUARD搭建

备库listener.ora文件内容

DATA GUARD搭建

 

 

 

创建备库

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;

DATA GUARD搭建

备库执行查询

select dbid,name,current_scn,protection_mode,database_role,force_logging,open_mode,switchover_status from v$database;

DATA GUARD搭建

成功

整个搭建过程出现问题及时查找alert日志分析问题

 

查看备库归档应用状态

select process,status,thread#,sequence#,client_pid from v$managed_standby;

如果出现归档传输异常,手工的注册日志: 

SQL> ALTER DATABASE REGISTER LOGFILE '路径';