前期安装的环境配置

一、安装19c必要的依赖包

yum install bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat  librdmacm-devel   libXext   libaio.i686 libstdc++-devel.i686   libstdc++.i686  libgcc.i686  glibc-devel.i686
yum install ipmiutil net-tools nfs-utils python python-configshell python-rtslib python-six targetcli compat-libstdc++-33.i686 gcc  compat-libstdc++  readline  libtermcap-devel unixODBC-devel  unixODBC libXi.i686 libxcb.i686 libXau.i686  libX11.i686 libXtst.i686  libXext.i686 gcc-c++  glibc  glibc.i686  libaio-devel.i686
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

二、关闭ntpd服务

[root@rac1 ~]#systemctl disable ntpd.service
[root@rac1 ~]#systemctl stop ntpd.service
[root@rac1 ~]#mv /etc/ntp.conf /etc/ntp.conf.orig
[root@rac1 ~]#systemctl status ntpd

三、关闭防火墙

[root@rac01 ~]# systemctl stop firewalld
[root@rac01 ~]# systemctl disable firewalld
[root@rac01 ~]# systemctl status firewalld

四、关闭avahi-daemon服务,官网建议关闭

[root@rac01 ~]# systemctl stop avahi-daemon
Warning: Stopping avahi-daemon.service, but it can still be activated by:avahi-daemon.socket
[root@rac01 ~]# systemctl disable avahi-daemon
Removed symlink /etc/systemd/system/multi-user.target.wants/avahi-daemon.service.
Removed symlink /etc/systemd/system/sockets.target.wants/avahi-daemon.socket.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.Avahi.service.

五、创建用户及用户组

[root@rac1 ~]
groupadd -g 16881 oinstall
groupadd -g 16882 dba
groupadd -g 16883 oper
groupadd -g 16884 backupdba
groupadd -g 16885 dgdba
groupadd -g 16886 kmdba
groupadd -g 16887 asmdba
groupadd -g 16888 asmoper
groupadd -g 16889 asmadmin
groupadd -g 16880 racdba  useradd -u 16881 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle
useradd -u 16882 -g oinstall -G asmadmin,asmdba,asmoper,dba grid

六、创建文件目录(在两个节点创建grid、oracle文件目录)

[root@rac1 ~]
mkdir -p /u01/app/19.0.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/product/19.0.0/db_1
chown -R grid:oinstall /u01
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/

七、修改limits.conf(在两个节点修改)

[root@rac1 ~]vi /etc/security/limits.conf
#ORACLE SETTING
grid  soft  nproc 16384
grid  hard  nproc 16384
grid  soft  nofile 1024
grid  hard  nofile 65536
grid  soft  stack 10240
grid  hard  stack 32768
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack  10240
oracle hard stack  32768
oracle hard memlock 3145728
oracle soft memlock 3145728

八、添加 vi /etc/pam.d/login

session required pam_limits.so

九、配置NOZEROCONF

vi /etc/sysconfig/network增加以下内容
NOZEROCONF=yes

十、配置sysctl.conf

[root@rac1 ~]vi /etc/sysctl.conf
#ORACLE SETTING
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmax = 269509197824
kernel.shmall = 65798144
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 104858

十一、关闭大页

echo "never" > /sys/kernel/mm/transparent_hugepage/enabled
echo "never" > /sys/kernel/mm/transparent_hugepage/defrag
chmod +x /etc/rc.d/rc.local

十二、CentOS7关闭networkmanager

[root@p4181-170 ~]# systemctl  stop NetworkManager
[root@p4181-170 ~]# systemctl disable NetworkManager
[root@p4181-170 ~]# mkdir -p /u01/app/oracle/product/19.0.0/db_1
[root@p4181-170 ~]# chown -R oracle:oinstall /u01
[root@p4181-170 ~]# chmod -R 775 /u01

十三、安装19c数据库包并提前安装cvuqdisk包

mv LINUX.X64_193000_db_home.zip $ORACLE_HOME
rpm -ivh $ORACLE_HOME/cv/rpm/cvuqdisk-1.0.10-1.rpm

十四、编辑响应文件

cd $ORACLE_HOME/install/response/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/19.0.0/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.rootconfig.executeRootScript=false
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=backupdba
oracle.install.db.OSDGDBA_GROUP=dgdba
oracle.install.db.OSKMDBA_GROUP=kmdba
oracle.install.db.OSRACDBA_GROUP=racdba
oracle.install.db.rootconfig.configMethod=ROOT
/u01/app/oracle/product/19.0.0/db_1/runInstaller -silent -force -noconfig -ignorePrereq -responseFile /u01/app/oracle/product/19.0.0/db_1/install/response/db_install.rsp
***************************************************************************

十五、如果安装单节点数据库,编辑数据库响应文件

