oracle小版本升級patch過程和分析
看過很多篇關於oracle資料庫升級的文章,也做過相應的測試和生產環境中的實施,下面自己動手測試的一則比較完整的資料庫的10.2.0.1升級到10.2.0.5的步奏和分析,雖然不是很難,但是還是願意分析一下自己的思路。當然這種實施的還是推薦大家自己多動手,相信很快能掌握其中的要領
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 12G 8.5G 2.7G 77% /
/dev/sda2 1.9G 40M 1.8G 3% /home
tmpfs 385M 0 385M 0% /dev/shm
/dev/sdb1 4.6G 1.3G 3.2G 28% /backup
[root@localhost ~]# cd /backup/
[root@localhost backup]# ls
Disk1 lost+found README.html
上述的Disk1是下載的10.2.0.5的patch,oracle官網可能已經停止了oracle 10g相關方面的下載,有mos的可以直接從mos上download下來。
廢話一點自己的習慣:
個人有個習慣,做實施方面可能第一次我會嚴格參照文件上面來做,主要是保證其成功即可,而後自己還是喜歡去分析為什麼要這麼做,可能有自己的辦法可能也會同意大家的做法,想想自己從linux上安裝oracle,rac、asm等實施,懂得其中的緣由脫離文件也是一個非常容易的事情。
升級資料庫當然需要對資料庫軟體進行升級,而後對資料庫的資料檔案進行相應的update,軟體升級前我們要備份oracle的軟體,那麼資料檔案update當然需要備份其資料,那麼可以考慮的就有兩種了冷備和熱備。
軟體備份
[root@localhost backup]# su - oracle
[oracle@localhost ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Sep 6 10:36:55 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
[oracle@localhost ~]$ cd $ORACLE_HOME
[oracle@localhost db_1]$ pwd
/db/oracle/oracle/product/10.2.0/db_1
[oracle@localhost db_1]$ tar -cvzf ora_home.tar.gz ./
軟體升級主要是對ORACLE_HOME下的檔案進行修改,先對其打tar包。
資料檔案備份:
需要備份的檔案主要是spfile、controlfile、datafile,如果是採取的冷備份方式直接cp的方式備份資料檔案所在的目錄即可,而如果是熱備,則需要備份controlfile和datafile以及備份的control中未完全記錄的archivelog。
RMAN> run{
2> allocate channel disk1 type disk;
3> delete obsolete;
4> crosscheck backup;
5> delete expired backup;
6> backup database format '/backup/db_%d_%T_%s'
7> plus archivelog delete all input format '/backup/arch_%d_%T_%s';
8> backup current controlfile format '/backup/ctl_%d_%T_%s';
9> release channel disk1;
10> }
上述是自己經常用的全備份指令碼。
接下來正常關閉資料庫,此時buffer cache中的資料已經全部sync到disk中去,接下來可以放心的升級了!
RMAN> shutdown immediate;
升級軟體前請先關閉所有使用ORACLE_HOME下面的物件的程式,不然後續可能無法正常打patch。
這裡也可以利用oracle 10R2中的restore point功能來實現升級,由於生產庫一般是不開啟flashback database。
SQL>shutdown immediate;
SQL>startup mount;
SQL>create restore point upgrade guarantee flashback database;
這裡建立一個restore point upgrade,而後如果升級失效可以直接回退這個點,這樣也就不需要備份資料檔案和控制檔案了,restore point是記錄在控制檔案中,而後相應的記錄改變都會記錄在閃回區中,所以需要保證閃回恢復區的容量足夠大,相對於rman的恢復更節省了時間(不需要restore資料檔案)。
升級軟體完畢後需要用upgrade啟動資料庫,執行相應的資料字典更新和編譯失效的系統物件。
[oracle@localhost ~]$ cd /db/oracle/oracle/product/10.2.0/db_1/rdbms/admin/
[oracle@localhost admin]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.5.0 - Production on Thu Sep 6 23:06:17 2012
Copyright (c) 1982, 2010, Oracle. All Rights Reserved.
Connected to an idle instance.
SQL> startup upgrade;
ORACLE instance started.
Total System Global Area 524288000 bytes
Fixed Size 1274668 bytes
Variable Size 272633044 bytes
Database Buffers 247463936 bytes
Redo Buffers 2916352 bytes
Database mounted.
Database opened.
SQL>spool ‘/tmp/catupgrd.log’
SQL>start catupgrd.sql
更新資料字典,此過程比較漫長,適當的增加shared pool和java pool網路上說是可以增加更新速度,不過一般生產環境中肯定的是足夠的。
SQL>spool off;
SQL>shutdown immediate;
編譯失效的物件
SQL>startup;
SQL>start utltp.sql
SQL>start catalog.sql
SQL>start catproc.sql
檢查是否正常升級
SQL> col comp_name for a30
SQL> col version for a20
SQL> select comp_name,version from dba_registry;
SQL> select comp_name,version from dba_registry;
COMP_NAME VERSION
------------------------------ --------------------
Oracle Database Catalog Views 10.2.0.50
Oracle Database Packages and T 10.2.0.5.0
ypes
Oracle Workspace Manager 10.2.0.5.0
JServer JAVA Virtual Machine 10.2.0.5.0
Oracle XDK 10.2.0.5.0
……
升級全部完成,如果其中出現了不可預料的錯誤,我們至少可以正常回退軟體和資料檔案,不會影響系統的使用。
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25362835/viewspace-1059365/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Oracle版本升級圖--小麥苗】Oracle
- bitnami redmine版本由2.3.1升級至3.2.2過程
- ORACLE 11g 升級補丁(Patch)Oracle
- POSTGRESQL 小版本升級失敗後的原因分析SQL
- synchronized升級過程synchronized
- 檢查oracle的patch的升級情況Oracle
- 打怪(githug)升級過程Git
- 使用Out of Place升級策略進行Oracle Patch操作Oracle
- ORACLE EXADATA升級—從11.2.3.1.0到11.2.3.3.0–(7)升級Bundle Patch 23Oracle
- 一場版本升級引發的效能血案的追凶過程
- oracle版本升級路線圖Oracle
- 【PATCH】Oracle12c升級補丁初體驗Oracle
- JAVA物件分析之偏向鎖、輕量級鎖、重量級鎖升級過程Java物件
- Oracle舊版本透過資料遷移方式升級到新版本Oracle
- oracle 補丁種類和升級方法以及oracle RAC Rolling Patch 說明Oracle
- 記一次mysql小版本升級MySql
- centos7 ruby版本過低,升級ruby版本CentOS
- 12. Oracle版本、補丁及升級——12.3. 升級Oracle
- 升級 PHP7 過程記錄PHP
- Red Hat核心升級過程記錄
- ORACLE 死鎖分析過程Oracle
- node 版本升級
- gcc版本升級GC
- NiFi版本升級Nifi
- mysql57小版本升級操作指南MySql
- Dynamics 365 on-premises9.0版本開放下載,附上8.2升級9.0過程REM
- 詳細瞭解 synchronized 鎖升級過程synchronized
- 一次系統升級的過程
- oracle版本升級:從11.2.0.1到11.2.0.3Oracle
- ORACLE資料庫各個版本PATCHOracle資料庫
- A Oracle Data Guard Broker 升級和降級Oracle
- Apache DolphinScheduler 1.3.4升級至3.1.2版本過程中的踩坑記錄Apache
- python版本升級Python
- Grafana的版本升級和資料遷移Grafana
- 記錄:Oracle個版本的Patchset Patch NumbersOracle
- 單例項環境下Oracle 11.2.0.3升級到11.2.0.4的過程單例Oracle
- dbua升級oracle 10.2.0.1 0 到11.2.0.4 失敗後還原過程Oracle
- suse 9 上oracle0204 升級0208__it may not be patchOracle