Oracle 26ai搭建ADG Far Sync日志备库的实例

发布时间: 2026-04-15 11:30:36 来源: 互联网 栏目: oracle 点击: 6

《Oracle26ai搭建ADGFarSync日志备库的实例》文章介绍了Oracle12c的新功能:ActiveDataGuardFarSync的配置与使用,详细描述了在主库和备库上创建FarS...

1.DG Far Sync概述

Active Data Guard Far Sync是oracle 12c引入的新功能(也称为Far Sync Standby)
可以在主备库之间添加一个Far Sync实例,redo数据先由主库传输到Far Sync实例,再由于Far Sync实例转发给备库。

Oracle 26ai搭建ADG Far Sync日志备库的实例

2.配置环境

Oracle 26ai搭建ADG Far Sync日志备库的实例

强制日志、开归档
mkdir -p /u01/recovery
mkdir -p /u01/arch

SQL> set linesize 300
SQL> select name,open_mode,log_mode,force_logging,DATABASE_ROLE,
switchover_status from v$database;
SQL> alter database force logging;

数据库开归档
如果想开快速恢复区的设置,做如下操作
alter system set db_recovery_file_dest_size=1800g;
alter system set db_recovery_file_dest=‘/u01/recovery’;

开归档的方式如下:
alter system set log_archive_dest_1=‘location=/u01/arch’;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;

alter system switch logfile;

3.Far Sync实例

3.1 在主库上创建far sync实例的控制文件

ALTER DATABASE CREATE FAR SYNC
INSTANCE CONTROLFILE AS ‘/home/oracle/control01.ctl’;

3.2 创建Far Sync实例的pfile文件

create pfile=‘/home/oracle/pfile.init’ from spfile;

DB_UNIQUE_NAME=oradb
DB_FILE_NAME_CONVERT='/oradbst/','/oradb/'
LOG_FILE_NAME_CONVERT='/oradbst/','/oradb/'
FAL_SERVER=oradbst
LOG_ARCHIVE_CONFIG='DG_CONFIG=(oradb,oradbfs,oradbspythont)'
LOG_ARCHIVE_DEST_1='LOCATION=/u01/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=oradb'
LOG_ARCHIVE_DEST_2='SERVICE=oradbfs SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=oradbfs'
LOG_ARCHIVE_DEST_STATE_2=ENABLE
LOG_ARCHIVE_DEST_3='SERVICE=oradbst ASYNC NOAFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=oradbst'
LOG_ARCjsHIVE_DEST_STATE_3=ALTERNATE
standby_file_management=AUTO

3.3 在主库上以pfile启动并配置standbylogfile

startup pfile=‘/home/oracle/pfile.init’;
alter system set standby_file_management=manual;
添加standbylogfile

alter database add standby logfile group 4 (‘/u01/app/oracle/oradata/ORADB/standby_redo04.log’) size 200M;
alter database add standby logfile group 5 (‘/u01/app/oracle/oradata/ORADB/standby_redo05.log’) size 200M;
alter database add standby logfile group 6 (‘/u01/app/oracle/oradata/ORADB/standby_redo06.log’) size 200M;
alter database add standby logfile group 7 (‘/u01/app/oracle/oradata/ORADB/standby_redo07.log’) size 200M;
alter system set standby_file_management=AUTO;

3.4 生成spfile文件:

create spfile from pfile='/home/oracle/pfile.init';
将上面的控制文件和参数文件和密码文件复制到Far Sync实例所在的服务器。
将控制文件存放在/u01/app/oracle/oradata/oradbfs/control01.ctl
scp $ORACLE_HOME/dbs/orapworadb 
192.168.2.12:/u01/app/oracle/product/23.26.1/dbhome_1/dbs/
scp $ORACLE_HOME/dbs/orapworadb 
192.168.2.11:/u01/app/oracle/product/23.26.1/db_1/dbs/dbs

3.5 在far sync实例上配置pfile文件