(1)配置db相应文件内容
vi dbca.rsp
gdbName=SAASN
sid=SAASN
createAsContainerDatabase=true
numberOfPDBs=1
pdbName=PRODPDB
pdbAdminPassword=xxxxx
templateName=General_Purpose.dbc
sysPassword=xxxx
systemPassword=xxxxx
emExpressPort=5500
datafileDestination={ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/
characterSet=AL32UTF8
nationalCharacterSet=AL16UTF16
memoryPercentage=40
automaticMemoryManagement=false
totalMemory=30720
(2)安装数据库
dbca -silent -createDatabase -responseFile
/u01/app/oracle/product/19.0.0/db_1/install/response/dbca.rsp
****************************************************************************

        前期环境设置完成后,开始配置ADG的必要参数

十六、主库开启强制记录日志和归档模式

SQL> select force_logging from v$database;

如果开启闪回,归档日志需提前开启

SQL> alter system set db_recovery_file_dest='+FRA' scope=spfile;
SQL> alter system set db_recovery_file_dest_size=688G scope=spfile;

RAC环境关闭所有节点数据库,只开启一个节点到mount状态,开启强制归档模式。

[grid@rac01.hkrt.cn:/home/grid]$srvctl stop database -d saas
[grid@rac01.hkrt.cn:/home/grid]$srvctl start instance -d saas -i saas1 -o mount
SQL> alter database flashback on;
SQL> alter database force logging;
[grid@rac01.hkrt.cn:/home/grid]$srvctl stop database -d saas
[grid@rac01.hkrt.cn:/home/grid]$srvctl start database -d saas
SQL> select name,log_mode,flashback_on from v$database;
NAME       LOG_MODE        FLASHBACK_ON
------------------ ------------------------ ------------------------------------
SAAS       ARCHIVELOG        YES

十七、RAC环境配置控制文件多路径。避免单文件损坏

SQL> alter system set control_files='+DATA/SAAS/CONTROLFILE/current.261.1076090117','+DATA/SAAS/CONTROLFILE/control02.ctl' scope=spfile;
[root@rac01 tmp]# srvctl stop database -d saas
[grid@rac01.hkrt.cn:/home/grid]$asmcmd
ASMCMD> cd DATA
ASMCMD> cd SAAS
ASMCMD> cd CONTROLFILE
ASMCMD> ls
Current.261.1076090117
ASMCMD> cp Current.261.1076090117 control02.ctl
copying +DATA/SAAS/CONTROLFILE/Current.261.1076090117 -> +DATA/SAAS/CONTROLFILE/control02.ctl
[root@rac01 tmp]# srvctl start database -d saas

十八、根据主库RAC的日志数量,添加standby日志组+1。

SQL> select group#,members,thread#,bytes/1024/1024 from v$log;GROUP#    MEMBERS   THREAD# BYTES/1024/1024
---------- ---------- ---------- ---------------1      1         1      10242      1         1      10243      1         1      10244      1         1      10245      1         1      10246      1         1      10247      1         1      10248      1         1      102411      1         2      102412      1         2      102413      1         2      102414      1         2      102415      1         2      102416      1         2      102417      1         2      102418      1         2      1024
alter database add standby logfile thread 1 group 21 '+DATA/SAAS/ONLINELOG/stdgroup_21.log' size 1024m;
alter database add standby logfile thread 1 group 22 '+DATA/SAAS/ONLINELOG/stdgroup_22.log' size 1024m;
alter database add standby logfile thread 1 group 23 '+DATA/SAAS/ONLINELOG/stdgroup_23.log' size 1024m;
alter database add standby logfile thread 1 group 24 '+DATA/SAAS/ONLINELOG/stdgroup_24.log' size 1024m;
alter database add standby logfile thread 1 group 25 '+DATA/SAAS/ONLINELOG/stdgroup_25.log' size 1024m;
alter database add standby logfile thread 1 group 26 '+DATA/SAAS/ONLINELOG/stdgroup_26.log' size 1024m;
alter database add standby logfile thread 1 group 27 '+DATA/SAAS/ONLINELOG/stdgroup_27.log' size 1024m;
alter database add standby logfile thread 1 group 28 '+DATA/SAAS/ONLINELOG/stdgroup_28.log' size 1024m;
alter database add standby logfile thread 1 group 29 '+DATA/SAAS/ONLINELOG/stdgroup_29.log' size 1024m;
alter database add standby logfile thread 2 group 31 '+DATA/SAAS/ONLINELOG/stdgroup_31.log' size 1024m;
alter database add standby logfile thread 2 group 32 '+DATA/SAAS/ONLINELOG/stdgroup_32.log' size 1024m;
alter database add standby logfile thread 2 group 33 '+DATA/SAAS/ONLINELOG/stdgroup_33.log' size 1024m;
alter database add standby logfile thread 2 group 34 '+DATA/SAAS/ONLINELOG/stdgroup_34.log' size 1024m;
alter database add standby logfile thread 2 group 35 '+DATA/SAAS/ONLINELOG/stdgroup_35.log' size 1024m;
alter database add standby logfile thread 2 group 36 '+DATA/SAAS/ONLINELOG/stdgroup_36.log' size 1024m;
alter database add standby logfile thread 2 group 37 '+DATA/SAAS/ONLINELOG/stdgroup_37.log' size 1024m;
alter database add standby logfile thread 2 group 38 '+DATA/SAAS/ONLINELOG/stdgroup_38.log' size 1024m;
alter database add standby logfile thread 2 group 39 '+DATA/SAAS/ONLINELOG
/stdgroup_39.log' size 1024m;

十九、主库配置传输到从库的参数文件。

SQL> alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(saas,saasdg)' scope=both;
SQL> alter system set LOG_ARCHIVE_DEST_1='LOCATION=+FRA/saas/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=saas' scope=both;
配置传输到备库的传输路径
SQL> alter system set LOG_ARCHIVE_DEST_2='SERVICE=saasdg LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=saasdg' scope=both;
SQL> alter system set LOG_ARCHIVE_DEST_STATE_1=ENABLE;
SQL> alter system set LOG_ARCHIVE_DEST_STATE_2=ENABLE;
SQL> alter system set FAL_SERVER=saasdg;
SQL> alter system set FAL_CLIENT=saas;

注意:db_file_name_convert与log_file_name_convert,主库传输时是读取的备库的参数,这里主库配置是基于可能发生切换变成备库时所需。

SQL> alter system set DB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/saasdg/datafile/','+DATA/SAAS/DATAFILE/','/u01/app/oracle/oradata/saasdg/tempfile/','+DATA/SAAS/TEMPFILE/' scope=spfile;
SQL> alter system set LOG_FILE_NAME_CONVERT='/u01/app/oracle/oradata/saasdg/onlinelog/','+DATA/SAAS/ONLINELOG/' scope=spfile;
SQL> alter system set remote_login_passwordfile='EXCLUSIVE' scope=spfile;
SQL> alter system set log_archive_format='%t_%s_%r.arch' scope=spfile;
SQL> alter system set STANDBY_FILE_MANAGEMENT=AUTO;

二十、创建PFILE,拷贝密码文件传输到备库。

create pfile='/home/oracle/initsaasdg.ora' from spfile;
[grid@rac01.hkrt.cn:/home/grid]$asmcmd
ASMCMD> cd PASSWORD
ASMCMD> ls
pwdsaas.256.1076089961
ASMCMD> cp pwdsaas.256.1076089961 /tmp/orapwsaasdg
copying +DATA/SAAS/PASSWORD/pwdsaas.256.1076089961 -> /tmp/orapwsaasdg
[oracle@p4.hkrt.cn:/home/oracle]$mv orapwsaasdg $ORACLE_BASE/product/19.0.0/db_1/dbs/
**************************************************************

二十一、修改RAC主库的参数文件为standby的参数文件内容。

原主库参数文件:saas2.__data_transfer_cache_size=0
saas1.__data_transfer_cache_size=0
saas2.__db_cache_size=168577466368
saas1.__db_cache_size=168040595456
saas2.__inmemory_ext_roarea=0
saas1.__inmemory_ext_roarea=0
saas2.__inmemory_ext_rwarea=0
saas1.__inmemory_ext_rwarea=0
saas2.__java_pool_size=0
saas1.__java_pool_size=0
saas2.__large_pool_size=2147483648
saas1.__large_pool_size=2147483648
saas1.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
saas2.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
saas2.__pga_aggregate_target=21474836480
saas1.__pga_aggregate_target=21474836480
saas2.__sga_target=193273528320
saas1.__sga_target=193273528320
saas2.__shared_io_pool_size=536870912
saas1.__shared_io_pool_size=536870912
saas2.__shared_pool_size=21474836480
saas1.__shared_pool_size=22011707392
saas2.__streams_pool_size=0
saas1.__streams_pool_size=0
saas2.__unified_pga_pool_size=0
saas1.__unified_pga_pool_size=0
*._disable_file_resize_logging=TRUE
*.audit_file_dest='/u01/app/oracle/admin/saas/adump'
*.audit_trail='NONE'
*.cluster_database=true
*.compatible='19.0.0'
*.control_files='+DATA/SAAS/CONTROLFILE/current.261.1076090117','+DATA/SAAS/CONTROLFILE/control02.ctl'
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.db_file_name_convert='/u01/app/oracle/oradata/saasdg/datafile/','+DATA/SAAS/DATAFILE/','/u01/app/oracle/oradata/saasdg/tempfile/','+DATA/SAAS/TEMPFILE/'
*.db_name='saas'
*.db_recovery_file_dest='+FRA'
*.db_recovery_file_dest_size=738734374912
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=saasXDB)'
*.fal_client='SAAS'
*.fal_server='SAASDG'
family:dw_helper.instance_mode='read-only'
saas1.instance_number=1
saas2.instance_number=2
*.local_listener='-oraagent-dummy-'
*.log_archive_config='DG_CONFIG=(saas,saasdg)'
*.log_archive_dest_1='LOCATION=+FRA/saas/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=saas'
*.log_archive_dest_2='SERVICE=saasdg LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=saasdg'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='ENABLE'
*.log_archive_format='%t_%s_%r.arch'
*.log_file_name_convert='/u01/app/oracle/oradata/saasdg/onlinelog/','+DATA/SAAS/ONLINELOG/'
*.memory_max_target=214748364800
*.memory_target=214748364800
*.nls_language='AMERICAN'
*.nls_length_semantics='CHAR'
*.nls_territory='AMERICA'
*.open_cursors=300
*.pga_aggregate_target=0
*.processes=6400
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=193273528320
*.standby_file_management='AUTO'
saas2.thread=2
saas1.thread=1
saas1.undo_tablespace='UNDOTBS1'
saas2.undo_tablespace='UNDOTBS2'
***********************************************************************************
修改后standby的参数文件
saasdg.__data_transfer_cache_size=0
saasdg.__db_cache_size=168040595456
saasdg.__inmemory_ext_roarea=0
saasdg.__inmemory_ext_rwarea=0
saasdg.__java_pool_size=0
saasdg.__large_pool_size=2147483648
saasdg.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
saasdg.__pga_aggregate_target=21474836480
saasdg.__sga_target=193273528320
saasdg.__shared_io_pool_size=536870912
saasdg.__shared_pool_size=22011707392
saasdg.__streams_pool_size=0
saasdg.__unified_pga_pool_size=0
*._disable_file_resize_logging=TRUE
*.audit_file_dest='/u01/app/oracle/admin/saas/adump'
*.audit_trail='NONE'
#*.cluster_database=true
*.compatible='19.0.0'
*.control_files='/u01/app/oracle/oradata/saasdg/control01.ctl','/u01/app/oracle/oradata/saasdg/control02.ctl'
*.db_block_size=8192
#*.db_create_file_dest='+DATA'
*.db_name='saas'
*.db_unique_name='saasdg'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=307200m
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=saasXDB)'
*.fal_client='SAASDG'
*.fal_server='SAAS'
#family:dw_helper.instance_mode='read-only'
#saasdg.instance_number=1
#*.local_listener='-oraagent-dummy-'
*.log_archive_config='DG_CONFIG=(saasdg,saas)'
*.log_archive_dest_1='LOCATION=/u01/app/oracle/saasdg/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=saasdg'
*.log_archive_dest_2='SERVICE=saas LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=saas'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='ENABLE'
*.db_file_name_convert='+DATA/SAAS/DATAFILE/','/u01/app/oracle/oradata/saasdg/datafile/','+DATA/SAAS/TEMPFILE/','/u01/app/oracle/oradata/saasdg/tempfile/'
*.log_archive_format='%t_%s_%r.arch'
*.log_file_name_convert='+DATA/SAAS/ONLINELOG/','/u01/app/oracle/oradata/saasdg/onlinelog/'
*.memory_max_target=214748364800
*.memory_target=214748364800
*.nls_language='AMERICAN'
*.nls_length_semantics='CHAR'
*.nls_territory='AMERICA'
*.open_cursors=300
*.pga_aggregate_target=0
*.processes=6400
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=193273528320
*.standby_file_management='AUTO'
#saasdg.thread=1
*.undo_tablespace='UNDOTBS1'
**********************************************************************************

