国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Rman Duplicate踩坑之路

IT那活兒 / 2013人閱讀
Rman Duplicate踩坑之路

點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了?。?!

 




某核心系統業務需要搭建DG,數據庫版本11204,數據量20T,采用RMAN DUPLICATE方式進行搭建。


本文分享下搭建過程中踩到的坑。

 

坑-1:ORA-15041

 

20T數據量duplicate了9個小時,眼看快要結束了,結果報錯了!心里頓時一萬個***。
從Duplicate腳本的報錯看不明顯:
input datafile file number=00372 name=+DG_SSD_DATA1/TESTDATA/datafile/d_mt_01.11.dbf
RMAN-03009: failure of backup command on c1 channel at 03/02/2022 21:19:58
ORA-17628: Oracle error 19505 returned by remote Oracle server
continuing other job steps, job failed will not be re-run
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 03/02/2022 21:21:47
RMAN-05501: aborting duplication of target database
RMAN-03015: error occurred in stored script Memory Script
檢查備庫alert日志報錯磁盤空間不足,但實際上備庫分配的磁盤是大于主庫磁盤,且檢查備庫剩余空間有4T左右:
ASMCMD> lsdg
State Type Total_MB Free_MB Usable_file_MB Name
MOUNTED EXTERN 21964800  4239454     4239454
ORA-19505: failed to identify file "+DG_SSD_DATA1/TESTDATA/datafile/tbs_csp_pub_dat.3.dbf"
ORA-17502: ksfdcre:4 Failed to create file +DG_SSD_DATA1/TESTDATA/datafile/tbs_csp_pub_dat.3.dbf
ORA-15041: diskgroup "+DG_SSD_DATA1" space exhausted
懷疑是磁盤未rebalance完成,而實際當前未發生rebalance,查詢v$asm_disk視圖發現asm_rhdisk67這塊50G的盤(其它數據盤都是200G)free_mb為0,猜測是磁盤大小不一致在asm_rhdisk67耗盡后導致rebalance異常:
SQL> select * from v$asm_operation;
no rows selected
SQL> select STATE,OS_MB,TOTAL_MB,FREE_MB,NAMe,path,HEADER_STATUS from v$asm_disk;
204800 204800 204672 +DG_SSD_DATA1_0060 /dev/asmdisk/asm_rhdisk73 MEMBER
51200 51200 0 +DG_SSD_DATA1_0054 /dev/asmdisk/asm_rhdisk67 MEMBER
剔除該盤后,重新發起duplicate恢復正常
SQL> alter diskgroup DG_SSD_DATA1 drop disk DG_SSD_DATA1_0054;

 

坑-2:ORA- 16058

 

重新duplicate后沒有再報磁盤不足錯誤,觀察所有數據文件已復制完成,最后拋出ORA-16058錯誤,從報錯看缺失的數據文件是某備份廠家用于數據同步創建到nas盤中的,
實際上數據庫中并沒有這部分數據文件:
channel c16: reading from backup piece /home/oracle/admdata/test4/s40ne8rt_1_1.dbf
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 03/03/2022 06:57:14
RMAN-05501: aborting duplication of target database
RMAN-03015: error occurred in stored script Memory Script
ORA-19870: error while restoring backup piece /home/oracle/admdata/test4/p40ne63n_1_1.dbf
ORA-19505: failed to identify file "/home/oracle/admdata/test4/p40ne63n_1_1.dbf"
ORA-27037: unable to obtain file status
IBM AIX RISC System/6000 Error: 2: No such file or directory
Additional information: 3
檢查主備庫控制文件中并沒有記錄缺失的數據文件,asm磁盤中主庫歸檔已經全部同步過來。
嘗試起到read only狀態,啟動成功并成功應用前期傳輸過來的歸檔。此時打開實時應用后發現MRP進程始終在等待日志,RFS進程無法接受日志,檢查主庫alert日志提示備庫并沒有mount,實際上備庫當前已經open:
Thread 1 advanced to log sequence 782171 (LGWR switch)
Current log# 3 seq# 782171 mem# 0: +DG_SSD_DATA1/TESTDATA/onlinelog/redo_a31.log
Current log# 3 seq# 782171 mem# 1: +DG_SSD_DATA1/TESTDATA/onlinelog/redo_a32.log
******************************************************************
LGWR: Setting active archival for destination LOG_ARCHIVE_DEST_2
******************************************************************
Error 16058 for archive log file 3 to c5oyy6
Errors in file /oracle_log/diag/rdbms/orcl/orcl01/trace/orcl01_nsa2_37095956.trc:
ORA-16058: standby database instance is not mounted
Error 16058 for archive log file 3 to orcl01
*** 2022-03-03 09:28:36.788 2917 krsi.c
krsi_dst_fail: dest:2 err:16058 force:0 blast:1
ORA-16058: standby database instance is not mounted
查閱相關資料顯示,該報錯是由于缺失文件導致,所以問題還是需要回到備份到nas盤的數據文件出現在duplicate復制中。
了解到該備份廠家備份的原理是通過rman copy到文件系統中的,而當RMAN做COPY時,會在v$datafile_copy中為新文件插入一條記錄,當我在做duplicate過程中會去讀v$datafile_copy的記錄,檢查該備份發起的時間點和我發起duplicate的時間點重合,所以會導致上述錯誤。
好了,問題產生原因明確了,開始處理問題吧:
step1. 
首先確認v$datafile_copy中記錄的文件:
RMAN> list copy of database;(list datafilecopy all)
List of Datafile Copies
=======================
Key File S Completion Time Ckp SCN Ckp Time
------- ---- - ------------------- ---------- -------------------
66159   354  X 2022-03-02 06:45:51 17711013044918 2022-03-02 03:06:22
/home/oracle/admdata/yy4/data_D-ORAYY4_I-3895103819_TS-I_LOG_02_FNO-354_gj0dsk1h.dbf
…………………………..
select count(*) from v$datafile_copy where deleted=NO ;
COUNT(*)
------------------
836
step2. 
開始清理v$datafile_copy中記錄的文件:
語法:change datafilecopy  uncatalog;
RMAN> change datafilecopy 66488  uncatalog;
……………………….
OR:
RMAN> delete datafilecopy all;
確認:
RMAN> list copy of database;
specification does not match any datafile copy in the repository
RMAN> list datafilecopy all;
specification does not match any datafile copy in the repository
select count(*) from v$datafile_copy where deleted=NO ;
step3. 
重啟備庫,開啟實時應用,觀察日志已正常傳輸過來:
alter database recover managed standby database disconnect from session
Attempt to start background Managed Standby Recovery process (oyy6a)
Thu Mar 03 10:38:04 2022
MRP0 started with pid=85, OS id=6620784
MRP0: Background Managed Standby Recovery process started (oyy6a)
Archived Log entry 300 added for thread 1 sequence 782150 rlc 845074400 ID 0xda3fe1 dest 2:
Thu Mar 03 10:38:06 2022
Archived Log entry 301 added for thread 1 sequence 782151 rlc 845074400 ID 0xda3fe1 dest 2:
RFS[12]: Opened log for thread 1 sequence 782153 dbid -399863477 branch 845074400
RFS[7]: Opened log for thread 1 sequence 782154 dbid -399863477 branch 845074400
Archived Log entry 302 added for thread 1 sequence 782152 rlc 845074400 ID 0xda3fe1 dest 2:

 

