oracle的farsync,Oracle DataGuard Far Sync Instance配置

Oracle DataGuard Far Sync Instance配置

Far Sync Instance(以下简单FSI)是Oracle 12C DataGuard(以下简称DG)的一个新特性,FSI的作用是一个日志中转站.

在以前的版本中主库的日志直接转发到备库上,通过引入FSI后,主库转发日志到FSI上,再由FSI转发到备库上。通过该功

能可以实现减轻主库的压力,比如主库和FSI之间可以配置成sync affrim模式,再由FSI和备库配成async模式.而主库可以

和FSI位置很近,减少到远端的备库的延迟等等各种好处.FSI需要Active Dataguard的单独许可.

在原来已经配置好的一个主备环境中,在加入一个FSI,使用FSI来转发日志.FSI只有控制文件和Standby Redolog,没有自

己的数据文件

1,  在主库上创建一个控制文件用来做为FSI的控制文件

SQL> alter database create far sync instance controlfile as '/home/oracle/controlfar.ctl';

Database altered.

SQL> create pfile='/home/oracle/far.ora' from spfile;

File created.

2,在FSI的机器上,定义一个far实例,该实例充当FSI

[oracle@fsi ~]$ export ORACLE_SID=far

[oracle@fsi ~]$ cd $ORACLE_HOME/dbs

[oracle@fsi dbs]$ cp orapwsys orapwfar --拷贝原主库的密码文件到FSI的机器上

3,在fsi的机器上,对far实例进行静态注册

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = far)

(ORACLE_HOME = /u01/app/oracle/product/12.1/db_1)

(SID_NAME = far)

)

)

4,在主库上增加一个到far的TNS条目

far =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.245.101)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = far)

)

)

5,修改far的参数,启动mount实例,然后增加STANDBY LOGFILE

*.compatible='12.1.0.0.0'

enable_pluggable_database=true

*.control_files='/u01/app/oracle/far/controlfar.ctl'

*.db_block_size=8192

*.db_create_file_dest='/u01/app/oracle/oradata'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=sysXDB)'

*.log_archive_dest_1='location=/u01/app/oracle/archfar valid_for=(ALL_LOGFILES,ALL_ROLES) db_unique_name=far'

*.log_archive_dest_2='service=dgtt valid_for=(standby_logfiles,standby_role) db_unique_name=dgtt'

*.sga_target=460m

*.open_cursors=300

*.processes=500

*.remote_login_passwordfile='EXCLUSIVE'

*.sessions=555

db_unique_name=far

db_name=sys

fal_server='sys'

log_archive_config='DG_CONFIG=(dgtt,far,sys)'

SQL>  startup pfile='/home/oracle/far.ora' mount force;

ORACLE instance started.

Total System Global Area  480182272 bytes

Fixed Size                  2289784 bytes

Variable Size             373297032 bytes

Database Buffers           96468992 bytes

Redo Buffers                8126464 bytes

Database mounted.

SQL> create spfile from pfile='/home/oracle/far.ora';

File created.

SQL> startup mount force

SQL> alter database add standby logfile group 4 '/home/oracle/4.log' size 50m;

SQL> alter database add standby logfile group 5 '/home/oracle/5.log' size 50m;

仅测试目的放到/home/oracle目录下

6,修改主库参数设置

SQL> alter system set log_archive_config='DG_CONFIG=(far,sys,dgtt)';

SQL> alter system set log_archive_dest_2='service=far valid_for=(online_logfiles,primary_role) db_unique_name=far';

System altered.

7,在备库上修改参数

SQL> alter system set log_archive_config='DG_CONFIG=(far,sys,dgtt)';

System altered.

到此使用FSI来中继日志传输的配置已经完成,在主库上模拟日志切换,可以发现主,FSI,备库中的alert.log中都有反映。当我们

手动关闭FSI后,发现在主库和备库的alert.log报错,在主库上模拟日志切换,发现已经不能传到备库上去了,证明我们的FSI的配

置已经实现了。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部