二十二、根据备库参数文件,提前创建出相应的路径

[oracle@p4.hkrt.cn:/home/oracle]$mkdir -p /u01/app/oracle/admin/saas/adump
[oracle@p4.hkrt.cn:/home/oracle]$mkdir -p /u01/app/oracle/oradata/saasdg/
[oracle@p4.hkrt.cn:/home/oracle]$mkdir -p /u01/app/oracle/fast_recovery_area
[oracle@p4.hkrt.cn:/home/oracle]$mkdir -p /u01/app/oracle/saasdg/archivelog
[oracle@p4.hkrt.cn:/home/oracle]$mkdir -p /u01/app/oracle/oradata/saasdg/datafile/
[oracle@p4.hkrt.cn:/home/oracle]$mkdir -p /u01/app/oracle/oradata/saasdg/tempfile/
[oracle@p4.hkrt.cn:/home/oracle]$mkdir -p /u01/app/oracle/oradata/saasdg/onlinelog/

二十三、主库grid用户两节点分别添加listener.ora,如果不配,作为从库时无法从新主库接收到数据

1节点
SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = saas)(ORACLE_HOME = /u01/app/19.0.0/grid)(SID_NAME = saas1)))
2节点
SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = saas)(ORACLE_HOME = /u01/app/19.0.0/grid)(SID_NAME = saas2)))
重启两节点监听
[root@rac01 tmp]# srvctl stop listener -n  rac01.hkrt.cn
[root@rac01 tmp]# srvctl stop listener -n  rac02.hkrt.cn
[root@rac01 tmp]# srvctl start listener -n  rac02.hkrt.cn
[root@rac01 tmp]# srvctl start listener -n  rac01.hkrt.cn

