19.3 RAC主库 到19.3单实例备库dataguard 搭建

本文详细介绍了如何将19.3版的RAC主数据库转换为19.3版的单实例备用数据库,通过归档模式切换、备库参数配置、监听和tnsname.ora设置,以及实时同步操作等步骤,实现Data Guard的搭建。
摘要由CSDN通过智能技术生成

19.3 RAC主库 到19.3单实例dataguard 搭建

系统环境:

准备:

检查主库的force logging

Select inst_id,force_logging from gv$database

Alter database force logging;(修改完立刻生效)

 

检查数据库的归档模式

Archive log list;

改归档模式

Srvctl stop database -d orcl -o immediate

Srvctl status database -d orcl

Srvctl stop database -d orcl -o mount

Alter database archivelog;

Alter database open;

Archive log list;

 

修改主库的注册信息

Srvctl config database -d orcl -a

Srvctl remove database -d orcl -f

Srvctl add db -d orclpri -c RAC -o $OrACLE_HOME -p $SPFILE -r primary

Srvctl add instance -d orclpri -i orcl1 -n rac01

Srvctl add instance -d orclpri -i orcl2 -n rac02

Srvctl status db -d orclpri

Srvctl start db -d orclpri

Srvctl config db -d orclpri -a

 

主库添加standby redo log

Select * from v$log;

Select * from v$standby_log;

 

添加redolog

Alter database add standby logfile thread 1 group 5 size 200M,group 6 size 200M,group 7 size 200M;

Alter database add standby logfile thread 2 group 8 size 200M,group 9 size 200M,group 10 size 200M;

Set linesize 1000

Col member for a70

Select * from v$logfile;

 

修改主库参数文件(修改spfile之前一定要备份)

Alter system set db_unique_name=’orclpri’ scope=spfile sid=’*’;

Alter system set log_archive_config=’DG_CONFIG=(orclpri,orclphy)’ sid=’*’;

Alter system set log_archive_dest_1=’LOCATION=use_DB_RECOVERY_FILE_DEST db_unique_name=orclpri valid_for=(ALL_LOGFILES,ALL_ROLES)’ scope=spfile sid=’*’;

Alter system set log_archive_dest_2=’SERVICE=tns_orclphy LGWR ASYNC db_unique_name=orclphy valid_for(ONLINE_LOGFILES,PRIMARY_ROLE)’ sid=’*’;

Alter system set db_file_name_comvert=’+data’,’+data’ scope=spfile sid=’*’;

Alter system set log_file_name_comvert=’+data’,’+data’ scope=spfile sid=’*’;

Alter system set log_archive_dest_state_1=enable sid=’*’;

Alter system set log_archive_dest_state_2=enable sid=’*’;

Alter system set log_archive_max_processes=4 sid=’*’;

Alter system set remote_login_passwordfile=’EXCLUSIVE’ scope=spfile sid=’*’;

Alter system set standby_file_management=’AUTO’ sid=’*’;

Alter system set fal_server=’orclphy’ sid=’*’;

Alter system set fal_client=’orclpri’ sid=’*’;

 

配置主库和备库的监听

主库:未做修改,两个节点保持一致,监听文件在grid-home目录下

LISTENER_SCAN1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))) # line added by Agent

LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))) # line added by Agent

ASMNET1LSNR_ASM=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=ASMNET1LSNR_ASM)))) # line added by Agent

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_ASMNET1LSNR_ASM=ON # line added by Agent

VALID_NODE_CHECKING_REGISTRATION_ASMNET1LSNR_ASM=SUBNET # line added by Agent

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent

VALID_NODE_CHECKING_REGISTRATION_LISTENER=SUBNET # line added by Agent

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1=ON # line added by Agent

VALID_NODE_CHECKING_REGISTRATION_LISTENER_SCAN1=OFF # line added by Agent - Disabled by Agent because REMOTE_REGISTRATION_ADDRESS is set

 

备库

