暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【19c rac+adg】oracle 19c rac-adg搭建

原创 yang 2023-02-02
3348

一、设置环境变量:

主库:

节点一:

[oracle@19c01 admin]$ cat ~/.bash_profile

# .bash_profile

 

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi

 

# User specific environment and startup programs

 

PATH=$PATH:$HOME/.local/bin:$HOME/bin

 

export PATH

export ORACLE_SID=orcl1

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/19.3.0/db_1

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

alias  oracle='sqlplus / as sysdba'

[oracle@19c01 admin]$

 

节点二:

[oracle@19c02 admin]$ cat ~/.bash_profile

# .bash_profile

 

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi

 

# User specific environment and startup programs

 

PATH=$PATH:$HOME/.local/bin:$HOME/bin

 

export PATH

export ORACLE_SID=orcl2

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/19.3.0/db_1

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

alias  oracle='sqlplus / as sysdba'

[oracle@19c02 admin]$

 

 

备库:

[oracle@19cdg admin]$ cat ~/.bash_profile

# .bash_profile

 

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi

 

# User specific environment and startup programs

 

PATH=$PATH:$HOME/.local/bin:$HOME/bin

 

export PATH

export ORACLE_SID=orcldg

export ORACLE_UNQUENAME=orcldg

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/19.3.0/db_1

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

alias  oracle='sqlplus / as sysdba'

[oracle@19cdg admin]$

 

 

 

二、设置主库归档,开启强制写日志

开启归档:

关闭节点一,节点二

SQL> shutdown immediate

SQL> startup mount

SQL> alter system set log_archive_dest_1='location=+FRA' scope=spfile sid='*';

SQL> alter database archivelog;

SQL> alter database open;

SQL> archive log list

 

SQL> alter database force logging;

 

 

三、主库密码文件拷贝传递到备库

ASMCMD> pwget --dbuniquename orcl

+DATA/ORCL/PASSWORD/pwdorcl.256.1118078353

 

ASMCMD> pwcopy +DATA/ORCL/PASSWORD/pwdorcl.256.1118078353 /tmp/orapworcldg

 

[oracle@19c01 admin]$ scp /tmp/orapworcldg 19cdg@$ORACLE_HOME/dbs/orapworcldg

 

 

四、配置主备库网络

主库:

节点一:

[grid@19c01 admin]$ cd $ORACLE_HOME/network/admin

[grid@19c01 admin]$ cat listener.ora

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

LISTENER_SCAN1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1))))                # 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_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

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON              # line added by Agent

VALID_NODE_CHECKING_REGISTRATION_LISTENER=SUBNET                # line added by Agent

 

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (GLOBAL_DBNAME = orcl)

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

      (SID_NAME = orcl1)

    )

  )

 

[grid@19c01 admin]$

 

[oracle@19c01 ~]$ cd $ORACLE_HOME/network/admin

[oracle@19c01 admin]$

[oracle@19c01 admin]$ cat tnsnames.ora

# tnsnames.ora Network Configuration File: /u01/app/oracle/product/19.3.0/db_1/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

 

ORCL =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = cluster-19c-scan)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )

 

ORCL1 =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )

 

 

ORCL2 =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )

 

ORCLDG =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcldg)

    )

  )

 

[oracle@19c01 admin]$

 

节点二:

[grid@19c02 ~]$ cd $ORACLE_HOME/network/admin

[grid@19c02 admin]$ cat listener.ora

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

 

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (GLOBAL_DBNAME = orcl)

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

      (SID_NAME = orcl2)

    )

  )

[grid@19c02 admin]$

 

[oracle@19c02 admin]$ cat tnsnames.ora

# tnsnames.ora.19c02 Network Configuration File: /u01/app/oracle/product/19.3.0/db_1/network/admin/tnsnames.ora.19c02

# Generated by Oracle configuration tools.

 

ORCL =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = cluster-19c-scan)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )

 

ORCL1 =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )

 

 

ORCL2 =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )

 

ORCLDG =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcldg)

    )

  )

[oracle@19c02 admin]$

 

备库:

