ADG單實例搭建系列之(Active Database Duplicate Using Image Copies)

      網友投稿 899 2022-05-30

      參考自:Data Guard Physical Standby Setup in Oracle Database 11g Release 2

      MOS文檔:Step by Step Guide on Creating Physical Standby Using RMAN DUPLICATE…FROM ACTIVE DATABASE (Doc ID 1075908.1)

      官方文檔:Duplicating Databases

      一、Active Database Duplicate步驟(Using Image Copies)

      1.配置主庫DG參數,備庫根據主庫的PFILE,設置參數值,生成備庫SPFILE. 2.配置hosts文件,配置TNS,配置靜態監聽,添加standby log文件. 3.拷貝主庫的密碼文件至備庫,備庫創建PFILE中不存在的目錄. 4.把備庫啟動到nomount狀態. 5.RMAN同時連接主庫與備庫,執行duplicate命令.

      注:由于Active Database Duplicate無需提前備份,而是通過網絡在線copy數據庫文件,對主庫的CPU等負載要求較高,因此最好在空閑時間進行操作,對于TB級別的數據庫,使用Active Duplicate進行DG搭建效率較高,節省空間,但是對網絡要求較高;源庫必須使用SPFILE。

      二、環境準備

      Notes:

      1、db_unique_name主備庫不能相同。

      2、db_name主備庫需保持一致。

      3、主備庫DB版本需保持一致。

      三、搭建過程

      1、Oracle軟件安裝

      主庫一鍵安裝:

      ./AllOracleSilent.sh -i 192.168.56.120 -d 11g -n orcl -o orcl -b /u01/app -s AL32UTF8

      備庫一鍵安裝:(備庫僅安裝ORACLE軟件,不建庫)

      ./AllOracleSilent.sh -i 192.168.56.121 -d 11g -w Y -n orcl_stby -o orcl -b /u01/app -s AL32UTF8

      一鍵安裝腳本可參考:ORACLE一鍵安裝單機11G/12C/18C/19C并建庫腳本

      2、環境配置

      ADG單實例搭建系列之(Active Database Duplicate Using Image Copies)

      a.配置hosts文件

      主庫:

      cat <> /etc/hosts ##FOR DG BEGIN 192.168.56.121 orcl_stby ##FOR DG END EOF

      備庫:

      cat <> /etc/hosts ##FOR DG BEGIN 192.168.56.120 orcl ##FOR DG END EOF

      b.配置靜態監聽和TNS

      主庫+備庫:

      Notes:注意這里的GLOBAL_DBNAME和service_name保持一致,即備庫需要改為 orcl_stby。

      ##listener.ora su - oracle -c "cat <> /u01/app/oracle/product/11.2.0/db/network/admin/listener.ora ##FOR DG BEGIN SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orcl) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db) (SID_NAME = orcl) ) ) ##FOR DG END EOF" ##重啟監聽 su - oracle -c "lsnrctl stop" su - oracle -c "lsnrctl start" ##tnsnames.ora su - oracle -c "cat <> /u01/app/oracle/product/11.2.0/db/network/admin/tnsnames.ora ##FOR DG BEGIN ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = orcl)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) ORCL_STBY = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = orcl_stby)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl_stby) ) ) ##FOR DG BEGIN EOF"

      c.主庫配置參數

      select log_mode,force_logging from gv$database; LOG_MODE FOR ------------ --- NOARCHIVELOG NO --開啟歸檔模式 shutdown immediate startup mount alter database archivelog; alter database open; --開啟強制日志模式 alter database force logging; --查看數據文件路徑是否一致,OMF參數建議關閉 select name from v$datafile; show parameter db_create_file_dest alter system reset db_create_file_dest; --NOTES:如果數據文件路徑不一致,duplicate將失敗。 --設置DG參數 ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(ORCL,ORCL_STBY)'; ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ORCL'; ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=orcl_stby ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORCL_STBY'; ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=DEFER; ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' SCOPE=SPFILE; ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=4; ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE; ALTER SYSTEM SET FAL_SERVER=ORCL_STBY; ALTER SYSTEM SET FAL_CLIENT=ORCL; ALTER SYSTEM SET DB_FILE_NAME_CONVERT='/oradata/orcl','/oradata/orcl' SCOPE=SPFILE; ALTER SYSTEM SET LOG_FILE_NAME_CONVERT='/oradata/orcl','/oradata/orcl' SCOPE=SPFILE; ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;

      d.生成備庫pfile文件并修改,復制參數文件和密碼文件至備庫

      create pfile='/tmp/initorcl_stby.ora' from spfile; --修改的部分: *.db_unique_name=orcl_stby *.fal_client='ORCL_STBY' *.fal_server='ORCL' *.log_archive_config='DG_CONFIG=(ORCL_STBY,ORCL)' *.log_archive_dest_1='LOCATION=/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ORCL_STBY' *.log_archive_dest_2='SERVICE=orcl ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORCL' --復制參數文件至備庫(備庫執行) scp oracle@orcl:/tmp/initorcl_stby.ora /tmp --復制密碼文件至備庫(備庫執行),要在oracle用戶下復制 su - oracle scp oracle@orcl:/u01/app/oracle/product/11.2.0/db/dbs/orapworcl /u01/app/oracle/product/11.2.0/db/dbs

      e.主庫添加stanby log文件

      set line222 col member for a60 select t2.thread#,t1.group#,t1.member,t2.bytes/1024/1024 from gv$logfile t1,gv$log t2 where t1.group#=t2.group#; THREAD# GROUP# MEMBER T2.BYTES/1024/1024 ---------- ---------- ------------------------------------------------------------ ------------------ 1 3 /oradata/orcl/redo03.log 120 1 2 /oradata/orcl/redo02.log 120 1 1 /oradata/orcl/redo01.log 120 --需要注意: --1.stanby log日志大小與redo log日志保持一致 --2.stanby log數量: standby logfile=(1+logfile組數)*thread=(1+3)*1=4組,需要加4組standby logfile. --3.thread要與redo log保持一致,如果是rac,需要增加多個thread對應的standby log ALTER DATABASE ADD STANDBY LOGFILE thread 1 group 4 ('/oradata/orcl/standby_redo04.log') SIZE 120M, group 5 ('/oradata/orcl/standby_redo05.log') SIZE 120M, group 6 ('/oradata/orcl/standby_redo06.log') SIZE 120M, group 7 ('/oradata/orcl/standby_redo07.log') SIZE 120M;

      f.備庫創建db目錄,開啟到nomount狀態

      su - oracle -c "mkdir -p /oradata/orcl" su - oracle -c "mkdir -p /u01/app/oracle/fast_recovery_area/orcl" su - oracle -c "mkdir -p /u01/app/oracle/admin/orcl/adump" sqlplus / as sysdba create spfile from pfile='/tmp/initorcl_stby.ora'; startup nomount

      3、?RMAN DUPLICATE

      rman target sys/oracle@orcl AUXILIARY sys/oracle@orcl_stby run { allocate channel prmy1 type disk; allocate channel prmy2 type disk; allocate auxiliary channel aux1 type disk; allocate auxiliary channel aux2 type disk; DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE DORECOVER NOFILENAMECHECK; }

      4、備庫開啟日志應用

      alter database open read only; ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION; select database_role,open_mode from v$database; DATABASE_ROLE OPEN_MODE ---------------- -------------------- PHYSICAL STANDBY READ ONLY WITH APPLY SQL> SELECT protection_mode FROM v$database; PROTECTION_MODE -------------------- MAXIMUM PERFORMANCE

      5、主庫開啟LOG_ARCHIVE_DEST_STATE_2

      ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;

      6、測試同步情況

      set line222 col member for a60 --查看是否存在RFS和MRP進程 select process,group#,thread#,sequence# from gv$managed_standby; --查看standby日志status是否存在active select t1.group#,t1.thread#,t1.bytes/1024/1024,t1.status,t2.member from gv$standby_log t1,gv$logfile t2 where t1.group#=t2.group#; --主庫建表空間,建用戶,建表,增刪改測試 create tablespace TEST datafile '/oradata/orcl/test01.dbf' size 100M autoextend off; create user test identified by test; grant dba to test; conn test/test create table test(id number); insert into test values (1); insert into test values (2); commit; --備庫查看是否同步 SQL> select tablespace_name from dba_tablespaces where tablespace_name='TEST'; TABLESPACE_NAME ------------------------------ TEST SQL> select username,account_status,created from dba_users where username='TEST'; USERNAME ACCOUNT_STATUS CREATED ------------------------------ -------------------------------- ------------------ TEST OPEN 17-APR-21 SQL> select * from test.test; ID ---------- 1 2

      Image

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Python操作SQLite/MySQL/LMDB/LevelDB
      下一篇:scala快速入門系列【Actor并發編程】
      相關文章
      老司机亚洲精品影院在线观看| 亚洲一区二区三区不卡在线播放| 亚洲欧洲日韩国产一区二区三区| 亚洲国产欧美国产综合一区| 亚洲国产精品VA在线观看麻豆| 国产日韩亚洲大尺度高清| 亚洲精品国产福利在线观看| 亚洲一区AV无码少妇电影| 亚洲AV无码国产精品永久一区| 超清首页国产亚洲丝袜| 国产亚洲人成网站在线观看不卡| 中文字幕亚洲电影| 久久久久亚洲av毛片大| 亚洲综合国产精品第一页| 亚洲日本在线观看视频| jizzjizz亚洲日本少妇| 国产亚洲成在线播放va| 33333在线亚洲| 亚洲人成在线播放网站| 亚洲av无码片vr一区二区三区 | 亚洲成a人片在线观看中文动漫| 77777午夜亚洲| 亚洲一区二区三区91| 亚洲中文字幕无码中文| 亚洲精品久久久久无码AV片软件| 亚洲精品无码av中文字幕| 在线a亚洲v天堂网2018| 亚洲av无码专区在线| 亚洲中文字幕一二三四区| 亚洲av无码有乱码在线观看| 伊在人亚洲香蕉精品区麻豆| 最新国产AV无码专区亚洲| 亚洲日本va在线视频观看| 亚洲AV无码1区2区久久| 亚洲特级aaaaaa毛片| 亚洲三级中文字幕| 亚洲а∨精品天堂在线| 亚洲免费视频一区二区三区| 亚洲国产高清国产拍精品| 亚洲美女高清一区二区三区| 亚洲啪啪AV无码片|