二十四、配置主备库tnsnames.ora和备库的listener.ora

[oracle@p4.hkrt.cn:/u01/app/oracle/product/19.0.0/db_1/network/admin]$cat tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/19.0.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
SAAS =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = saas-cluster)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = saas)))
SAAS1 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.181.166)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = saas)(INSTANCE_NAME = saas1)))
SAAS2=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.181.168)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = saas)(INSTANCE_NAME = saas2)))
SAASDG =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.181.170)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = saasdg)))
备库配置静态监听文件
[oracle@p4.hkrt.cn:/u01/app/oracle/product/19.0.0/db_1/network/admin]$cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/19.0.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = saasdg)(ORACLE_HOME = /u01/app/oracle/product/19.0.0/db_1)(SID_NAME = saasdg)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.xx.xx)(PORT = 1521))))
备库启动监听 lsnrctl start

二十五、备库启动到nomount

[oracle@p4.hkrt.cn:/home/oracle]$echo $ORACLE_SID
saasdg
[oracle@p4.hkrt.cn:/home/oracle]$sqlplus / as sysdba
SQL> startup nomount

二十六、主库rman启动duplicate复制数据

rman target sys/XXXXXX auxiliary sys/XXXXXX@saasdg
Recovery Manager: Release 19.0.0.0.0 - Production on Mon Jul 5 15:51:11 2021
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
connected to target database: SAAS (DBID=710129348)
connected to auxiliary database: SAAS (not mounted)
RMAN>duplicate target database for standby from active database nofilenamecheck dorecover;
Starting Duplicate Db at 2021-07-05 15:52:51
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=5809 device type=DISK
current log archived
contents of Memory Script:
{backup as copy reusepasswordfile auxiliary format  '/u01/app/oracle/product/19.0.0/db_1/dbs/orapwsaasdg'   ;
}
executing Memory Script
Starting backup at 2021-07-05 15:52:53
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=7383 instance=saas1 device type=DISK
Finished backup at 2021-07-05 15:52:56
contents of Memory Script:
{backup as copy current controlfile for standby auxiliary format  '/u01/app/oracle/oradata/saasdg/control01.ctl';restore clone primary controlfile to  '/u01/app/oracle/oradata/saasdg/control02.ctl' from'/u01/app/oracle/oradata/saasdg/control01.ctl';
}
executing Memory Script
Starting backup at 2021-07-05 15:52:57
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
copying standby control file
output file name=/u01/app/oracle/oradata/saasdg/control01.ctl tag=TAG20210705T155257
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 2021-07-05 15:52:59
Starting restore at 2021-07-05 15:52:59
using channel ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: copied control file copy
Finished restore at 2021-07-05 15:53:00
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/saasdg/tempfile/temp.264.1076090123";switch clone tempfile all;set newname for datafile  1 to"/u01/app/oracle/oradata/saasdg/datafile/system.257.1076089983";set newname for datafile  3 to"/u01/app/oracle/oradata/saasdg/datafile/sysaux.258.1076090019";set newname for datafile  4 to"/u01/app/oracle/oradata/saasdg/datafile/undotbs1.259.1076090033";set newname for datafile  5 to"/u01/app/oracle/oradata/saasdg/datafile/undotbs2.265.1076090279";set newname for datafile  7 to"/u01/app/oracle/oradata/saasdg/datafile/users.260.1076090035";backup as copy reusedatafile  1 auxiliary format"/u01/app/oracle/oradata/saasdg/datafile/system.257.1076089983"   datafile3 auxiliary format"/u01/app/oracle/oradata/saasdg/datafile/sysaux.258.1076090019"   datafile4 auxiliary format"/u01/app/oracle/oradata/saasdg/datafile/undotbs1.259.1076090033"   datafile5 auxiliary format"/u01/app/oracle/oradata/saasdg/datafile/undotbs2.265.1076090279"   datafile7 auxiliary format"/u01/app/oracle/oradata/saasdg/datafile/users.260.1076090035"   ;sql 'alter system archive log current';
}
executing Memory Script
executing command: SET NEWNAME
renamed tempfile 1 to /u01/app/oracle/oradata/saasdg/tempfile/temp.264.1076090123 in control file
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
Starting backup at 2021-07-05 15:53:05
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00003 name=+DATA/SAAS/DATAFILE/sysaux.258.1076090019
output file name=/u01/app/oracle/oradata/saasdg/datafile/sysaux.258.1076090019 tag=TAG20210705T155305
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=+DATA/SAAS/DATAFILE/system.257.1076089983
output file name=/u01/app/oracle/oradata/saasdg/datafile/system.257.1076089983 tag=TAG20210705T155305
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=+DATA/SAAS/DATAFILE/undotbs1.259.1076090033
output file name=/u01/app/oracle/oradata/saasdg/datafile/undotbs1.259.1076090033 tag=TAG20210705T155305
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
channel ORA_DISK_1: starting datafile copy
input datafile file number=00005 name=+DATA/SAAS/DATAFILE/undotbs2.265.1076090279
output file name=/u01/app/oracle/oradata/saasdg/datafile/undotbs2.265.1076090279 tag=TAG20210705T155305
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting datafile copy
input datafile file number=00007 name=+DATA/SAAS/DATAFILE/users.260.1076090035
output file name=/u01/app/oracle/oradata/saasdg/datafile/users.260.1076090035 tag=TAG20210705T155305
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 2021-07-05 15:53:44
sql statement: alter system archive log current
current log archived
contents of Memory Script:
{backup as copy reusearchivelog like  "+FRA/saas/archivelog/2_46_1076090118.arch" auxiliary format"/u01/app/oracle/saasdg/archivelog/2_46_1076090118.arch"   archivelog like"+FRA/saas/archivelog/1_73_1076090118.arch" auxiliary format"/u01/app/oracle/saasdg/archivelog/1_73_1076090118.arch"   archivelog like"+FRA/saas/archivelog/2_47_1076090118.arch" auxiliary format"/u01/app/oracle/saasdg/archivelog/2_47_1076090118.arch"   archivelog like"+FRA/saas/archivelog/1_74_1076090118.arch" auxiliary format"/u01/app/oracle/saasdg/archivelog/1_74_1076090118.arch"   archivelog like"+FRA/saas/archivelog/2_48_1076090118.arch" auxiliary format"/u01/app/oracle/saasdg/archivelog/2_48_1076090118.arch"   ;catalog clone archivelog  "/u01/app/oracle/saasdg/archivelog/2_46_1076090118.arch";catalog clone archivelog  "/u01/app/oracle/saasdg/archivelog/1_73_1076090118.arch";catalog clone archivelog  "/u01/app/oracle/saasdg/archivelog/2_47_1076090118.arch";catalog clone archivelog  "/u01/app/oracle/saasdg/archivelog/1_74_1076090118.arch";catalog clone archivelog  "/u01/app/oracle/saasdg/archivelog/2_48_1076090118.arch";switch clone datafile all;
}
executing Memory Script
Starting backup at 2021-07-05 15:53:50
using channel ORA_DISK_1
channel ORA_DISK_1: starting archived log copy
input archived log thread=2 sequence=46 RECID=29 STAMP=1077119573
output file name=/u01/app/oracle/saasdg/archivelog/2_46_1076090118.arch RECID=0 STAMP=0
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting archived log copy
input archived log thread=1 sequence=73 RECID=30 STAMP=1077119626
output file name=/u01/app/oracle/saasdg/archivelog/1_73_1076090118.arch RECID=0 STAMP=0
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting archived log copy
input archived log thread=2 sequence=47 RECID=31 STAMP=1077119627
output file name=/u01/app/oracle/saasdg/archivelog/2_47_1076090118.arch RECID=0 STAMP=0
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting archived log copy
input archived log thread=1 sequence=74 RECID=32 STAMP=1077119629
output file name=/u01/app/oracle/saasdg/archivelog/1_74_1076090118.arch RECID=0 STAMP=0
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting archived log copy
input archived log thread=2 sequence=48 RECID=33 STAMP=1077119630
output file name=/u01/app/oracle/saasdg/archivelog/2_48_1076090118.arch RECID=0 STAMP=0
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
Finished backup at 2021-07-05 15:53:55
cataloged archived log
archived log file name=/u01/app/oracle/saasdg/archivelog/2_46_1076090118.arch RECID=1 STAMP=1077119640
cataloged archived log
archived log file name=/u01/app/oracle/saasdg/archivelog/1_73_1076090118.arch RECID=2 STAMP=1077119640
cataloged archived log
archived log file name=/u01/app/oracle/saasdg/archivelog/2_47_1076090118.arch RECID=3 STAMP=1077119640
cataloged archived log
archived log file name=/u01/app/oracle/saasdg/archivelog/1_74_1076090118.arch RECID=4 STAMP=1077119640
cataloged archived log
archived log file name=/u01/app/oracle/saasdg/archivelog/2_48_1076090118.arch RECID=5 STAMP=1077119640
datafile 1 switched to datafile copy
input datafile copy RECID=1 STAMP=1077119641 file name=/u01/app/oracle/oradata/saasdg/datafile/system.257.1076089983
datafile 3 switched to datafile copy
input datafile copy RECID=2 STAMP=1077119641 file name=/u01/app/oracle/oradata/saasdg/datafile/sysaux.258.1076090019
datafile 4 switched to datafile copy
input datafile copy RECID=3 STAMP=1077119641 file name=/u01/app/oracle/oradata/saasdg/datafile/undotbs1.259.1076090033
datafile 5 switched to datafile copy
input datafile copy RECID=4 STAMP=1077119641 file name=/u01/app/oracle/oradata/saasdg/datafile/undotbs2.265.1076090279
datafile 7 switched to datafile copy
input datafile copy RECID=5 STAMP=1077119641 file name=/u01/app/oracle/oradata/saasdg/datafile/users.260.1076090035
contents of Memory Script:
{set until scn  6367774;recoverstandbyclone databasedelete archivelog;
}
executing Memory Script
executing command: SET until clause
Starting recover at 2021-07-05 15:53:56
using channel ORA_AUX_DISK_1
starting media recovery
archived log for thread 1 with sequence 73 is already on disk as file /u01/app/oracle/saasdg/archivelog/1_73_1076090118.arch
archived log for thread 1 with sequence 74 is already on disk as file /u01/app/oracle/saasdg/archivelog/1_74_1076090118.arch
archived log for thread 2 with sequence 47 is already on disk as file /u01/app/oracle/saasdg/archivelog/2_47_1076090118.arch
archived log for thread 2 with sequence 48 is already on disk as file /u01/app/oracle/saasdg/archivelog/2_48_1076090118.arch
archived log file name=/u01/app/oracle/saasdg/archivelog/1_73_1076090118.arch thread=1 sequence=73
archived log file name=/u01/app/oracle/saasdg/archivelog/2_47_1076090118.arch thread=2 sequence=47
archived log file name=/u01/app/oracle/saasdg/archivelog/1_74_1076090118.arch thread=1 sequence=74
archived log file name=/u01/app/oracle/saasdg/archivelog/2_48_1076090118.arch thread=2 sequence=48
media recovery complete, elapsed time: 00:00:00
Finished recover at 2021-07-05 15:53:59
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=7383 instance=saas1 device type=DISK
deleted archived log
archived log file name=/u01/app/oracle/saasdg/archivelog/1_73_1076090118.arch RECID=2 STAMP=1077119640
deleted archived log
archived log file name=/u01/app/oracle/saasdg/archivelog/1_74_1076090118.arch RECID=4 STAMP=1077119640
deleted archived log
archived log file name=/u01/app/oracle/saasdg/archivelog/2_46_1076090118.arch RECID=1 STAMP=1077119640
deleted archived log
archived log file name=/u01/app/oracle/saasdg/archivelog/2_47_1076090118.arch RECID=3 STAMP=1077119640
deleted archived log
archived log file name=/u01/app/oracle/saasdg/archivelog/2_48_1076090118.arch RECID=5 STAMP=1077119640
Deleted 5 objects
Finished Duplicate Db at 2021-07-05 15:55:11
**********************************************************************