DB_UNIQUE_NAME=oradbfs
DB_FILE_NAME_CONVERT='/ORADB/','/oradbfs/','/oradbst/','/oradbfs/'
LOG_FILE_NAME_CONVERT='/ORADB/','/oradbfs/','/oradbst/','/oradbfs/'
FAL_SERVER=oradb
LOG_ARCH轻语IVE_CONFIG='DG_CONFIG=(oradb,oradbfs,oradbst)'
LOG_ARCHIVE_DEST_1='LOCATION=/u01/arch 
VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=oradbfs'
LOG_ARCHIVE_DEST_2='SERVICE=oradbst 
ASYNC VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=oradbst'
LOG_ARCHIVE_DEST_STATE_2=ENABLE
standby_file_management=AUTO
service_names=oradb

3.6 创建监听和tnsnames.ora

将备库和far sync实例创建好监听后一起写入主库的tnsnames.ora中并拷贝至每个节点

–tns配置如下:

oradb =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST javascript= 192.168.2.14)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATE编程D)
      (SERVICE_NAME = oradb)
    )
  )
oradbfs =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.12)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = oradb)
    )
  )
oradbst =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.11)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = oradb)
    )
  )

–监听配置如下

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = oradb)
      (ORACLE_HOME = /u01/app/oracle/product/23.26.1/dbhome_1)
      (SID_NAME= oradb)
    )
   )
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = oradb)
      (ORACLE_HOME = /u01/app/oracle/product/23.26.1/db_1)
      (SID_NAME= oradb)
    )
   )

3.7 启动far sync到mount模式

export ORACLE_SID=oradb
startup nomount pfile=‘/home/oracle/pfile.init’;

rman target sys/oracle@oradb auxiliary sys/oracle@oradbfs

Oracle 26ai搭建ADG Far Sync日志备库的实例

duplicate target database for farsync from active database;

Oracle 26ai搭建ADG Far Sync日志备库的实例

4.备库搭建

在standby数据库上创建pfile文件

control_files='/u01/app/oracle/oradata/oradbst/control01.ctl'
DB_UNIQUE_NAME=oradbst
DB_FILE_NAME_CONVERT='/ORADB/','/oradbst/'
LOG_FILE_NAME_CONVERT='/ORADB/','/oradbst/'
FAL_SERVER='oradbfs','orad'
LOG_ARCHIVE_CONFIG='DG_CONFIG=(oradb,oradbfs,oradbst)'
LOG_ARCHIVE_DEST_1='LOCATION=/u01/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=oradbst'
LOG_ARCHIVE_DEST_2='SERVICE=oradbfs ASYNC VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=oradb'
LOG_ARCHIVE_DEST_STATE_2=ENABLE
standby_file_management=AUTO
service_names=oradb

恢复备库数据库
export ORACLE_SID=oradb
startup nomount pfile=‘/home/oracle/pfile.init’;

rman target sys/oracle@oradb auxiliary sys/oracle@oradbst

Oracle 26ai搭建ADG Far Sync日志备库的实例

duplicate target database for standby from active database dorecover nofilenamecheck;

Oracle 26ai搭建ADG Far Sync日志备库的实例

在备库启动Managed Recovery Process
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

在主库上查询日志应用情况
set lines 300
col dest_name for a20
select dest_name,status,error from v$archive_dest;

Oracle 26ai搭建ADG Far Sync日志备库的实例

将备库启动到ADG模式:
SQL> alter database recover managed standby database cancel;
SQL> alter database open;
SQL> alter pluggable database all open;
SQL> alter database recover managed standby database USING CURRENT LOGFILE disconnect from session;
SQL> select open_mode from v$database;

Oracle 26ai搭建ADG Far Sync日志备库的实例

到此这篇关于Oracle 26ai搭建ADG Far Sync日志备库的实例的文章就介绍到这了,更多相关Oracle ADG Far Sync日志备库内容请搜索轻语网(www.qingyu.net)以前的文章或继续浏览下面的相关文章希望大家以后多多支持轻语网(www.qingyu.net)!

本文标题: Oracle 26ai搭建ADG Far Sync日志备库的实例
本文地址: http://www.qingyu.net/shujuku/oracle/738616.html

如果本文对你有所帮助,在这里可以打赏

支付宝二维码微信二维码

  • 支付宝二维码
  • 微信二维码
  • 声明:凡注明"本站原创"的所有文字图片等资料,版权均属轻语网所有,欢迎转载,但务请注明出处。
    Oracle中将非分区表转换为分区表的最佳实践返回列表
    Top