[oracle@19cdg admin]$ cat listener.ora

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (GLOBAL_DBNAME = orcldg)

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

      (SID_NAME = orcldg)

    )

  )

 

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS_LIST =

        (ADDRESS = (PROTOCOL = TCP)(HOST = 19cdg)(PORT = 1521))

      )

    )

  )

 

[oracle@19cdg admin]$

 

 

[oracle@19cdg admin]$ cat tnsnames.ora

ORCL =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )

 

ORCL1 =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )

 

 

ORCL2 =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )

 

ORCLDG =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcldg)

    )

  )

[oracle@19cdg admin]$

 

 

测试网络连接(主库2节点+备库):

[oracle@19cdg admin]$ tnsping orcl

 

TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 11-NOV-2022 19:04:13

 

Copyright (c) 1997, 2019, Oracle.  All rights reserved.

 

Used parameter files:

 

 

Used TNSNAMES adapter to resolve the alias

Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.162.110)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))

OK (0 msec)

[oracle@19cdg admin]$ tnsping orcl1

 

TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 11-NOV-2022 19:04:15

 

Copyright (c) 1997, 2019, Oracle.  All rights reserved.

 

Used parameter files:

 

 

Used TNSNAMES adapter to resolve the alias

Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.162.100)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))

OK (0 msec)

[oracle@19cdg admin]$ tnsping orcl2

 

TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 11-NOV-2022 19:04:16

 

Copyright (c) 1997, 2019, Oracle.  All rights reserved.

 

Used parameter files:

 

 

Used TNSNAMES adapter to resolve the alias

Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.162.200)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))

OK (10 msec)

[oracle@19cdg admin]$ tnsping orcldg

 

TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 11-NOV-2022 19:04:19

 

Copyright (c) 1997, 2019, Oracle.  All rights reserved.

 

Used parameter files:

 

 

Used TNSNAMES adapter to resolve the alias

Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.162.150)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcldg)))

OK (10 msec)

[oracle@19cdg admin]$

 

五、修改主库参数

orcl1.__data_transfer_cache_size=0

orcl2.__data_transfer_cache_size=0

orcl1.__db_cache_size=398458880

orcl2.__db_cache_size=394264576

orcl1.__inmemory_ext_roarea=0

orcl2.__inmemory_ext_roarea=0

orcl1.__inmemory_ext_rwarea=0

orcl2.__inmemory_ext_rwarea=0

orcl1.__java_pool_size=0

orcl2.__java_pool_size=0

orcl1.__large_pool_size=4194304

orcl2.__large_pool_size=4194304

orcl1.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment

orcl2.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment

orcl1.__pga_aggregate_target=264241152

orcl2.__pga_aggregate_target=264241152

orcl1.__sga_target=792723456

orcl2.__sga_target=792723456

orcl1.__shared_io_pool_size=29360128

orcl2.__shared_io_pool_size=29360128

orcl1.__shared_pool_size=343932928

orcl2.__shared_pool_size=348127232

orcl1.__streams_pool_size=0

orcl2.__streams_pool_size=0

orcl1.__unified_pga_pool_size=0

orcl2.__unified_pga_pool_size=0

*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'

*.audit_trail='db'

*.cluster_database=TRUE

*.compatible='19.0.0'

*.control_files='+DATA/ORCL/CONTROLFILE/current.261.1056020927'

*.db_block_size=8192

*.db_create_file_dest='+DATA'

*.db_file_name_convert='/u01/app/oracle/oradata/orcldg/','+DATA/ORCL/DATAFILE/'

*.db_name='orcl'

*.db_recovery_file_dest_size=10737418240

*.db_recovery_file_dest='+DATA'

*.diagnostic_dest='/u01/app/oracle'

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

*.fal_client='orcl'

*.fal_server='orcldg'

family:dw_helper.instance_mode='read-only'

orcl1.instance_number=1

orcl2.instance_number=2

*.local_listener='-oraagent-dummy-'

*.log_archive_config='DG_CONFIG=(orcl,orcldg)'

*.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl'

*.log_archive_dest_2='SERVICE=orcldg LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcldg'