如果主库RAC数据比较多,可开启多通道并行处理:

run
{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
allocate channel c5 type disk;
allocate channel c6 type disk;
duplicate target database for standby nofilenamecheck from active database;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
release channel c5;
release channel c6;
}

二十七、备库OPEN打开并开启MRR

[oracle@p4.hkrt.cn:/home/oracle]$sqlplus / as sysdba
SQL> select status from v$instance;
STATUS
------------------------
MOUNTED
SQL> alter database open;
SQL> alter database recover managed standby database using current logfile disconnect from session;

二十八、主库切换日志验证备库是否正常接收并应用

SQL> select open_mode,database_role,protection_mode from v$database;
OPEN_MODE         DATABASE_ROLE        PROTECTION_MODE
---------------------------------------- -------------------------------- ----------------------------------------
READ ONLY WITH APPLY       PHYSICAL STANDBY      MAXIMUM PERFORMANCE
SQL> select process,client_process,sequence#,status from v$managed_standby;
PROCESS      CLIENT_PROCESS    SEQUENCE# STATUS
------------------ ---------------- ---------- ------------------------
ARCH       ARCH          0 CONNECTED
DGRD       N/A           0 ALLOCATED
DGRD       N/A           0 ALLOCATED
ARCH       ARCH          0 CONNECTED
ARCH       ARCH          0 CONNECTED
ARCH       ARCH          0 CONNECTED
RFS       Archival         0 IDLE
RFS       LGWR         75 IDLE
RFS       Archival         0 IDLE
RFS       LGWR         49 IDLE
RFS       UNKNOWN         0 IDLE
MRP0       N/A          49 APPLYING_LOG
12 rows selected.

