一Oracle單機數據庫,版本為11.2.0.4,數據量超4TB,無備份,無空間進行備份存放備份集,且無條件進行NBU備份。客戶欲遷移升級到另一套19C中。
由于無臨時中轉的空間,遷移方案僅剩下數據泵+dblink和adgonline duplicate+升級數據字典兩種,由于數據泵需要較長的停機時間,所以本案采用了adg+數據字典升級的方案。
1.目標端軟件安裝
安裝完整的19CRAC軟件,打RU,但不建數據庫;同時在目標端安裝一個單機的11.2.0.4db軟件,因為duplicate只支持同版本復制,跨版本會出現如下錯誤:
2.源端配置ADG相關參數,配置網絡及TNS等
具體配置本處省略。
3.配置簡單的Pfile并啟動目標端數據庫到nomount狀態
DB_NAME=newcmsdb
DB_UNIQUE_NAME=newcmsdbadg
DB_BLOCK_SIZE=8192
使用11gdb軟件啟動數據庫
4.在線復制數據庫
$rman target sys/**@newcmsdb auxiliary sys/**@newcmsdbadg run{ allocatechannel prmy1 type disk; allocatechannel prmy2 type disk; allocatechannel prmy3 type disk; allocatechannel prmy4 type disk; allocateauxiliary channel stby type disk; duplicatetarget database for standby from active database spfile parameter_value_convertnewcmsdb,newcmsdbadg setdb_unique_name=newcmsdbadg setdb_file_name_convert=/oradata1/newcmsdb/,+DATA/newcmsdbadg/datafile1/,/oradata/newcmsdb/,+DATA/newcmsdbadg/datafile2/ setlog_file_name_convert=/oradata1/newcmsdb/,+DATA/newcmsdbadg/ONLINELOG/ setcontrol_files=+data setlog_archive_max_processes=5 setfal_client=newcmsdbadg setfal_server=newcmsdb setstandby_file_management=AUTO setlog_archive_config=dg_config=(newcmsdb,newcmsdbadg) setlog_archive_dest_1=location=+data setdb_create_file_dest=+data setlog_archive_dest_2=service=newcmsdb ASYNCvalid_for=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=newcmsdb; } |
以上命令會自動復制spfile并按腳本中的set命令修改spfile,然后以spfile重啟數據庫,自動復制controlfile,并啟動到mount狀態。
注意:
源端數據文件存放在不同目錄,一定要注意不同目錄中是否存在同名的數據文件,如果存在同名文件,在參數db_file_name_convert的時候,就需要轉換到不同的目錄,如果轉換到相同目錄,會導致數據文件覆蓋,但是在duplicate過程中不會報錯,在最后recover的過程中會報數據文件頭損壞:
Rereading datafile 5 header failed with ORA-01210 MRP0: Background Media Recovery terminated with error 1110 Errors in file /oracle/app/oracle/diag/rdbms/newcmsdbadg/cmsdb/trace/cmsdb_pr00_13040.trc: ORA-01110: data file 5: +DATA/newcmsdbadg/datafile/musicdata01.dbf ORA-01122: database file 5 failed verification check ORA-01110: data file 5: +DATA/newcmsdbadg/datafile/musicdata01.dbf ORA-01210: data file header is media corrupt |
使用DBV檢查壞塊,但是文件頭1號塊并未損壞
[oracle@node1 ~]$ dbv file=+DATA/newcmsdbadg/datafile/musicdata02.dbf userid=sys/** DBVERIFY: Release 11.2.0.4.0 - Production on Wed Nov 11 13:13:07 2020 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. DBVERIFY - Verification starting : FILE = +DATA/newcmsdbadg/datafile/musicdata02.dbf DBVERIFY - Verification complete Total Pages Examined : 4189440 Total Pages Processed (Data) : 4156396 Total Pages Failing (Data) : 0 Total Pages Processed (Index): 126 Total Pages Failing (Index): 0 Total Pages Processed (Other): 12829 Total Pages Processed (Seg) : 0 Total Pages Failing (Seg) : 0 Total Pages Empty : 20089 Total Pages Marked Corrupt : 0 Total Pages Influx : 0 Total Pages Encrypted : 0 Highest block SCN : 0 (0.0) |
源端查詢,發現在不同目錄有同名文件
SQL> select file#,name from v$datafile where name like %musicdata02.dbf; FILE# NAME ---------- ------------------------------------------------------------ 5 /oradata/newcmsdb/musicdata02.dbf 122 /oradata1/newcmsdb/musicdata02.dbf |
由于convert到相同目錄,導致多次寫入,覆蓋了文件頭,此類問題,如果少數兩個文件有問題,可考慮在源端重新備份數據文件到目標端,如果文件較多,只能考慮修改convert參數,重新進行duplicate了。
在源端進行19C升級相關的檢查和整改
禁用ddl觸發器
如果使用了APEX組件,需提前升級APEX
查Dba_Registry,檢查數據庫組件狀態
查失效對象,最好先進行重編譯或者刪除
下載并執行dbupgdiag.sql
目標端19C 打補丁29213893
修改參數job_queue_processes=0
檢查是否存在物化視圖,查看是否正在刷新
如果存在只讀表空間,修改為可讀寫
如果參數CLUSTER_DATABASE=TRUE,修改為false
清空審計表sys.aud$
清空回收站purge dba_recyclebin;
刪除em
emctlremove dbconsole
SQL>SETECHO ON
SQL>SETSERVEROUTPUT ON
SQL>@emremove.sql --在新版本的oracle_home中有該腳本
搜集數據字典統計信息EXEC DBMS_STATS.GATHER_DICTIONARY_STATS
執行預升級檢查腳本(腳本會檢查包括上述內容)
$ORACLE_HOME/jdk/bin/java-jar 新$ORACLE_HOME/rdbms/admin/preupgrade.jarFILE TEXT DIR output_dir
執行該腳本,會生成3個文件
/home/oracle/preupgrade.log
/home/oracle/preupgrade_fixups.sql
/home/oracle/postupgrade_fixups.sql
--檢查log文件,并執行preupgrade_fixups.sql
根據提示整改需手工修復的內容
6.recover數據庫,并failover成主庫
1.升級前在11g數據庫中創建還原點,萬一升級有異常,可回退
2.拷貝spfile、密碼文件等文件到19C oracle_home
3.使用19c軟件啟動數據庫startup upgrade
4.升級數據字典
cd$ORACLE_HOME/bin
./dbupgrade
5.執行腳本@?/rdbms/admin/utlusts.sql
6.重編譯失效對象
7.執行postupgrade_fixups.sql腳本
8.升級時區,11204時區是14,19C時區為32
$ORACLE_HOME/rdbms/admin/utltz_countstar.sql
$ORACLE_HOME/rdbms/admin/utltz_upg_check.sql
$ORACLE_HOME/rdbms/admin/utltz_upg_apply.sql
9.修改參數文件,以及其他相關收尾工作
altersystem set compatible=19.0.0 scope=spfile;
altersystem set cluster_database=true scope=spfile;
10.刪除第一步中建立的還原點
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/130081.html
摘要:問題九庫控制文件擴展報錯庫的擴展報錯,用的是裸設備,和還是原來大小,主庫的沒有報錯,并且大小沒有變,求解釋。專家解答從報錯可以看出,控制文件從個塊擴展到個塊時報錯,而裸設備最大只支持個塊,無法擴展,可以嘗試將參數改小,避免控制文件報錯。 鏈接描述引言 近期我們在DBASK小程序新關聯了運維之美、高端存儲知識、一森咖記、運維咖啡吧等數據領域的公眾號,歡迎大家閱讀分享。 問答集萃 接下來,...
RAC補丁日常更新成功反遇異常處理 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; m...
摘要:問題描述近期項目需要從虛擬機環境遷移到容器環境,其中有一個項目在遷移到容器環境之后的兩天之內出現了次死鎖的問題,部分關鍵日志如下日志還是挺明顯的,線程獲得了鎖,等待獲取而正好相反,從而導致死鎖問題分析以上的錯誤 問題描述 近期項目需要從虛擬機環境遷移到容器環境,其中有一個項目在遷移到容器環境之后的兩天之內出現了2次死鎖(deadlock)的問題,部分關鍵日志如下: Found one ...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20