在Oracle database 12中,甲骨文给DG引入了一个新特性【Far Sync】,用以解决远距离的数据传输延迟,也就是DG中,我们常说的GAP。
大致的实现方法是,在DG的主备节点之间创建一个【虚】实例,之所以称之为【虚】,是因为这个实例仅仅只有:
1. 参数文件
2. 控制文件
3. 密码文件

对,你没看错,该实例,没有数据文件。

官方的说明:
1. A far sync instance manages a control file, receives redo into standby redo logs (SRLs), and archives those SRLs to local archived redo logs, but that is where the similarity with standbys ends.

2. A far sync instance does not have user data files, cannot be opened for access, cannot run redo apply, and can never function in the primary role or be converted to any type of standby database.

Oracle官方,对于该实例的具体说明在下面的链接中:
1. https://docs.oracle.com/database/121/SBYDB/create_fs.htm#SBYDB5416
2. http://www.oracle.com/technetwork/database/availability/farsync-2267608.pdf

由于该链接是全英文的,所以我会按照官方文档的提示,在自己的环境中将这个新特性实现一遍,当然了,你看到的会是中文版,并且有详细的实验日志以及命令过程的笔记。

——————————————
架构脑图:

——————————————

首先,说明一下我的环境:

主库:
10.158.1.96,dg12c1

Far Sync:
10.158.1.98,dg12c3

备库:
10.158.1.97,dg12c2

数据库实例:lenka
监听器端口:1521

db_unique_name / TNSNAMES:
1. dg12c1,lenka_primary
2. dg12c2,lenka_standby
3. dg12c3,lenka_fsi

变量指向的路径:
log_archive_dest_1,/oradata/archivelog

——————————————
此外,在我的环境中 1 / 2 的ADG已经是做好了的。
因此对于下面的配置来说,只需要改变参数即可。

关于12c ADG的配置,可以参考我以前的笔记(在本网站就可以搜索到)。
——————————————

主:
创建针对FSI(Far Sync Instance)的控制文件。

创建主库的PFILE:

参数文件:主库

参数文件:Far Sync

参数文件:备库

将密码文件,传送到FarSYNC以及Standby:

——————————
创建:Far SYNC

将前面创建的针对Far SYNC的控制文件拷贝到Far SYNC服务器:
主库操作:

将前面创建的Far SYNC的参数文件,放置到Far SYNC的指定目录中:
主库操作:

Far SYNC,重命名:

FAR SYNC:启动数据库到NOMOUNT

FAR SYNC:恢复控制文件

Far SYNC:打开数据库MOUNT:

Far SYNC:创建SPFILE

——————————————
备库:
由于开始本文之前,我的备库其实已经是做好了的。
所以,这一部分的配置没有那么的详细,仅仅是涉及到参数的修改而已。

主库端将前面写好的关于备库端的参数文件拷贝到备库端服务器上:

主库操作:

备库端:
备份原参数文件:

以新的参数文件启动:

——————————
Oracle Listener与TNS的配置:

主:

Far SYNC:

备:

TNS的部分都是一样的:

启动Far SYNC的时候注意:
1. 首先,启动主库和备库
2. 备库打开DG同步
3. 最后将Far SYNC启动到MOUNT阶段

Far SYNC启动后,观察日志,你可能会发现这样的告警:

这个时候,你查看数据库的DG状态,会是如下的样子:

其实不用太在意这个报错,…
如果,主库增加了新的日志,那么,等待一段时间后,会出现Far SYNC与主库建立了连接的记录:

这时候再查看DG的状态:

去检查Far SYNC的日志目录,会发现也有记录了:

这样,Far SYNC 就搭建好了。

——————————
此外,Far SYNC的日志中,你也可能会看到这样的报错:

因为Convert的参数没有设置,… 但是,它们并不会影响 Far SYNC的同步机制。

——————————————————
Done。

打赏

历史上的今天:

  1. 2018:  心域:2018年10月31日(0)

说点什么

avatar

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

  Subscribe  
提醒