*.log_archive_dest_state_1='ENABLE'

*.log_file_name_convert='/u01/app/oracle/oradata/orcldg/','+DATA/ORCL/ONLINELOG/'

*.nls_language='AMERICAN'

*.nls_territory='AMERICA'

*.open_cursors=300

*.pga_aggregate_target=252m

*.processes=300

*.remote_login_passwordfile='exclusive'

*.sga_target=756m

*.standby_file_management='AUTO'

orcl2.thread=2

orcl1.thread=1

orcl1.undo_tablespace='UNDOTBS1'

orcl2.undo_tablespace='UNDOTBS2'

 

 

 六、备库参数文件配置

备库服务器配置一般和主库存在差异,建议先在备库根据实际环境创建一个数据库(开启归档和闪回,db_name、字符集要与主库一致),然后保留pfile删库,修改备库的配置文件,或者从其他单实例拷贝文本参数文件来修改。

*.audit_file_dest='/u01/app/oracle/admin/orcldg/adump'

*.audit_trail='db'

*.compatible='19.0.0'

*.control_files='/u01/app/oracle/oradata/orcldg/control01.ctl','/u01/app/oracle/oradata/orcldg/control02.ctl'

*.db_block_size=8192

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

*.db_domain=''

*.db_name='orcl'

*.db_unique_name='orcldg'

*.diagnostic_dest='/u01/app/oracle'

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

*.fal_client='orcldg'

*.fal_server='orcl'

*.log_archive_config='DG_CONFIG=(orcl,orcldg)'

*.log_archive_dest_1='LOCATION=/oradata/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcldg'

*.log_archive_dest_2='SERVICE=orcl LGWR ASYNC VALID_FOR=(ALL_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl'

*.log_archive_dest_state_1='enable'

*.log_archive_dest_state_2='enable'

*.db_file_name_convert='+DATA/ORCL/DATAFILE','/u01/app/oracle/oradata/orcldg','+DATA/ORCL/TEMPFILE','/u01/app/oracle/oradata/orcldg'

*.log_file_name_convert='+DATA/ORCL/ONLINELOG','/u01/app/oracle/oradata/orcldg'

*.log_archive_format='%t_%s_%r.dbf'

*.log_archive_max_processes=8

*.open_cursors=300

*.pga_aggregate_target=781m

*.processes=150

*.remote_login_passwordfile='exclusive'

*.standby_file_management='AUTO'

*.sga_target=2340m

*.undo_tablespace='UNDOTBS1'

 

 

七、按照备库pfile创建目录:

mkdir -p /u01/app/oracle/admin/orcldg/adump

mkdir -p /u01/app/oracle/oradata/orcldg

mkdir -p /oradata/arch

 

八、备库启动到nomount状态

[oracle@19cdg dbs]$ sqlplus / as sysdba

 

SQL*Plus: Release 19.0.0.0.0 - Production on Fri Nov 11 18:35:15 2022

Version 19.3.0.0.0

 

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

 

Connected to an idle instance.

 

SQL> create spfile from pfile='/u01/app/oracle/product/19.3.0/db_1/initorcldg.ora';

 

File created.

 

SQL> startup nomount

ORACLE instance started.

 

Total System Global Area 2466249672 bytes

Fixed Size                  8899528 bytes

Variable Size             536870912 bytes

Database Buffers         1912602624 bytes

Redo Buffers                7876608 bytes

SQL>

 

九、duplicate创建备库

[oracle@19cdg dbs]$ rman target sys/oracle@orcl auxiliary sys/oracle@orcldg

 

Recovery Manager: Release 19.0.0.0.0 - Production on Fri Nov 11 18:36:10 2022

Version 19.3.0.0.0

 

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

 

connected to target database: ORCL (DBID=1645859366)

connected to auxiliary database: ORCL (not mounted)

 

RMAN> duplicate target database for standby from active database nofilenamecheck dorecover;

 

Starting Duplicate Db at 11-NOV-22

using target database control file instead of recovery catalog

allocated channel: ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: SID=133 device type=DISK