坑-3:RNAN-05517

 

Duplicate過程中還有個小錯誤,這里也作為一個案例分享下吧。
RMAN報錯tempfile和目標數據庫沖突,檢查備庫端tempfile文件實際上是沒有傳輸過來:
RMAN-03002: failure of Duplicate DD conmand at 03/1/2022 2:11:16
RMAN-05501: aborting duplication of target database
RNAN-05517: tempfile +DG DG_SSD_DATA1/TESTDATA/tempfile/temp.5.dbf conflicts with File used by target database
RNAN-05517: tempfile +DG DG_SSD_DATA1/TESTDATA/tempfile/temp.4.dbf conflicts with File used by target database
RNAN-05517: tempfile +DG DG_SSD_DATA1/TESTDATA/tempfile/temp.3.dbf conflicts with File used by target database
RNAN-05517: tempfile +DG DG_SSD_DATA1/TESTDATA/tempfile/temp.2.dbf conflicts with File used by target database
RNAN-05517: tempfile +DG DG_SSD_DATA1/TESTDATA/tempfile/temp.1.dbf conflicts with File used by target database
查看備庫配置的db_file_name_convert參數配置看似問題不大,懷疑是tempfile和datafile不在一個目錄導致無法傳輸:
修改前:
*.db_file_name_convert=+DG_SSD_DATA1/TESTDATA/datafile/,+DG_C4OXY6_SSD_DATA1/c4oxy6/datafile/
修改后:
*.db_file_name_convert=+DG_SSD_DATA1/TESTDATA/datafile/,+
DG_SSD_DATA1/TESTDATA/datafile/
,+DG_SSD_DATA1/TESTDATA/tempfile/,+DG_SSD_DATA1/TESTDATA/tempfile/
調整之后重新發起duplicate,temp文件正常傳輸。

 

結 語

 

以上就是本次Duplicate過程踩到的3個坑,20T數據量,發起一次10小時左右,來回倒騰了好幾次,著實不容易,不過也收獲了不少經驗,希望以上分享能給大家帶來幫助。



本文作者:周 慶

本文來源:IT那活兒(上海新炬王翦團隊)

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129480.html

相關文章

  • pg_rman備份工具(下)

    pg_rman備份工具(下) img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; marg...

    不知名網友 評論0 收藏1409
  • RxDB:indexedDB的踩坑之路

    摘要:的踩坑之路目前國內社區關于的資料較少,這篇文章是為了記錄自己使用中遇到的一些問題解決總結,不會涉及到基本知識的科普,如果有同學有興趣,再另外開一篇文章吧。這也是一個先這樣吧,想到什么再寫咯 RxDB:indexedDB的踩坑之路 目前國內社區關于RxDB的資料較少,這篇文章是為了記錄自己使用中遇到的一些問題解決總結,不會涉及到基本知識的科普,如果有同學有興趣,再另外開一篇文章吧。 sh...

    Scott 評論0 收藏0
  • Windows平臺下Oracle數據庫備份腳本

    摘要:以下腳本是我在項目工作中使用的備份腳本,腳本都是自己寫的。簡介此套腳本可以實現對數據庫實現全備份和增量備份。綜合以上兩種利弊,比較好的方式是在出現丟失備份或的情況下,通知管理員處置,手工處理之后備份腳本運行恢復正常。 以下腳本是我在項目工作中使用的備份腳本,腳本都是自己寫的。但在使用過程中,感覺還有提供空間,我這個人有點懶,所以想用將腳本開源出來的方式督促自己完善這一套腳本。大家如果對...

    tomorrowwu 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<