從10.2.0.1升級到10.2.0.5操作實驗(上)
日常升級、打補丁是系統運維人員經常面對的工作專案。很多情況下,升級資料庫和打補丁是解決Oracle Bug的終極策略。
在Oracle 11gR2之前,Oracle普遍採用的是一種增量補丁升級策略。初始安裝都是一個比較低的基礎版本,比如10.2.0.1或者11.2.0.1,這些都是可以在官方網站上直接下載的版本。之後如果需要進行小版本升級或者特定bug修復,則需要到Oracle官方網站Oracle Support上下載專門的補丁包進行升級。我們常見的10.2.0.5和11.2.0.4都是用這些策略進行升級的。
在升級方面,Oracle官方會推出兩個版本的補丁包,CPU和PSU。CPU(Critical Patch Update)是對於其產品每個季度發行的安全補丁,主要是針對產品安全問題隱患的修復。而PSU(Patch Set Update)也是一個季度發行,包括了Bug修復,以及各種被認可低風險補丁。
進入11R2之後,Oracle更新策略有所變化。我們可以直接下載到高版本的PSU包,這些包其實就是全新的Oracle軟體包。目前我們安裝11.2.0.3和11.2.0.4,都可以直接安裝PSU,而不需要從基礎版進行升級。
本篇主要想記錄下歷史,介紹一下從10.2.0.1升級到10.2.0.5的步驟過程,留待需要的朋友待查。說明:本文實驗過程中參考了諸多網路資源,特此表示感謝。
1、環境介紹
我們已經在Redhat 6.5上成功安裝Oracle 10gR2,版本號為10.2.0.1。
[oracle@SimpleLinux ~]$ uname -r
2.6.32-431.el6.i686
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 – Production
當前作業系統使用者oracle關鍵環境變數如下:
[oracle@SimpleLinux ~]$ env | grep ORA
ORACLE_SID=ora11g
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
作業系統儲存和記憶體資源相對充足。
[oracle@SimpleLinux ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_simplelinux-LogVol00 29G 8.7G 19G 32% /
tmpfs 448M 0 448M 0% /dev/shm
/dev/sda1 485M 33M 427M 8% /boot
[oracle@SimpleLinux ~]$ free -m
total used free shared buffers cached
Mem: 894 332 561 0 20 241
-/+ buffers/cache: 70 824
Swap: 1999 0 1999
2、備份環境和補丁包準備
首先,我們需要將資料庫、監聽程式等相關物件進行關閉。根據不同的情況,ASM、DB Control也需要關閉。
[oracle@SimpleLinux ~]$ lsnrctl stop
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 13-MAY-2014 11:19:04
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
The command completed successfully
SQL> conn / as sysdba
Connected.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
下面需要備份環境。注意:升級過程是有風險的,特別是在生產環境下。兩個步驟是降低升級風險的重要策略:多次測試和資料備份。多次測試(在系統測試環境)可以幫助我們事先發現升級方案問題,準備應對策略,驗證方案。資料備份可以最大程度減少我們資料損失風險。
具體備份方法針對各自情況不同,可以選擇RMAN、冷備份、exp/expdp等。此處筆者選擇直接將目錄複製的完全方法。
[root@SimpleLinux upload]# mkdir /u02
[root@SimpleLinux upload]# cd /u01
[root@SimpleLinux u01]# cp -r * /u02
[root@SimpleLinux u01]#
正式進行動作前,要重新規劃確定升級步驟。本次升級要實現兩個補丁包,一個是10.2.0.5升級包,另一個是在10.2.0.5上執行的補丁包。在MOS上針對特定版本下載升級安裝包,並且上傳到伺服器上。
[root@SimpleLinux ~]# cd /upload/
[root@SimpleLinux upload]# ls -l
total 1082304
-rw-r--r-- 1 root root 4278863 May 13 11:27 p11724962_10205_LINUX.zip
-rw-r--r-- 1 root root 1103992900 May 13 11:29 p8202632_10205_LINUX.zip –升級10.2.0.5包
注意:我們升級資料庫是有兩個大的步驟,Oracle軟體升級和Oracle資料庫升級。可以回想一下我們在安裝資料庫的時候,是先安裝資料庫軟體(包括Grid、Clusterware),之後建立dbca資料庫。升級也是一樣,我們需要先把資料庫軟體更新為最新版本,之後清理已經存在的資料庫物件,使之升級為最新版本。
3、Oracle軟體升級
我們首先進行軟體升級動作,解壓安裝包。
[root@SimpleLinux upload]# ls -l
total 1082472
drwxr-xr-x 5 root root 4096 Jul 23 2010 Disk1
-rw-r--r-- 1 root root 4278863 May 13 11:27 p11724962_10205_LINUX.zip
-rw-r--r-- 1 root root 1103992900 May 13 11:29 p8202632_10205_LINUX.zip
-rwxrwxrwx 1 root root 165290 Jul 20 2010 README.html
root中給oracle使用者授權。
[root@SimpleLinux upload]# cd /
[root@SimpleLinux /]# chown -p oracle:oinstall upload/
chown: invalid option -- 'p'
Try `chown --help' for more information.
[root@SimpleLinux /]# chown -R oracle:oinstall upload/
[root@SimpleLinux /]#
升級軟體是在圖形化介面中進行,所需要配置XWindows或者vnc介面工具。執行目錄中的.runInstall指令碼,就可以啟動介面。如果環境變數配置正常,自動Path都會帶入到介面中。
大部分操作,都是點選Next確認過程。下面是驗證作業系統環境資訊,是否滿足安裝條件。
安裝過程,介面和工作內容和一般安裝Oracle沒有過多差異。
最後需要以root使用者手工執行指令碼。
執行root.sh中,有一些覆蓋的確認,建議覆蓋。
[root@SimpleLinux ~]# cd /u01/app/oracle/product/10.2.0/db_1/
[root@SimpleLinux db_1]# ./root.sh
Running Oracle 10g root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/10.2.0/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
(篇幅原因,有省略……)
Now product-specific root actions will be performed.
如果沒有明確的報錯資訊,就說明Oracle軟體部分的安裝成功。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8494287/viewspace-1351115/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 從10.2.0.1升級到10.2.0.5操作實驗(下)
- oracle 10 rac 升級 10.2.0.1升級到10.2.0.5Oracle
- Oracle 10.2.0.5升級至11.2.0.4Oracle
- upgrade 10.2.0.5 to 11.2.0.4 on linuxLinux
- Git — 從安裝到操作Git
- 阿里雲 Serverless 再升級,從體驗上拉開差距阿里Server
- Docker Swarm從部署到基本操作DockerSwarm
- 讓你的文件從靜態展示到一鍵部署可操作驗證
- 初體驗Sonar10.6 之 從部署到實戰
- Jenkins流水線(pipeline)實戰之:從部署到體驗Jenkins
- OpenSSH升級(從OpenSSH_7.4p1升級到OpenSSH_8.4p1) [操作指令碼]指令碼
- Kubernetes 叢集升級指南:從理論到實踐
- 從思路到工具 - 增長實驗資料歸因分析
- MongoDB升級--從3.4到3.6MongoDB
- 升級 ubuntu,從 18.04 到 22.04Ubuntu
- Java從零到企業級電商專案實戰Java
- 從0到1實現自己的阻塞佇列(上)佇列
- web前端入門到實戰:css騷操作之表單驗證Web前端CSS
- 執行緒安全(上)--徹底搞懂synchronized(從偏向鎖到重量級鎖執行緒synchronized
- mongodb單機從3.2升級到4.0.4升級MongoDB
- 實驗 詳解Docker的各種操作小實驗Docker
- Docker 從入門到精通(一)基本操作Docker
- 從ETL到DataOps:WhaleStudio替代Informatica,實現信創化升級ORM
- 技術分享 | 如何優雅地在 Windows 上從 MySQL 5.6 升級到 5.7WindowsMySql
- Elasticsearch從0到千萬級資料查詢實踐(非轉載)Elasticsearch
- 從windows到linux,圖形化操作到命令列操作講解WindowsLinux命令列
- Mac下vagrant從安裝到體驗Mac
- Flink1.7從安裝到體驗
- Redis從入門到精通:中級篇Redis
- Redis從入門到精通:初級篇Redis
- ABP Framework 手動升級指南:從6.0.1升級到7.0.0Framework
- Spring Boot從入門到實戰:整合通用Mapper簡化單表操作Spring BootAPP
- 從真實世界到渲染
- 4.0體驗站|OceanBase 4.0,從分散式到單機,從單機到分散式分散式
- 從工具到實踐:如何在GitHub上保障開源專案安全?Github
- IBM:從客戶體驗到企業體驗(附下載)IBM
- 如何從Angular 5 App升級到Angular 6AngularAPP
- 【MSSQL】MSSQL 從Express版本升級到Enterprise版本SQLExpress
- 從CentOS 7.0升級到7.7版本CentOS