oracle10g升級到oracle11g操作記錄
最近在測試環境做了一個資料庫的升級,將相關操作步驟簡要記錄如下:
1.將10.2.0.1升級到10.2.0.4
1.1更新oracle TimeZone版本
1.1.1查詢源庫TimeZone版本
SQL> select * from v$timezone_file;
FILENAME VERSION
------------ ----------
timezlrg.dat 2
1.1.2檢查是否儲存含有TZ的使用者資料
select c.owner || '.' || c.table_name || '(' || c.column_name || ') -' || c.data_type || ' ' col
from dba_tab_cols c, dba_objects o
where c.data_type like '%TIME ZONE'
and c.owner=o.owner
and c.table_name = o.object_name
and o.object_type = 'TABLE'
order by col
/
查詢結果的owner如果只包含sys和WMSYS則表示不包含使用者的TZ資料
查詢是否含有非標準的scheduler_job
SQL> SELECT object_name FROM dba_objects WHERE object_id IN (SELECT obj# FROM scheduler$_window);
OBJECT_NAME
-----------------------------
WEEKNIGHT_WINDOW
WEEKEND_WINDOW
SQL> SELECT object_name FROM dba_objects WHERE object_id IN (SELECT obj# FROM scheduler$_job);
OBJECT_NAME
-----------------------------
PURGE_LOG
FGR$AUTOPURGE_JOB
GATHER_STATS_JOB
AUTO_SPACE_ADVISOR_JOB
RLM$EVTCLEANUP
RLM$SCHDNEGACTION
查詢結果中包含有以上結果之外的話表示含有非標準的scheduler_job,即使用者自定義scheduler_job
除了資料庫中既不包含TZ的使用者資料又沒有自定義的scheduler_job外,其餘任何情況都需要校驗哪些資料受時區影響
1.1.3查詢受時區影響的資料
1.1.3.1下載utltzpv4.sql指令碼
1.1.3.2執行utltzpv4.sql指令碼
1.1.3.3查詢執行結果
SQL> select * from sys.sys_tzuv2_temptab;
no rows selected
如果無結果返回則表示時區更新操作可以忽略,如果有返回資料則可以呼叫以下相應指令碼解決!
prepare_tzuv.sql:自動建立備份表
restore_tzuv.sql:更新完時區檔案後可以使用該指令碼還原原始資料
clean_tzuv.sql: 確認資料正確恢復後可以使用該指令碼刪除備份表
1.2停止oracle所有相關程式
emctl stop dbconsole
isqlplusctl stop
lsnrctl stop
sqlplus / as sysdba
SQL> SHUTDOWN IMMEDIATE
1.3備份系統
Oracle Inventory
Oracle 10g home
1.4安裝10.2.0.4 Patchset(覆蓋安裝)
./runInstaller
1.5更新Oracle database 10.2.0.1 to 10.2.0.4(可以使用dbua或者手動更新,這裡我選擇手動更新)
1.5.1執行更新前資訊工具
SQL> STARTUP UPGRADE
SQL> SPOOL upgrade_info.log
SQL> @?/rdbms/admin/utlu102i.sql
SQL> SPOOL OFF
檢查upgrade_info.log日誌資訊,將相關警告及錯誤一一解決
1.5.2更新資料庫
lsnrctl start
sqlplus / as sysdba
SQL> STARTUP UPGRADE
SQL> SPOOL patch.log
SQL> @?/rdbms/admin/catupgrd.sql
SQL> SPOOL OFF
檢查patch.log日誌資訊,將相關警告及錯誤一一解決
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
SQL> @?/rdbms/admin/utlrp.sql
SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
如果以上輸出的status都為valid則表示升級成功
2.將10.2.0.4升級到11.2.0.3
2.1安裝11.2.0.3的PATCHSET(安裝在新的ORACLE_HOME下)
2.2升級前的預檢查
sqlplus / as sysdba
SQL> SPOOL upgrade_info.log
SQL> @$11g_ORACLE_HOME/rdbms/admin/utlu112i.sql
SQL> SPOOL OFF
檢查upgrade_info.log日誌資訊,將相關警告及錯誤一一解決
2.3手動升級資料庫
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP UPGRADE
SQL> SPOOL upgrade.log
SQL> @catupgrd.sql
SQL> STARTUP
SQL> @utlu112s.sql
SQL> @catuppst.sql
SQL> @utlrp.sql
SQL> SELECT count(*) FROM dba_invalid_objects;
SQL> SELECT distinct object_name FROM dba_invalid_objects;
1.將10.2.0.1升級到10.2.0.4
1.1更新oracle TimeZone版本
1.1.1查詢源庫TimeZone版本
SQL> select * from v$timezone_file;
FILENAME VERSION
------------ ----------
timezlrg.dat 2
1.1.2檢查是否儲存含有TZ的使用者資料
select c.owner || '.' || c.table_name || '(' || c.column_name || ') -' || c.data_type || ' ' col
from dba_tab_cols c, dba_objects o
where c.data_type like '%TIME ZONE'
and c.owner=o.owner
and c.table_name = o.object_name
and o.object_type = 'TABLE'
order by col
/
查詢結果的owner如果只包含sys和WMSYS則表示不包含使用者的TZ資料
查詢是否含有非標準的scheduler_job
SQL> SELECT object_name FROM dba_objects WHERE object_id IN (SELECT obj# FROM scheduler$_window);
OBJECT_NAME
-----------------------------
WEEKNIGHT_WINDOW
WEEKEND_WINDOW
SQL> SELECT object_name FROM dba_objects WHERE object_id IN (SELECT obj# FROM scheduler$_job);
OBJECT_NAME
-----------------------------
PURGE_LOG
FGR$AUTOPURGE_JOB
GATHER_STATS_JOB
AUTO_SPACE_ADVISOR_JOB
RLM$EVTCLEANUP
RLM$SCHDNEGACTION
查詢結果中包含有以上結果之外的話表示含有非標準的scheduler_job,即使用者自定義scheduler_job
除了資料庫中既不包含TZ的使用者資料又沒有自定義的scheduler_job外,其餘任何情況都需要校驗哪些資料受時區影響
1.1.3查詢受時區影響的資料
1.1.3.1下載utltzpv4.sql指令碼
1.1.3.2執行utltzpv4.sql指令碼
1.1.3.3查詢執行結果
SQL> select * from sys.sys_tzuv2_temptab;
no rows selected
如果無結果返回則表示時區更新操作可以忽略,如果有返回資料則可以呼叫以下相應指令碼解決!
prepare_tzuv.sql:自動建立備份表
restore_tzuv.sql:更新完時區檔案後可以使用該指令碼還原原始資料
clean_tzuv.sql: 確認資料正確恢復後可以使用該指令碼刪除備份表
1.2停止oracle所有相關程式
emctl stop dbconsole
isqlplusctl stop
lsnrctl stop
sqlplus / as sysdba
SQL> SHUTDOWN IMMEDIATE
1.3備份系統
Oracle Inventory
Oracle 10g home
1.4安裝10.2.0.4 Patchset(覆蓋安裝)
./runInstaller
1.5更新Oracle database 10.2.0.1 to 10.2.0.4(可以使用dbua或者手動更新,這裡我選擇手動更新)
1.5.1執行更新前資訊工具
SQL> STARTUP UPGRADE
SQL> SPOOL upgrade_info.log
SQL> @?/rdbms/admin/utlu102i.sql
SQL> SPOOL OFF
檢查upgrade_info.log日誌資訊,將相關警告及錯誤一一解決
1.5.2更新資料庫
lsnrctl start
sqlplus / as sysdba
SQL> STARTUP UPGRADE
SQL> SPOOL patch.log
SQL> @?/rdbms/admin/catupgrd.sql
SQL> SPOOL OFF
檢查patch.log日誌資訊,將相關警告及錯誤一一解決
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
SQL> @?/rdbms/admin/utlrp.sql
SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
如果以上輸出的status都為valid則表示升級成功
2.將10.2.0.4升級到11.2.0.3
2.1安裝11.2.0.3的PATCHSET(安裝在新的ORACLE_HOME下)
2.2升級前的預檢查
sqlplus / as sysdba
SQL> SPOOL upgrade_info.log
SQL> @$11g_ORACLE_HOME/rdbms/admin/utlu112i.sql
SQL> SPOOL OFF
檢查upgrade_info.log日誌資訊,將相關警告及錯誤一一解決
2.3手動升級資料庫
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP UPGRADE
SQL> SPOOL upgrade.log
SQL> @catupgrd.sql
SQL> STARTUP
SQL> @utlu112s.sql
SQL> @catuppst.sql
SQL> @utlrp.sql
SQL> SELECT count(*) FROM dba_invalid_objects;
SQL> SELECT distinct object_name FROM dba_invalid_objects;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20801486/viewspace-1062624/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- CentOS6.9下升級預設的OpenSSH操作記錄(升級到OpenSSH_7.6p1)CentOS
- CentOS 6下gcc升級的操作記錄(由預設的4.4.7升級到6.4.0版本)CentOSGC
- # Laravel 5.5 升級到 6.0 踩坑記錄Laravel
- ORACLE10G升級11GOracle
- Laravel 5.5.* 升級到 5.7.* 問題記錄Laravel
- 【RMAN】Oracle11g透過rman升級到12cOracle
- 記錄從Winserver2012R2升級到Winserver2019Server
- vue-cli3.0 升級記錄Vue
- collection v1.3.1升級記錄
- 從10.2.0.1升級到10.2.0.5操作實驗(下)
- 升級 PHP7 過程記錄PHP
- collection v1.3.1升級全記錄
- 使用DBUA升級 Oracle 11.2.0.4到Oracle 19C的問題記錄Oracle
- confluence 4.2 升級至 6.10.x 記錄
- babel 升級 7.X 踩坑記錄Babel
- 技術分享 | tidb 2.1升級到4.0操作文件TiDB
- 記錄一次線上gitlab11.x升級gitlab14.x版本操作Gitlab
- OpenSSH升級(從OpenSSH_7.4p1升級到OpenSSH_8.4p1) [操作指令碼]指令碼
- oracle 10 rac 升級 10.2.0.1升級到10.2.0.5Oracle
- 升級redhat 6.8 預設gdb 7.2到gdb 8.3.1操作指南Redhat
- 老vue專案webpack3升級到webpack5全過程記錄(一)VueWeb
- Swift2.3升級到Swift3.0小記Swift
- ccproject升級到1135Project
- mongodb單機從3.2升級到4.0.4升級MongoDB
- 升級Xcode 10遇到的問題做個記錄XCode
- abp9 .net8 升級錯誤記錄
- goctl的1.2.3版本使用goctl migrate無法升級到1.3.0版本記錄Go
- linux操作記錄Linux
- Cocospod 升級到指定版本
- MySQL 5.7 升級到 8.0MySql
- Spring cloud系列十八 Spring Cloud 從Dalston.SR5到Greenwich.SR1 的升級記錄SpringCloud
- 電腦系統怎麼升級到win10?win7升級win10系統操作教程Win10Win7
- ABP Framework 手動升級指南:從6.0.1升級到7.0.0Framework
- kali linux升級記Linux
- MySQL5.5升級到MySQL5.7踩坑日記MySql
- windows7升級到win10會變流暢嗎 win7升級win10怎麼操作WindowsWin10Win7
- linux常用操作記錄Linux
- mongodb聚合操作記錄MongoDB
- PHP版本升級:從php7.1升級到php7.2PHP