current log archived

 

contents of Memory Script:

{

   backup as copy reuse

   passwordfile auxiliary format  '/u01/app/oracle/product/19.3.0/db_1/dbs/orapworcldg'   ;

}

executing Memory Script

 

Starting backup at 11-NOV-22

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=408 instance=orcl1 device type=DISK

Finished backup at 11-NOV-22

 

contents of Memory Script:

{

   restore clone from service  'orcl' standby controlfile;

}

executing Memory Script

 

Starting restore at 11-NOV-22

using channel ORA_AUX_DISK_1

 

channel ORA_AUX_DISK_1: starting datafile backup set restore

channel ORA_AUX_DISK_1: using network backup set from service orcl

channel ORA_AUX_DISK_1: restoring control file

channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:07

output file name=/u01/app/oracle/oradata/orcldg/control01.ctl

output file name=/u01/app/oracle/oradata/orcldg/control02.ctl

Finished restore at 11-NOV-22

 

contents of Memory Script:

{

   sql clone 'alter database mount standby database';

}

executing Memory Script

 

sql statement: alter database mount standby database

 

contents of Memory Script:

{

   set newname for tempfile  1 to

 "/u01/app/oracle/oradata/orcldg/temp.265.1118078681";

   switch clone tempfile all;

   set newname for datafile  1 to

 "/u01/app/oracle/oradata/orcldg/system.268.1118078411";

   set newname for datafile  3 to

 "/u01/app/oracle/oradata/orcldg/sysaux.264.1118078495";

   set newname for datafile  4 to

 "/u01/app/oracle/oradata/orcldg/undotbs1.267.1118078541";

   set newname for datafile  5 to

 "/u01/app/oracle/oradata/orcldg/undotbs2.258.1118079287";

   set newname for datafile  7 to

 "/u01/app/oracle/oradata/orcldg/users.266.1118078543";

   restore

   from  nonsparse   from service

 'orcl'   clone database

   ;

   sql 'alter system archive log current';

}

executing Memory Script

 

executing command: SET NEWNAME

 

renamed tempfile 1 to /u01/app/oracle/oradata/orcldg/temp.265.1118078681 in control file

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

Starting restore at 11-NOV-22

using channel ORA_AUX_DISK_1

 

channel ORA_AUX_DISK_1: starting datafile backup set restore

channel ORA_AUX_DISK_1: using network backup set from service orcl

channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set

channel ORA_AUX_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/orcldg/system.268.1118078411

channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:01:56

channel ORA_AUX_DISK_1: starting datafile backup set restore

channel ORA_AUX_DISK_1: using network backup set from service orcl

channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set

channel ORA_AUX_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/orcldg/sysaux.264.1118078495

channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:01:26

channel ORA_AUX_DISK_1: starting datafile backup set restore

channel ORA_AUX_DISK_1: using network backup set from service orcl

channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set

channel ORA_AUX_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/orcldg/undotbs1.267.1118078541

channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:15

channel ORA_AUX_DISK_1: starting datafile backup set restore

channel ORA_AUX_DISK_1: using network backup set from service orcl

channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set

channel ORA_AUX_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/orcldg/undotbs2.258.1118079287

channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:08

channel ORA_AUX_DISK_1: starting datafile backup set restore

channel ORA_AUX_DISK_1: using network backup set from service orcl

channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set

channel ORA_AUX_DISK_1: restoring datafile 00007 to /u01/app/oracle/oradata/orcldg/users.266.1118078543

channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:04

Finished restore at 11-NOV-22

 

sql statement: alter system archive log current

current log archived

 

contents of Memory Script:

{

   restore clone force from service  'orcl'

           archivelog from scn  2339187;

   switch clone datafile all;

}

executing Memory Script

 

Starting restore at 11-NOV-22

using channel ORA_AUX_DISK_1

 

channel ORA_AUX_DISK_1: starting archived log restore to default destination

channel ORA_AUX_DISK_1: using network backup set from service orcl

channel ORA_AUX_DISK_1: restoring archived log

archived log thread=1 sequence=34

channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:02

channel ORA_AUX_DISK_1: starting archived log restore to default destination

channel ORA_AUX_DISK_1: using network backup set from service orcl

channel ORA_AUX_DISK_1: restoring archived log

archived log thread=1 sequence=35

channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01

channel ORA_AUX_DISK_1: starting archived log restore to default destination

channel ORA_AUX_DISK_1: using network backup set from service orcl

channel ORA_AUX_DISK_1: restoring archived log

archived log thread=2 sequence=29

channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:04

channel ORA_AUX_DISK_1: starting archived log restore to default destination

channel ORA_AUX_DISK_1: using network backup set from service orcl

channel ORA_AUX_DISK_1: restoring archived log

archived log thread=2 sequence=30

channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01

channel ORA_AUX_DISK_1: starting archived log restore to default destination

channel ORA_AUX_DISK_1: using network backup set from service orcl

channel ORA_AUX_DISK_1: restoring archived log

archived log thread=2 sequence=31

channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:02

channel ORA_AUX_DISK_1: starting archived log restore to default destination

channel ORA_AUX_DISK_1: using network backup set from service orcl

channel ORA_AUX_DISK_1: restoring archived log

archived log thread=2 sequence=32

channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01

Finished restore at 11-NOV-22

 

datafile 1 switched to datafile copy

input datafile copy RECID=1 STAMP=1120502551 file name=/u01/app/oracle/oradata/orcldg/system.268.1118078411

datafile 3 switched to datafile copy

input datafile copy RECID=2 STAMP=1120502551 file name=/u01/app/oracle/oradata/orcldg/sysaux.264.1118078495

datafile 4 switched to datafile copy

input datafile copy RECID=3 STAMP=1120502551 file name=/u01/app/oracle/oradata/orcldg/undotbs1.267.1118078541

datafile 5 switched to datafile copy

input datafile copy RECID=4 STAMP=1120502551 file name=/u01/app/oracle/oradata/orcldg/undotbs2.258.1118079287

datafile 7 switched to datafile copy

input datafile copy RECID=5 STAMP=1120502551 file name=/u01/app/oracle/oradata/orcldg/users.266.1118078543

 

contents of Memory Script:

{

   set until scn  2341577;

   recover

   standby

   clone database

    delete archivelog

   ;

}

executing Memory Script

 

executing command: SET until clause

 

Starting recover at 11-NOV-22

using channel ORA_AUX_DISK_1

 

starting media recovery

 

archived log for thread 1 with sequence 34 is already on disk as file /oradata/arch/1_34_1118078637.dbf

archived log for thread 1 with sequence 35 is already on disk as file /oradata/arch/1_35_1118078637.dbf

archived log for thread 2 with sequence 30 is already on disk as file /oradata/arch/2_30_1118078637.dbf

archived log for thread 2 with sequence 31 is already on disk as file /oradata/arch/2_31_1118078637.dbf

archived log for thread 2 with sequence 32 is already on disk as file /oradata/arch/2_32_1118078637.dbf

archived log file name=/oradata/arch/1_34_1118078637.dbf thread=1 sequence=34

archived log file name=/oradata/arch/2_30_1118078637.dbf thread=2 sequence=30

archived log file name=/oradata/arch/2_31_1118078637.dbf thread=2 sequence=31

archived log file name=/oradata/arch/1_35_1118078637.dbf thread=1 sequence=35

media recovery complete, elapsed time: 00:00:01

Finished recover at 11-NOV-22

 

contents of Memory Script:

{

   delete clone force archivelog all;

}

executing Memory Script

 

released channel: ORA_DISK_1

released channel: ORA_AUX_DISK_1

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=408 instance=orcl1 device type=DISK

deleted archived log

archived log file name=/oradata/arch/1_34_1118078637.dbf RECID=1 STAMP=1120502540

deleted archived log

archived log file name=/oradata/arch/1_35_1118078637.dbf RECID=2 STAMP=1120502541

deleted archived log

archived log file name=/oradata/arch/2_29_1118078637.dbf RECID=3 STAMP=1120502544

