軟件規(guī)劃
軟件名稱 |
版本 |
---|---|
vmware |
v15 |
操作系統(tǒng) |
oracle linux 8.8 |
數(shù)據(jù)庫 |
19.3.0.0.0 |
secureCRT |
9 |
主備規(guī)劃
類型 |
IP |
主機名 |
db_name |
db_unique_name |
instance_name |
ORACLE_SID |
---|---|---|---|---|---|---|
主庫 |
192.168.2.115 |
db1 |
ORCLCDB |
ORCLCDB1 |
ORCLCDB1 |
ORCLCDB1 |
備庫 |
192.168.254.38 |
db2 |
ORCLCDB |
ORCLCDB2 |
ORCLCDB2 |
ORCLCDB1 |
說明:以下配置無特殊說明,均在CDB下,用SYS用戶操作。
一、主庫配置
1.1 主庫開啟歸檔
1)oracle創(chuàng)建歸檔目錄
mkdir -p /opt/oracle/arch
2)cdb下修改歸檔參數(shù)
alter system set log_archive_dest_1='LOCATION=/opt/oracle/arch'; scope=spfile;
show parameter log_archive_dest_state_1;
-->enable
3) 重啟數(shù)據(jù)庫到mount階段
startup mount
4) 開啟歸檔
alter database archivelog;
5)打開數(shù)據(jù)庫并檢查
SQL> alter database open;
Database altered.
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /opt/oracle/arch
Oldest online log sequence 252
Next log sequence to archive 254
Current log sequence 254
1.2 主庫設置force logging模式
1)設置主備force logging
alter database force logging;
2)檢查
select FORCE_LOGGING from v$database;
1.3 配置standby redolog
1) 查看日志組路徑及大小
SQL> col MEMBER for a40
SQL> select a.group#,a.MEMBER,b.bytes/1024/1024 from v$logfile a ,v$log b where a.group#=b.group# order by 1;
GROUP# MEMBER B.BYTES/1024/1024
---------- ---------------------------------------- -----------------
1 /opt/oracle/oradata/ORCLCDB/redo01.log 200
2 /opt/oracle/oradata/ORCLCDB/redo02.log 200
3 /opt/oracle/oradata/ORCLCDB/redo03.log 200
2)創(chuàng)建standby logfile
alter database add standby logfile group 4('/opt/oracle/oradata/ORCLCDB/redo04.log') size 200M;
alter database add standby logfile group 5('/opt/oracle/oradata/ORCLCDB/redo05.log') size 200M;
alter database add standby logfile group 6('/opt/oracle/oradata/ORCLCDB/redo06.log') size 200M;
alter database add standby logfile group 7('/opt/oracle/oradata/ORCLCDB/redo07.log') size 200M;
3) 重啟
shutdown immediate
startup
1.4 配置密碼文件
orapwd file='$ORACLE_HOME/dbs/orapw$ORACLE_SID' password=oracle entries=10 force=y format=12;
將主庫密碼文件拷貝到備庫
scp orapwORCLCDB1 db2:$ORACLE_HOME/dbs
1.5 配置監(jiān)聽
查看數(shù)據(jù)庫name參數(shù)
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cdb_cluster_name string
cell_offloadgroup_name string
db_file_name_convert string
db_name string ORCLCDB
db_unique_name string ORCLCDB1
global_names boolean FALSE
instance_name string ORCLCDB1
lock_name_space string
log_file_name_convert string
pdb_file_name_convert string
processor_group_name string
service_names string ORCLCDB1
查看ORACLE_SID
[oracle@db1 ~]$ ps -ef|grep smon
oracle 25927 1 0 17:23 ? 00:00:00 ora_smon_ORCLCDB1
oracle 27127 24278 0 17:33 pts/1 00:00:00 grep --color=auto smon
[oracle@db1 ~]$ echo $ORACLE_SID
ORCLCDB1
這里要配置靜態(tài)監(jiān)聽
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ORCLCDB1) #service_name
(ORACLE_HOME = /opt/oracle/product/19c/dbhome_1)
(SID_NAME= ORCLCDB1) #oracle_sid
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = db1)(PORT = 1521))
)
1.6 配置tns
ORCLCDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = db1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCLCDB1)
)
)
ORCLCDB2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = db2)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCLCDB2)
)
)
?驗證網(wǎng)絡
#t重啟監(jiān)聽
lsnrctl stop
lsnrctl start
測試服務名連通性:
tnsping ORCLCDB1
tnsping ORCLCDB2
測試遠程登錄
sqlplus sys/oracle@ORCLCDB1 as sysdba
--此時備庫未配置監(jiān)聽,所以無法連接
sqlplus sys/oracle@ORCLCDB2 as sysdba
1.7 配置主庫參數(shù)
主庫參數(shù)(重啟生效):
alter system set db_unique_name='ORCLCDB1' scope=spfile;
alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(ORCLCDB1,ORCLCDB2)' scope=both;
alter system set LOG_ARCHIVE_DEST_1='LOCATION=/opt/oracle/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ORCLCDB1' scope=both;
alter system set LOG_ARCHIVE_DEST_2='SERVICE=ORCLCDB2 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORCLCDB2' scope=both;
alter system set fal_client='ORCLCDB1' scope=both;
alter system set FAL_SERVER='ORCLCDB2' scope=both;
alter system set standby_file_management=AUTO scope=both;
重啟數(shù)據(jù)庫生效
shutdown immediate;
startup ;
注:
如果主備兩邊目錄結構不一樣,DB_FILE_NAME_CONVERT和LOG_FILE_NAME_CONVERT參數(shù)需要修改
alter system set DB_FILE_NAME_CONVERT='ORCLCDB2','ORCLCDB1' scope=spfile;
alter system set LOG_FILE_NAME_CONVERT='ORCLCDB2','ORCLCDB1' scope=spfile;
1.8 關閉應用和監(jiān)聽,做RMAN全備
1)關閉監(jiān)聽
lsnrctl stop
2)rman全庫備份
backup full database format '/opt/oracle/backup/backup_%T_%s_%p.bak';
sql 'alter system archive log current';
backup archivelog all format ='/opt/oracle/backup/arch_%T_%s_%p.bak';
run{
allocate channel c1 device type disk;
allocate channel c2 device type disk;
backup database format '/opt/oracle/backup/backdata_%T_%s_%p.bak';
sql 'alter system archive log current';
backup archivelog all format '/opt/oracle/backup/archlog_%T_%s_%p.bak';
backup current controlfile format '/opt/oracle/backup/cntrl_%s_%p_%s.bak';
release channel c1;
release channel c2;
}
3)啟動監(jiān)聽
lsnrctl start
4)將備份傳輸?shù)絺鋷?/p>
scp -r /opt/oracle/backup/ db2:/opt/oracle
二、備庫配置
2.1 配置備庫oracle環(huán)境變量
umask 022
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c/dbhome_1
export ORACLE_SID=ORCLCDB2
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
2.2 配置備庫參數(shù)
主要參照主庫,微調(diào)即可
*.audit_file_dest='/opt/oracle/admin/ORCLCDB/adump'
*.audit_trail='db'
*.compatible='19.0.0'
*.control_files='/opt/oracle/oradata/ORCLCDB/control01.ctl','/opt/oracle/oradata/ORCLCDB/control02.ctl'
*.db_block_size=8192
*.db_name='ORCLCDB'
*.db_unique_name='ORCLCDB2'
*.diagnostic_dest='/opt/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLCDBXDB)'
*.enable_pluggable_database=true
*.fal_client='ORCLCDB2'
*.fal_server='ORCLCDB1'
*.instance_name='ORCLCDB2'
*.local_listener='LISTENER_ORCLCDB'
*.log_archive_config='DG_CONFIG=(ORCLCDB2,ORCLCDB1)'
*.log_archive_dest_1='LOCATION=/opt/oracle/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ORCLCDB2'
*.log_archive_dest_2='SERVICE=ORCLCDB1 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORCLCDB1'
*.memory_target=1444m
*.nls_language='AMERICAN'
*.nls_territory='AMERICA'
*.open_cursors=300
*.processes=320
*.remote_login_passwordfile='EXCLUSIVE'
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'
將參數(shù)文件中必要的目錄創(chuàng)建
mkdir -p /opt/oracle/oradata/ORCLCDB
mkdir -p /opt/oracle/arch
mkdir -p /opt/oracle/admin/ORCLCDB/adump
2.3 配置備庫網(wǎng)絡
1)靜態(tài)監(jiān)聽
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ORCLCDB2)
(ORACLE_HOME = /opt/oracle/product/19c/dbhome_1)
(SID_NAME= ORCLCDB2)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = db2)(PORT = 1521))
)
2)tns解析
ORCLCDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = db1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCLCDB1)
)
)
ORCLCDB2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = db2)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCLCDB2)
)
)
驗證網(wǎng)絡
重啟備庫監(jiān)聽
lsnrctl stop
lsnrctl start
測試服務名連通性:
tnsping ORCLCDB1
tnsping ORCLCDB2
測試遠程登錄
sqlplus sys/oracle@ORCLCDB1 as sysdba
sqlplus sys/oracle@ORCLCDB2 as sysdba
2.4 啟動備庫到nomount階段
startup nomount
2.5 備庫通過rman恢復控制文件
注意這里的控制文件是 standby controlfile?
restore standby controlfile from '/home/oracle/backup/cntrl_6_1_6.bak';
2.6 備庫通過rman恢復數(shù)據(jù)文件
注冊恢復目錄
catalog start with '/opt/oracle/backup';
crosscheck backup;
rman恢復數(shù)據(jù)文件
restore database;
restore archivelog all;
查看備庫日志
select * from v$standby_log;
查看數(shù)據(jù)庫狀態(tài)文章來源:http://www.zghlxwxcb.cn/news/detail-816630.html
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
MOUNTED
三、配置主備同步
3.1 啟動備庫日志應用?
alter database recover managed standby database using current logfile disconnect;
3.2 查看主備日志應用情況
select process,status,thread#,sequence# from v$managed_standby;
PROCESS STATUS THREAD# SEQUENCE#
--------- ------------ ---------- ----------
DGRD ALLOCATED 0 0
ARCH CONNECTED 0 0
DGRD ALLOCATED 0 0
ARCH CONNECTED 0 0
ARCH CONNECTED 0 0
ARCH CONNECTED 0 0
RFS IDLE 1 0
RFS IDLE 1 267
MRP0 APPLYING_LOG 1 267
9 rows selected.
3.3 關閉日志應用
alter database recover managed standby database cancel;
3.4 將備庫打開
alter database open;
到此為上,主備搭建完成。文章來源地址http://www.zghlxwxcb.cn/news/detail-816630.html
到了這里,關于云貝教育 |【技術文章】Oracle 19c 單實例dg+rman+copy方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!