Oracle 11g Active Data Guard搭建、管理(7)

****************** 网络优化 **************************

1Oracle Net Session DataUnit (SDU) Size

Oracle Net在将数据进行网络传输的时候,先将数据放在SDU中,该参数在10gR2默认为2k,适当增加大小,可以提高网络性能和利用率。

Oracle推荐该参数取值为32767(最大值),有两种办法调整该参数。

配置listener.ora和tnsnames.ora,增加SDU描述,需要注意,在connect descriptor中配置SDU并不对动态服务注册生效,通过动态注册服务的connect,将继承sqlnet.ora中的DEFAULT_SDU_SIZE配置。加入如下:

(SDU=32767)

2、Network Device QueueSizes

为了避免tcp上的缓存溢出,需要增加网络设备的队列大小。以Linux为例,存在两种队列:transmit queue(传送队列)/receive queue(接收队列)。

发送队列由txqueuelen控制,接收队列由netdev_max_backlog控制。

修改/etc/sysctl.conf,增加如下:

# for Oracle data guard optimize

net.core.netdev_max_backlog = 20000

修改/etc/rc.local ,增加如下:

# for Oracle data guard optimize

echo 1 > /proc/sys/net/ipv4/route/flush

ifconfig eth0 txqueuelen 10000

****************** 闪回数据库在data guard中的使用 **************************

可用于临时开发数据查询、测试。测试完毕再恢复备库到正常DG状态



1、物理备库需要先开启闪回数据库

检查数据库的flashback database模式和闪回日志存放的目录。

SQL> select flashback_on from v$database;

SQL> show parameter db_recovery_file

2、取消备库日志应用,并创建一个激活之前的还原点

SQL> select process,status fromv$managed_standby;

SQL> recover managed standby database cancel;

SQL> create restore point test_scn guarantee flashback database;

准备主数据库

3、归档当前日志文件。

在主数据库上,切换日志使得还原点(在步骤 1 中创建)的 SCN 将在物理备数据库上被归档:

SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;

当使用备重做日志文件时,这个步骤是必须的以确保数据库能被正确地闪回到还原点。

4、延迟指向将被激活的备的日志归档目的地。

SQL> ALTER SYSTEM SETLOG_ARCHIVE_DEST_STATE_2=DEFER;

SQL> show parameter log_archive_dest_state_2

NAME TYPE VALUE

----------------------------------------------- ------------------------------

log_archive_dest_state_2 string DEFER

激活物理备数据库

在物理备数据库上,执行下述步骤:

5、激活物理备数据库并打开到open状态

SQL> ALTER DATABASE ACTIVATE STANDBY DATABASE;

SQL> ALTER DATABASE OPEN;

一旦备数据库已经被激活,你能运行报表工具或执行其它测试并激活几天甚至几周,独立于主数据库。

警告:当数据库被激活时,它不从主数据库接收重做数据库并不能提供灾难保护。建议至少有

两个物理备数据库参与配置,使得主数据库保持对数据丢失的保护。

恢复激活的数据库回到物理备数据库

在你完成测试之后,你需要重新与主数据库同步激活的数据库。在激活的数据库上执行

下面语句以快速闪回它到保障的还原点并将它重新与主数据库同步:

1、备库执行

SQL> shutdown immediate

SQL> startup mount

SQL> flashback database to restore point test_scn;

SQL> alter database convert to physical standby;

SQL> select status from v$instance;

SQL> shutdown immediate

SQL> startup mount

SQL> recover managed standby database disconnect;

2、重新允许归档到物理备数据库目的地

在主数据库上,执行下面语句来重新允许归档到物理备数据库:

SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/0daa89d8e248aa8f8e0e67d68181ff6c.html