19c RAC Duplicate方式静默安装ADG从库相关推荐

  1. 【DBCA -SILENT】静默安装之rac数据库安装

    [DBCA -SILENT]静默安装之rac数据库安装 BLOG文档结构图 之前的相关文章连接: DBCA静默方式建库 :http://blog.itpub.net/26736162/viewspac ...

  2. CentOs 6.3_64静默安装oracle11g_r2

    昨天在centos6.3系统下,使用图形化界面安装了oracle11g_r2,当然,使用这种安装方法已经不是第一次,由于考虑到以后作业环境下的服务器几乎都不会安装x windows软件,所以,今天开始 ...

  3. 使用 VMware 16 RHEL7.7 虚拟机静默安装 Oracle 19c RAC

    作者 | JiekeXu 来源 | JiekeXu DBA之路(ID: JiekeXu_IT) 大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 使用 VMware 16  R ...

  4. Oracle 19C RAC 静默(silent)安装on RHEL7.x

    后续文档修订详见Github 修订记录 日期 版本 描述 作者 2018-05-09 v1.0 初稿 Yong 一.安装准备 1.1.RHEL版本及IP规划 1.1.1.OS版本信息 [root@lo ...

  5. linuxoracle静默安装应答文件修改_Oracle 19c的examples静默安装

    Oracle 11g的examples示例schema安装,在这篇文章<Oracle 11g的examples静默安装>介绍过了,Oracle 19c的examples示例schema安装 ...

  6. RAC静默安装与DG搭建

    RAC静默安装与DG搭建 一.主机配置 1.节点1: ① 内存:15.57GB ② SWAP交换空间大小:2GB ③ 根目录挂载磁盘:48GB ④ HOSTNAME:vmrac-01 ⑤ 网卡:eth ...

  7. Linux上安装oracle19c客户端,Oracle 19c的下载和安装部署(图形安装和静默安装)

    Oracle 19C的下载和安装部署(图形安装和静默安装) Oracle Database 19c ,也就是12.2.0.3,最初在livesql.oracle.com上发布,是Oracle Data ...

  8. Centos7 静默安装 Oracle RAC 11gR2

    vSphere EXSi + CentOS 7.4 静默安装 Oracle RAC (11gR2) 安装之前,先总结一下安装Oracle RAC的注意事项: 如果是在vSphere EXSi环境中搭建 ...

  9. xorg方式在无图形环境安装oracle,告别静默安装

    xorg方式在无图形系统中安装oracle,告别静默安装 众所周知,静默安装的方式需要修改大量的配置文件和系统参数,稍有差错查起来相当困难.下面介绍用图形方式在无图形系统中安装oracle的方法. 一 ...

最新文章

  1. MySQL主从复制原理图
  2. zabbixdocker里的mysql_Zabbix Docker
  3. poj 3321 Apple Tree(dfs序+树状数组求和模型)
  4. 不止代码:循环比赛(分治)
  5. C#LeetCode刷题之#705-设计哈希集合​​​​​​​(Design HashSet)
  6. Rxjs初体验:制作语音测试工具
  7. 简单讲解什么是黑帽SEO
  8. mysql centos 配置文件路径_Centos7 查看Mysql配置文件
  9. 《算法竞赛入门经典》————竖式问题
  10. 盘点 7 个超级 Nice 的微信小程序项目
  11. 快捷打开计算机管理设置,Win7系统下怎么设置Ctrl+Alt+Del快捷打开任务管理器【图文】...
  12. win10浏览器加载很慢_解决Win10 Edge浏览器打开网页慢的问题
  13. 从零点亮一个led灯
  14. QT基础学习笔记 Demo01
  15. LPC1768用官方库中用寄存器开启两个硬件PWM
  16. 第36.5节 动画-跟踪运动中物体的操作器
  17. 一文搞定校验码(奇偶校验,海明,CRC 码)
  18. ThingsBoard接入阿里ALink协议的网关设备探讨
  19. 【Unity】Mesh网格编程(四)麦比乌斯环
  20. 球球速刷LC--BFS DFS 二轮

热门文章

  1. AcWing 4956. 冶炼金属
  2. 美团外卖红包优惠券:美团外卖节红包或美团外卖天天神券怎么领取使用?
  3. K-means聚类原理实现 优缺点 轮廓系数 调优Canopy算法
  4. shell数值计算(加减乘除)
  5. TCP协议中的URG和PSH位
  6. MySQL8.0连接协议以及3306、33060、33062端口作用
  7. 公众号一年多,56 篇精品原创文章汇总!
  8. smtplib 发送邮件
  9. LabWindows/CVI系列——CVI下Word文件转换为PDF文件
  10. OpenCv保存图像