Windows升級到oracle 11g的異機物理升級文件(冷備)
說明
環境說明
整個異機遷移升級文件分為以下幾部分:
操作步驟 |
操作內容 |
Step 1 |
搭建目標環境(安裝 軟體) |
Step 2 |
生產庫預升級檢查 |
Step 3 |
目標環境確認 |
Step 4 |
目標庫正式升級 |
Step 5 |
目標庫升級後檢查 |
本文件省略目標環境 Oracle 11g Rdbms 搭建步驟,只說明在目標環境部署之後整個異機遷移升級的實施過程。
目標環境部署
在目標伺服器安裝 Oracle 11.2.0.4 資料庫軟體
➤ 在軟體安裝完成之後,手動建立監聽
生產庫預升級檢查
備份(冷備/ 熱備 )
若原地升級,強烈建議對生產庫進行全庫備份(冷備 / 熱備)。若採用異機遷移升級,(即原生產庫正常可用),則跳過此步。
歸檔空間分配
若資料庫處於歸檔模式,則需要預留足夠的歸檔日誌空間。若資料庫歸檔未開,則跳過此步。
回收站清理
清空資料庫回收站
SQL> PURGE DBA_RECYCLEBIN; |
收集資料字典統計資訊
SQL> EXEC dbms_stats.gather_dictionary_stats; |
檢查資料庫元件
系統元件狀態確認。若元件狀態均為 VALID ,
SQL> set line 200 SQL> select COMP_ID,COMP_NAME,VERSION,STATUS from dba_registry; |
系統物件狀態確認。若沒有返回記錄,則表示正常
SQL> select object_name,status from dba_objects where owner='SYS' and status<>'VALID'; |
統計資料庫無效物件
無效物件收集
sqlplus /as sysdba
SQL> spool off SQL> select count(*),status from dba_objects group by status; SQL> create table invalid_object_20170601 as select * from dba_objects where status<>’VALID’; |
無效物件編譯
SQL> @?/rdbms/admin/utlrp.sql |
檔案檢查
SQL> col file_name for a50 SQL> set line 200 SQL> select tablespace_name,file_name,bytes/1024/1024 M,status from dba_temp_files order by 1; |
檢查檔案備份模式
確認是否有檔案處於備份模式。若有,則調整;若沒有返回記錄則正常
SQL> SELECT * FROM v$backup WHERE status != 'NOT ACTIVE'; |
和System 重複物件檢查 檔案檢查
確認是否有以下 4 行紅色記錄返回,若是,則正常
SQL> select object_name, object_type from dba_objects where (object_name,object_type) in (select object_name,object_type from dba_objects where owner = 'SYS') and owner ='SYSTEM'; OBJECT_NAME OBJECT_TYPE ---------------------------------- ------------------- AQ$_SCHEDULES TABLE AQ$_SCHEDULES_PRIMARY INDEX DBMS_REPCAT_AUTH PACKAGE DBMS_REPCAT_AUTH PACKAGE BODY |
執行預升級檢查指令碼
從目標伺服器複製 $ORACLE_HOME/rdbms/admin/utlu112i.sql 至生產伺服器 C:\upgrade 資料夾下
手動執行預升級指令碼 C:\upgrade\utlu112i.sql
sqlplus / as sysdba SQL> spool upgeade_info.log SQL> @utlu112i.sql SQL> spool off |
注:不同資料庫,配置可能不同,輸出日誌也是各樣,根據預升級指令碼輸出日誌進行調整。
建立初始化引數檔案
引數檔案路徑、名稱均可自定義
SQL> create pfile='C:\upgrade\initorcl.ora' from spfile; |
停生產庫
由於需要複製資料檔案、聯機日誌檔案、控制檔案、臨時檔案至目標伺服器,確保資料一致,因此需要停生產庫
SQL> shutdown immediate; |
目標環境確認
軟體檢查
確認 Oracle 11.2.0.4 資料庫軟體安裝無誤
確認監聽已經配置並開啟
引數檔案複製
將 10g 軟體下 C:\upgrade\initorcl.ora 引數檔案複製至將 11g 軟體 $ORACLE_HOME\database
密碼檔案複製
將 10g 軟體 $ORACLE_HOME\database 下密碼檔案複製至將 11g 軟體 $ORACLE_HOME\database
資料檔案複製
將 10g 環境資料檔案複製至 11g 目標端指定位置(停機複製)
臨時檔案複製
將 10g 環境臨時檔案複製至 11g 目標端指定位置(停機複製)
聯機日誌檔案複製
將 10g 環境聯機日誌檔案複製至 11g 目標端指定位置(停機複製)
控制檔案複製
將 10g 環境控制檔案複製至 11g 目標端指定位置(停機複製)
注意:若目標端資料檔案、臨時檔案、聯機日誌檔案、控制檔案路徑與生產端不一致,則需手動修改 rename
修改引數檔案
引數模板
*.audit_file_dest='C:\app\Administrator\admin\xuh\adump' *.compatible='10.2.0.3.0' *.control_files='C:\app\Administrator\oradata\xuh\control01.ctl','C:\app\Administrator\oradata\xuh\control02.ctl','C:\app\Administrator\oradata\xuh\control03.ctl' *.core_dump_dest='C:\app\Administrator\admin\xuh\cdump' *.db_block_size=8192 *.db_domain='' *.db_file_multiblock_read_count=16 *.db_name='xuh' *.db_recovery_file_dest='C:\app\Administrator\recovery' *.db_recovery_file_dest_size=1073741824 *.dispatchers='(PROTOCOL=TCP) (SERVICE=xuhXDB)' *.job_queue_processes=10 *.nls_language='SIMPLIFIED CHINESE' *.nls_territory='CHINA' *.open_cursors=300 *.pga_aggregate_target=633339904 *.processes=150 *.remote_login_passwordfile='EXCLUSIVE' *.sga_target=1610612736 *.undo_management='AUTO' *.undo_tablespace='UNDOTBS1' *.diagnostic_dest='C:\app\Administrator' |
注意:
*.audit_file_dest
*.control_files
*.db_recovery_file_dest
以上三個引數需要修改成實際路徑
*.background_dump_dest
*.user_dump_dest
以上兩個引數合併成以下引數
*.diagnostic_dest=$ORACLE_BASE ( 修改成實際路徑 )
修改目標庫檔案路徑
若目標庫資料檔案、臨時檔案、聯機日誌檔案、控制檔案路徑與生產端不一致,則需手動修改。否則, 跳過 3.9 。
目標庫啟動至 mount 狀態
Sqlplus / as sysdba SQL> startup mount; |
批次查詢修改語句
資料檔案
SQL> Set line 200 SQL> Set pagesize 0 SQL> select 'alter database rename file '||''''||name||''''||' to '||''''||' 實際路徑 '||substr(name,instr(name,'\',-1)+1)||''';' from v$datafile; |
聯機日誌檔案
SQL> Set line 200 SQL> Set pagesize 0 SQL> select 'alter database rename file '||''''||member||''''||' to '||''''||' 實際路徑 '||substr(member,instr(member,'\',-1)+1)||''';' from v$logfile; |
臨時檔案
SQL> Set line 200 SQL> Set pagesize 0 SQL> select 'alter database rename file '||''''||name||''''||' to '||''''||' 實際路徑 '||substr(name,instr(name,'\',-1)+1)||''';' from v$tempfile; |
停目標庫
Sqlplus / as sysdba SQL> shutdown immediate; |
目標庫正式升級
以upgrade 模式啟動目標庫
在 Oracle 11g 環境下,以升級模式開啟目標庫
$sqlplus / as sysdba SQL> startup upgrade; |
執行升級指令碼
Sqlplus / as sysdba SQL> spool upgrade20170601.log SQL> @?/rdbms/admin/catupgrd.sql SQL> spool off SQL> shutdown immediate; # 若資料庫已經停止,則跳過此步 SQL> startup; SQL> @?/rdbms/admin/utlrp.sql |
該指令碼執行時間約為 2 小時
目標庫升級後檢查
檢查資料庫元件
系統元件狀態確認
SQL> col COMP_NAME for a60 SQL> set line 200 SQL> select COMP_ID,COMP_NAME,VERSION,STATUS from dba_registry; |
統計資料庫無效物件
無效物件收集
sqlplus /as sysdba SQL> select owner,object_name,object_type,status from dba_objects where status<>'VALID'; SQL> select count(*),status from dba_objects group by status; |
無效物件編譯
SQL> @?/rdbms/admin/utlrp.sql |
資料字典資訊收集
SQL> EXEC DBMS_STATS.GATHER_DICTIONARY_STATS; |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23732248/viewspace-2887211/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 靜默升級oracle 11g (從11.2.0.1升級到11.2.0.4)Oracle
- Oracle 11g升級到12COracle
- spring升級到3.1.1 hibernate升級到4備忘Spring
- oracle for windows 11.2.0.1升級到11.2.0.4OracleWindows
- mongodb單機從3.2升級到4.0.4升級MongoDB
- oracle 10 rac 升級 10.2.0.1升級到10.2.0.5Oracle
- ORACLE EXADATA升級—從11.2.3.1.0到11.2.3.3.0–(8)升級交換機Oracle
- oracle 升級到 11.2.0.2Oracle
- oracle資料庫升級11.2.0.3升級到11.2.0.4Oracle資料庫
- 【Oracle升級】Oracle指令碼升級11g to 19c non-CDBOracle指令碼
- oracle從10.2.0.4升級到11.2.0.1的三種升級方法Oracle
- windows 下oracle從10.2.0.1升級到10.2.0.4WindowsOracle
- 連載三:Oracle升級文件大全Oracle
- 9.2.0.4 升級到10.2.0.5升級後 Oracle Ultra Search 元件NO SCRIPTOracle元件
- Windows 升級 powershellWindows
- Windows 下 oracle 10g升級到10.2.0.4的方法WindowsOracle 10g
- ORACLE10G升級11GOracle
- ORACLE 11g 升級補丁(Patch)Oracle
- windows環境下oracle 10.2.0.2升級到10.2.0.5WindowsOracle
- 生產庫升級:oracle 9.2.0.1升級oracle 9.2.0.8Oracle
- Oracle資料庫異機升級(10.2.0.5 --> 11.2.0.4)Oracle資料庫
- oracle 10.2.0.1 rac 升級到10.2.0.4 rac時,dbua升級的元件列表Oracle元件
- Windows下Mysql5.6升級到5.7WindowsMySql
- Oracle 11.2.0.4升級到12.2.0.1Oracle
- Oracle 11.2.0.1 升級到11.2.0.3Oracle
- ORACLE 11.2.0.1升級到11.2.0.3Oracle
- Oracle 11.2.0.1升級到11.2.0.3Oracle
- Oracle 10.2.0.1 升級到 10.2.0.4Oracle
- 靜默升級oracle到10.2.0.4Oracle
- oracle 10.2.0.2升級到10.2.0.4Oracle
- ORACLE EXADATA升級—從11.2.3.1.0到11.2.3.3.0–(1)升級簡介Oracle
- win8如何升級到win10_windows8升級windows10怎麼弄Win10Windows
- ORACLE EXADATA升級—從11.2.3.1.0到11.2.3.3.0–(9)升級後的檢查Oracle
- Windows下升級JDKWindowsJDK
- windows 2003,oracle 10.2.0.1升級到10.2.0.4WindowsOracle
- svn版本升級遷移和異地備份
- Oracle database 升級(文件)to 10.2.0.4 from 10.2.0.1OracleDatabase
- ORACLE EXADATA升級—從11.2.3.1.0到11.2.3.3.0–(7)升級Bundle Patch 23Oracle