在grid用户下,可以设置针对DG的监听器,也可以使用默认的listener监听器。

#Backup file is  /oracle/app/grid/crsdata/orclphy/output/listener.ora.bak.orclphy.grid line added by Agent

# listener.ora Network Configuration File: /oracle/app/12.2.0/grid/product/db_1/network/admin/listener.ora

# Generated by Oracle configuration tools.

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

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

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    )

  )

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = pdb)

(ORACLE_HOME = /oracle/app/oracle/product/12.2.0/db_1)

(SID_NAME = orclphy)

)

(SID_DESC =

(GLOBAL_DBNAME = orclphy)

(ORACLE_HOME = /oracle/app/oracle/product/12.2.0/db_1)

(SID_NAME = orclphy)

)

)

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent

VALID_NODE_CHECKING_REGISTRATION_LISTENER=ON # line added by Agent

 

配置主库和备库的tnsname.ora

Vi $ORACLE_HOME/network/admin/tnsnames.ora

Vi $GRID_HOME/network/admin/tnsnames.ora

注意:tns文件是在oracle用户下配置,但是也需要将oracle用户下的tns文件的内容同步更新的grid用户下,内容如下

orclpri =

(DESCRIPTION =

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

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orclpri)

)

)

 

orclphy =

(DESCRIPTION =

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

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

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orclphy)

)

)

 

在节点cehsi

Tnsping orcipri

Tbsping orclphy

配置主库的密码文件,三个节点的密码文件密码保持一致

Orapwd file=orapwrac01 password=ziqiyuan format=12 force=y

Orapwd file=orapwrac02 password=ziqiyuan format=12 force=y

Orapwd file=orapworclphy password=ziqiyuan format=12 force=y

 

启动备份库到nomount状态

export ORACLE_SID=orclphy

echo ‘db_name=orcl’ >$ORACLE_HOME/dbs/initorclphy.ora

Sqlplus / as sysdba

Startup nomount pfile=$ORACLE_HOME/dbs/initorclphy.ora

Rman target database sys/ziqiyuan@orclpri auxiliary database sys/ziqiyuan@orclphy

 

duplicate target database for standby nofilenamecheck from active database dorecover spfile

set db_unique_name='orclphy'

set log_archive_dest_1='LOCATION=+data valid_for=(all_logfiles,all_roles) db_unique_name=orclphy'

set log_archive_dest_2='service=tns_orclpri async lgwr register valid_for=(online_logfile,primary_role) db_unique_name=orclpri'

set fal_server='tns_orclpri'

set fal_client='tns_orclphy'

set control_files='+data','+data'

set db_file_name_convert='+data','+data'

set memory_target='2500m'

set audit_file_dest='/oracle/app/oracle/admin/orcl/adump'

set db_create_file_dest = '+data'

set cluster_database='false'

set log_file_name_convert='+data','+data'

set standby_file_management='AUTO';

复制完成后修改pfile参数 将集群参数删除(thread,undotablespace,sid)

 

srvctl add database -db orclphy -dbname orcl -o /oracle/app/oracle/product/12.2.0/db_1 -p '/oracle/app/oracle/product/12.2.0/db_1/dbs/spfileorclphy.ora' -r physical_standby

启动备库

执行实时同步脚本

SQL>Alter database recover managed standby database using current logfile disconnect;

 

主库操作:

SQL> alter session set container=pdb;

Session altered.

SQL>

SQL> alter database open;

Database altered.

SQL>

SQL> select * from haha;

        ID

----------

         9

        19

         9

SQL> insert into haha values(1);

1 row created.

SQL> commit;

Commit complete.

 

备库查看同步情况

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED

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

         2 PDB$SEED                       READ ONLY  NO

         3 PDB                            MOUNTED

SQL> alter session set container=pdb;

Session altered.

SQL> alter database open;

Database altered.

SQL> select * from haha;

        ID

----------

         9

         1

        19

         9

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值