deleted archived log

archived log file name=/oradata/arch/2_30_1118078637.dbf RECID=4 STAMP=1120502547

deleted archived log

archived log file name=/oradata/arch/2_31_1118078637.dbf RECID=5 STAMP=1120502548

Deleted 5 objects

 

Finished Duplicate Db at 11-NOV-22

 

RMAN>

 

十、主备库添加standby logfile

主库:

alter database add standby logfile thread 1 group 11 '+DATA' size 200m;

alter database add standby logfile thread 1 group 12 '+DATA' size 200m;

alter database add standby logfile thread 1 group 13 '+DATA' size 200m;

alter database add standby logfile thread 2 group 14 '+DATA' size 200m;

alter database add standby logfile thread 2 group 15 '+DATA' size 200m;

alter database add standby logfile thread 2 group 16 '+DATA' size 200m;

 

备库:

alter database add standby logfile thread 1 group 11 '/u01/app/oracle/oradata/orcldg/redo11.log' size 200m;

alter database add standby logfile thread 1 group 12 '/u01/app/oracle/oradata/orcldg/redo12.log' size 200m;

alter database add standby logfile thread 1 group 13 '/u01/app/oracle/oradata/orcldg/redo13.log' size 200m;

alter database add standby logfile thread 2 group 14 '/u01/app/oracle/oradata/orcldg/redo14.log' size 200m;

alter database add standby logfile thread 2 group 15 '/u01/app/oracle/oradata/orcldg/redo15.log' size 200m;

alter database add standby logfile thread 2 group 16 '/u01/app/oracle/oradata/orcldg/redo16.log' size 200m;

 

十一、开启数据库同步进程:

SQL> alter database recover managed standby database disconnect from session;

 

Database altered.

 

SQL> alter database recover managed standby database cancel;

 

Database altered.

 

SQL> alter database open;

 

Database altered.

 

SQL> alter database recover managed standby database using current logfile disconnect from session;

 

Database altered.

 

SQL>

 

在告警日志中可以看到 :

PR00 (PID:6634): Media Recovery Waiting for T-1.S-36 (in transit)

 

 

十二、主备同步检测试

主库:

SQL> set pages 100 lines 180

SQL> SELECT OPEN_MODE, DATABASE_ROLE, SWITCHOVER_STATUS, FORCE_LOGGING, DATAGUARD_BROKER, GUARD_STATUS FROM V$DATABASE;

 

OPEN_MODE            DATABASE_ROLE    SWITCHOVER_STATUS    FORCE_LOGGING                           DATAGUAR GUARD_S

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

READ WRITE           PRIMARY          TO STANDBY           YES                                     DISABLED NONE

 

备库:

SQL> set pages 100 lines 180

SQL> SELECT OPEN_MODE, DATABASE_ROLE, SWITCHOVER_STATUS, FORCE_LOGGING, DATAGUARD_BROKER, GUARD_STATUS FROM V$DATABASE;

 

OPEN_MODE            DATABASE_ROLE    SWITCHOVER_STATUS    FORCE_LOGGING                           DATAGUAR GUARD_S

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

MOUNTED              PHYSICAL STANDBY NOT ALLOWED          YES                                     DISABLED NONE

 

主库:

SQL> select * from test.tt;

 

        ID

----------

         1

         1

         1

 

 

备库:

SQL> select * from test.tt;

 

        ID

----------

         1

         1

         1

 

插入数据:

主库:

SQL> insert into test.tt values (2);

 

1 row created.

 

SQL> /

 

1 row created.

 

SQL> /

 

1 row created.

 

SQL> commit;

 

Commit complete.

 

SQL> select * from test.tt;

 

        ID

----------

         2

         2

         2

         1

         1

         1

 

6 rows selected.

 

SQL> alter system archive log current;

 

System altered.

 

SQL>

 

 

备库:

SQL> select * from test.tt;

 

        ID

----------

         2

         2

         2

         1

         1

         1

 

6 rows selected.

 

SQL>

 

 

最后修改时间:2023-02-10 14:01:11
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论