当前位置:Gxlcms > mysql > Oracle11gDataGuard使用总结

Oracle11gDataGuard使用总结

时间:2021-07-01 10:21:17 帮助过:57人阅读

Oracle 11g的dataguard相比于10g来说,最优越的特性应该算就是active dataguard了,这一点改进在很大意义上促使用户需要把数据库

Oracle 11g的dataguard相比于10g来说,最优越的特性应该算就是active dataguard了,这一点改进在很大意义上促使用户需要把数据库从10g升级到11g,读写分离在这个时候得到了升华,而且在后台会根据需要进行数据的同步,相比于使用10g,想读数据的时候把数据库启动到read only 阶段,但这个时候不接受日志同步数据,如果需要同步数据还需要把数据库再启动到mount阶段,感觉还是比较繁琐的。

11g的active dataurad功能很强大,同时搭建的时候使用rman 的duplicate选项在11g也得到了很大的改进,我们不需要专门去做一个备份,就可以直接在备库上通过duplicate把数据文件从主库传送到备库,同时做恢复,整个过程更加简洁。

当然了一般的系统是一主一备,关键的系统甚至要一主两备,如果系统多了,手工管理很容易搞糊涂,这个时候还是用加强版的dg broker来做吧,以前在10g的时候感觉还是手工管理,手工switchover,failover比较踏实,因为也在10g的过程中switchover,failover出现过一些问题,算是留下了一些阴影,到了11g的时候,工作中大量使用,就尝试着自己试了试,发现确实很好,而且搭建备库步骤比手工搭建要轻松的多。所以还是需要拥抱变化,勇敢接受新事物,一方面可以给自己疗伤,一方面恢复使用的信心,至少在灾难发生的时候回临危不乱。

我们来简单看一个例子,怎么结合dg broker来搭建dataguard,步骤相比手工要简化很多,而且可靠性要高很多,因为人为去做的检查点,在dg broker的检查中都会去做。

出了设置主库为归档模式,force logging之外。

我们所要做的就是配置网络监听。当然这个也不是难点,listener.ora tnsnames.ora主备是很相似的。

比如我们使用1523的端口在primary和standby之间互联

listener.ora 主库和备库的host部分不一样


LISTENER_1523 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.xxxxx.45)(PORT = 1523))
)
)
)

SID_LIST_LISTENER_1523 =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = test11g)
(ORACLE_HOME = /DATA/app/oracle/product/11.2.0.4)
(SID_NAME = test11g)
)
)

tnsnames.ora 主库备库一致
TEST11G =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.xxxxx.45)(PORT = 1523))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = test11g)
)
)

STEST11G =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.xxxxxx.46)(PORT = 1523))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = test11g)
)
)

然后就是使用tnsping开始检查,检查防火墙,等等
添加备库日志
主库查看日志情况,可以使用下面的方法检查一下。
SQL> select member,group#,status from v$logfile
MEMBER GROUP# STATUS
-------------------------------------------------- ---------- -------
/DATA/app/oracle/oradata/test11g/redo03.log 3
/DATA/app/oracle/oradata/test11g/redo02.log 2
/DATA/app/oracle/oradata/test11g/redo01.log 1
SQL> select group#,status,bytes,blocksize,status from v$log;
GROUP# STATUS BYTES BLOCKSIZE STATUS
---------- ---------------- ---------- ---------- ----------------
1 INACTIVE 52428800 512 INACTIVE
2 CURRENT 52428800 512 CURRENT
3 INACTIVE 52428800 512 INACTIVE
添加备库日志的语句类似:
ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 '/DATA/app/oracle/oradata/test11g/redo04.log' SIZE 524288000;
修改下面的数据库参数,
alter system set standby_file_management=auto scope=both;
alter system set dg_broker_start=TRUE scope=both;
alter system set local_listener=TEST11G scope=both;

检查dmon的情况
SQL> !ps -ef|grep dmon_test11g
oracle 8129 1 0 11:25 ? 00:00:00 ora_dmon_test11g
oracle 8138 8108 0 11:25 pts/0 00:00:00 /bin/bash -c ps -ef|grep dmon_test11g
oracle 8140 8138 0 11:25 pts/0 00:00:00 grep dmon_test11g

查看dg broker的日志,,开始的时候没有配置文件,会重新创建。
DMON: cannot open configuration file "/DATA/app/oracle/product/11.2.0.4/dbs/dr2test11g.dat"
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
DMON: cannot open configuration file "/DATA/app/oracle/product/11.2.0.4/dbs/dr2test11g.dat"
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Configuration does not exist, Data Guard broker ready

数据库alert日志:
Mon Jul 27 11:25:15 2015
DMON started with pid=26, OS id=8129
Starting Data Guard Broker (DMON)
Mon Jul 27 11:25:23 2015

接着拷贝密码文件,参数文件(spfile)到备库

人气教程排行