19.3 RAC主庫 到19.3單實例備庫dataguard 搭建

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

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章