Oracle 11.2.0.1.0升級到11.2.0.4.7案例一則
總體思路:
(1) 備份資料庫
(2) 備份oracle目錄
(3)
執行11.2.0.4.0
patchset,升級oracle 軟體
(4) 執行dbua 或者指令碼升級例項,從11.2.0.1.0升級到11.2.0.4.0
(5) 使用opatch打小補丁,從
11.2.0.4.0升級到11.2.0.4.7
(6) 檢查升級後的版本資訊和無效物件
一.備份資料庫
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
backup as compressed backupset full database format='/backup/rman/db%d_%s_%p';
sql 'alter system archive log current';
backup format='/backup/rman/ac%d_%s_%p' archivelog all delete all input;
backup current controlfile format='/backup/rman/con%d_%s_%p';
release channel c1;
release channel c2;
release channel c3;
release channel c4;
}
二. purge dba_recylebin;
三.shutdown immediate
lsnrctl stop LISTENER_FMS
四. 備份ORACLE_HOME
tar cvf product.zip /oracle/product/
tar cvf oraInventory.zip /oracle/oraInventory/
五.上傳安裝包並解壓安裝
1. 上傳11.2.0.4.0 patch set
2. export DISPLAY=192.168.12.12:0.0
3. ./runInstaller
4.忽略郵件
5.選擇第三個選項,skip software update,
6.選擇upgrade an existing database。
7.安裝位置
原安裝目錄是/oracle/product/11.2.0/dbhome_1 ,改成了/oracle/product/11.2.0.4/dbhome_1 即將oracle 安裝到其他位置,這樣可以減少當機時間,也是oracle 推薦的方法。
8.Inventory directory:如有,將安裝檔案存放到其他目錄:/oracle/oraInventory2。
9.執行指令碼:裡面的路徑可覆蓋,最好另起目錄 /oracle/product/11.2.0.4/dbhome_1/root.sh
10.配置監聽:
這裡會提示配置監聽,因為監聽之前已經存在,所以這裡取消監聽配置。選擇skip
11.跳過監聽配置之後,便是使用dbua工具升級,這個可預設按提示一路預設next,
或是,跳過dbua直接完成安裝,而後選擇指令碼升級。
六.使用圖形介面DBUA工具完成升級,僅需要環境變數和複製network目錄。
1. 修改Oracle的.profile 檔案
我們重新指定了ORACLE_HOME,需要更新到.profile 裡。
ORACLE_HOME=/oracle/product/11.2.0.4/dbhome_1
2.複製配置檔案
具體操作步驟: cp /oracle/product/11.2.0/dbhome_1/dbs/* /oracle/product/11.2.0.4/dbhome_1/dbs/ (使用dbua跳過此步)
cp -R /oracle/product/11.2.0/dbhome_1/network/admin/* /oracle/product/11.2.0.4/dbhome_1/network/admin/
3.必要時再執行升級檢查指令碼:
sqlplus / as sysdba
startup upgrade;
spool /home/oracle/utlu112i_check.txt
@?/rdbms/admin/utlu112i.sql --檢查
spool off;
注意此時oracle 例項是執行在新的ORACLE_HOME下.
七. 如選擇手工執行指令碼升級,在以上五後按以下步驟。
1. 修改Oracle的.profile 檔案
我們重新指定了ORACLE_HOME,需要更新到.profile 裡。
ORACLE_HOME=/oracle/product/11.2.0.4/dbhome_1
2. 修改/etc/oratab 中的 ORACLE_HOME路徑為新的路徑。
vi /etc/oratab
3.複製配置檔案
具體操作步驟: cp /oracle/product/11.2.0/dbhome_1/dbs/* /oracle/product/11.2.0.4/dbhome_1/dbs/
cp -R /oracle/product/11.2.0/dbhome_1/network/admin/* /oracle/product/11.2.0.4/dbhome_1/network/admin/
4.執行升級檢查指令碼:
sqlplus / as sysdba
startup upgrade;
spool /home/oracle/utlu112i_check.txt
@?/rdbms/admin/utlu112i.sql --檢查
spool off;
5.如有不滿足
則進行修改
alter system set xxx=xxx scope=spfile;
shutdown immeidate;
startup mount;
alter database flashback on;
select * from v$restore_point;
@?/rdbms/admin/utlu112i.sql
6.升級
shutdown immediate;
startup upgrade;
set echo on
spool /home/oracle/upgrade.log
set time on;
@?rdbms/admin/catupgrd.sql
spool off;
八.完成11.2.0.1.0升級11.2.0.4.0後便是進行PSU到11.2.0.4.7
1.備份原有OPatch: mv OPatch OPatch_bak
2.解壓新的OPatch,unzip 升級11.2.0.4.7要求至少是 11.2.0.3.6版本的opatch.
3.解壓opatch 補丁包。
4.cd 到補丁目錄下,執行以下命令,進行補丁檢測。
/oracle/product/11.2.0.4/dbhome_1/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
5. sqlplus / as sysdba
shutdown immediate
並退出所有sqlplus 視窗
6.打補丁:在補丁目錄下 /oracle/product/11.2.0.4/dbhome_1/OPatch/opatch apply
是否繼續? [y|n]
y
User Responded with: Y
All checks passed.
提供電子郵件地址以用於接收有關安全問題的通知, 安裝 Oracle Configuration Manager 並啟動它。如果您使用 My Oracle
Support 電子郵件地址/使用者名稱, 操作將更簡單。
有關詳細資訊, 請訪問 。
電子郵件地址/使用者名稱:
尚未提供電子郵件地址以接收有關安全問題的通知。
是否不希望收到有關安全問題 (是 [Y], 否 [N]) [N] 的通知: y
本地系統是否已準備打補丁? [y|n]
y
User Responded with: Y
Backing up files...
Applying sub-patch '17478514' to OH '/opt/app/oracle/product/11.2.0/dbhome_1'
7.完成,並檢查log。
Composite patch 20760982 successfully applied.
OPatch Session completed with warnings.
Log file location: /oracle/product/11.2.0.4/dbhome_1/cfgtoollogs/opatch/opatch2015-10-15_20-50-03PM_1.log
OPatch completed with warnings.
8.例項打補丁
cd $ORACLE_HOME/rdbms/admin
sqlplus / as sysdba
startup
@catbundle.sql psu apply
9.完成例項打補丁,檢查日誌
Check the following log file for errors:
/oracle/product/11.2.0.4/dbhome_1/cfgtoollogs/catbundle/catbundle_PSU_FMSS_APPLY_2015Oct15_20_55_14.log
10.驗證補丁是否應用成功:
[/oracle/product/11.2.0.4/dbhome_1/rdbms/admin]#cd ../../OPatch
[/oracle/product/11.2.0.4/dbhome_1/OPatch]#./opatch lspatches
20760982;Database Patch Set Update : 11.2.0.4.7 (20760982)
11.查詢版本資訊
select * from dba_registry_history;
12.編譯失效物件。
@?/rdbms/admin/utlrp.sql
13.重啟監聽 :lsnrctl start
14.在執行一段時間後正常,更改compatible引數
oracle升級回退方案
一.回退版本到11.2.0.1.0
1.恢復ORACLE相關的目錄。
2.使用閃回功能進行回退(在未更改compatible引數前提下)
--在升級庫前確定閃回是否開啟。
select flashback_on from v$database;
--alter database flashback on;
--建立閃回點
alter database
create restore point UPGRADE_ROLLBACK guarantee flashback database;
select * from v$restore_point;
--升級失敗後執行閃回資料庫到閃回點。
sqlplus / as sysdba
shutdown immediate;
startup mount;
flashback database to restore point UPGRADE_ROLLBACK;
alter database open resetlogs;
--刪除恢復點,無論需不需要閃回記得刪除。
select * from v$restore_point;
drop restore point grpt;
3.升級前後都做一次全庫rman 備份,保證資料遭到損壞時可以恢復。
二.回退opatch 到11.2.0.4.0
1.停止資料庫
停止監聽
lsnrctl status
lsnrctl stop
清理LOCAL=NO的程式
ps -ef| grep LOCAL=NO | grep -v grep | awk '{print "kill -9 " $2}' | sh
停止資料庫
SQL> alter system checkpoint;
SQL> shutdown immediate
確保所有與oracle相關的程式都被停掉,包括本地的sqlplus連線也需要退出
2.補丁回退
su – oracle
$ORACLE_HOME/OPatch/opatch rollback -id 20760982
$ORACLE_HOME/OPatch/opatch lsinventory –bugs_fixed | grep -i database
3.回退資料註冊資訊
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle_PSU_FMSS_ROLLBACK.sql
SQL> QUIT
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29863023/viewspace-1818053/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一文搞懂Oracle 0 至 6 級鎖(附案例詳解)Oracle
- 一次Oracle診斷案例-Spfile案例Oracle
- oracle rac 11.2.0.3 升級到11.2.0.4Oracle
- AMDU資料抽取案例一則
- oracle 10 rac 升級 10.2.0.1升級到10.2.0.5Oracle
- Oracle億級大表高效刪除案例分析Oracle
- 【Oracle】Oracle wrong result一則(優化器問題)Oracle優化
- Oracle當機案例彙總(一)Oracle
- oracle資料庫11.2.0.3升級到11.2.0.4Oracle資料庫
- oracle一次卡頓案例(三)Oracle
- oracle一次卡頓案例(四)Oracle
- 【UP_ORACLE】Oracle 19c之從19.3升級到19.9Oracle
- Oracle 18C升級到19COracle
- Oracle 12C升級到18COracle
- Oracle 11g升級到12COracle
- Python+pandas+matplotlib視覺化案例一則Python視覺化
- 用python客戶價值分析案例一則Python
- 靜默升級oracle 11g (從11.2.0.1升級到11.2.0.4)Oracle
- Oracle效能優化-SQL優化(案例一)Oracle優化SQL
- 一次ORACLE IO效能診斷案例Oracle
- Oracle 某行系統SQL優化案例(一)OracleSQL優化
- 從一則案例解析js正則的String物件的replace方法使用技巧JS物件
- ORACLE9I升級到10G(zt)Oracle
- Oracle案例12——NBU Oracle恢復Oracle
- ORACLE診斷案例Oracle
- 使用DBUA升級 Oracle 11.2.0.4到Oracle 19C的問題記錄Oracle
- Oracle 0至6級鎖的通俗解釋及實驗案例Oracle
- oracle一次卡頓案例(六)-latch freeOracle
- Oracle_SQL部分_時間轉換(案例一)OracleSQL
- Oracle 11gRac 測試案例(一)目錄Oracle
- oracle例項啟動異常慢案例一Oracle
- 一次Oracle診斷案例-SGA與SwapOracle
- PHP 正則獲取域名(一級域名)PHP
- oracle undo分配規則Oracle
- Oracle 字符集從GBK升級到Utf8Oracle
- 記錄一則clear重做日誌檔案的案例
- Java方法設計原則與實踐:從Effective Java到團隊案例Java
- 【DG】Oracle之級聯DG--(cascade dg) --(一主一備一級聯)Oracle
- Windows升級到oracle 11g的異機物理升級文件(冷備)WindowsOracle