oracle資料庫11.2.0.3升級到11.2.0.4
前言:
作業系統:Red Hat Enterprise Linux Server release 6.5
Oracle舊版本:11.2.0.3 ORACLE_HOME :/u01/app/oracle/product/11.2.0/dbhome_1
Oracle新版本:11.2.0.4 ORACLE_HOME :/u01/app/oracle/product/11.2.4/dbhome_1
升級的整個思路:首先安裝11.2.0.4版本軟體,然後把11.2.0.3的引數檔案、口令檔案、以及listener.ora、tnsname.ora檔案copy到11.2.0.4版本的ORACLE_HOME對應目錄中(注意例項名沒有改變),然後使用11.2.0.4版本軟體載入之前11.2.0.3的資料庫,並用startup upgrade方式啟動例項並載入資料庫到open狀態,然後執行catupgrd.sql升級指令碼升級資料庫的資料字典等資訊,最後執行utlrp.sql和catuppst.sql來重新編譯失效的物件以及plsql以及java的程式碼 ,最後驗證結果即可。
1.1. 修改密碼及建立目錄和許可權
1) 建立oracle使用者和組
[root@tool202~]# groupadd oinstall
[root@tool202~]# groupadd dba
[root@tool202~]# useradd -g oinstall -G dba -s /bin/bash oracle
[root@tool202~]# passwd oracle
Changing password for user oracle.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
2) 建立相關目錄並賦權
[root@tool202 ~]# chown -R oracle:oinstall /u01
[root@tool202 ~]# chmod -R 755 /u01
1.2. 修改oracle使用者環境變數(例項名不變)
[root@tool202 ~]# su - oracle
[oracle@tool202 ~]$
[oracle@tool202 ~]$ vi .bash_profile
注:在檔案的最下方增加如下內容 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.4/dbhome_1 export ORACLE_SID=shanghai export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib |
[oracle@tool202 ~]$ . .bash_profile修改完成,使其修改生效,如下:
[oracle@tool202 ~]$
或者
[oracle@tool202 ~] source .bash_profile
[oracle@tool202 ~] $
再或者登出重新登入
注:
ORACLE_BASE:oracle產品基目錄
ORACLE_HOME:資料庫產品目錄通常情況下HOME目錄是BASE的子目錄
ORACLE_SID:作業系統和oracle例項關聯的紐帶
PATH:將安裝後的oracle命令追加到執行搜尋路徑
LD_LIBRARY_PATH:動態庫的位置
1.3. 上傳oracle安裝介質並解壓安裝
1.3.1已經上傳成功,解壓這兩個檔案,會產生database目錄
[oracle@tool202 response]$ unzip p13390677_112040_Linux-x86-64_1of7.zip
[oracle@tool202 response]$ unzip p13390677_112040_Linux-x86-64_2of7.zip
1.3.2編輯靜默安裝資料庫軟體的檔案,主要需要修改的引數如下:
[oracle@tool202 response]$cd /data/media/database
[oracle@tool202 response]$ cd response
[oracle@tool202 response]$ ll
total 80
-rwxr-xr-x 1 oracle oinstall 44533 Aug 27 2013 dbca.rsp
-rw-r--r-- 1 oracle oinstall 25310 Jun 22 10:58 db_install.rsp
-rwxr-xr-x 1 oracle oinstall 5871 Aug 27 2013 netca.rsp
[oracle@tool202 response]$ vi db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY //29行 安裝型別
ORACLE_HOSTNAME=chances //37行 主機名稱
UNIX_GROUP_NAME=oinstall //42行 安裝組
INVENTORY_LOCATION=/data/oracle/oraInventory //47行INVENTORY目錄
SELECTED_LANGUAGES=zh_CN //78行 選擇語言
ORACLE_HOME=/u01/app/oracle/product/11.2.4/dbhome_1 //83行oracle_home
ORACLE_BASE=/u01/app/oracle //88行oracle_base
oracle.install.db.InstallEdition=EE //99行oracle版本
oracle.install.db.DBA_GROUP=dba //142行dba使用者組
oracle.install.db.OPER_GROUP=oinstall //147行oper使用者組
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //160行 資料庫型別
oracle.install.db.config.starterdb.globalDBName=shanghai //165行globalDBName
oracle.install.db.config.starterdb.SID=shanghai //170行SID
oracle.install.db.config.starterdb.memoryLimit=800 //192行 自動管理記憶體的最小記憶體(M)
oracle.install.db.config.starterdb.password.ALL=oracle //233行 設定所有資料庫使用者使用同一個密碼
DECLINE_SECURITY_UPDATES=true //385行 設定安全更新
1.3.3編輯如下的檔案,
[oracle@tool202 response]$ cat /etc/oraInst.loc
inventory_loc=/u01/app/oraInventory
inst_group=oinstall
oraInventory存放Oracle軟體安裝的目錄資訊,Oralce的安裝和升級都需要用到這個目錄,刪除或丟失oraInventory目錄的內容就會導致安裝/升級失敗。
1.3.4開始安裝Oracle軟體,最後可以看到Successfully Setup Software代表成功安裝了
/data/media/database/response/db_install.rsp -ignorePrereq
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 53714 MB Passed
Checking swap space: must be greater than 150 MB. Actual 7976 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2018-06-22_10-59-04AM. Please wait ...[oracle@tool202 database]$
[oracle@tool202 database]$ You can find the log of this install session at:
/u01/app/oraInventory/logs/installActions2018-06-22_10-59-04AM.log
The installation of Oracle Database 11g was successful.
Please check '/u01/app/oraInventory/logs/silentInstall2018-06-22_10-59-04AM.log' for more details.
As a root user, execute the following script(s):
1. /u01/app/oracle/product/11.2.4/dbhome_1/root.sh
Successfully Setup Software.
1.3.4上面提示了,需要用root使用者執行一個指令碼來修改/etc/oratab內容
[root@tool202 ~]# /u01/app/oracle/product/11.2.4/dbhome_1/root.sh
Check /u01/app/oracle/product/11.2.4/dbhome_1/install/root_tool202.bxidc.happycfc.com_2018-06-22_11-20-25.log for the output of root script
驗證顯示指令碼執行成功
[root@tool202~]#cat /u01/app/oracle/product/11.2.4/dbhome_1/install/root_tool202.bxidc.happycfc.com_2018-06-22_11-20-25.log
Performing root user operation for Oracle 11g
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/11.2.4/dbhome_1
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
Finished product-specific root actions.
至此Oracle11.2.0.4的軟體安裝完成
1.4. 讓新安裝的4版本Oracle軟體去載入11.2.0.3的資料庫例項
1.4.1. 將配置檔案從舊版本家目錄中,複製到新版本家目錄中,例項名不變!
[oracle@tool202 dbs]$ pwd
/u01/app/oracle/product/11.2.0/dbhome_1/dbs
[oracle@tool202 dbs]$ cp * /u01/app/oracle/product/11.2.4/dbhome_1/dbs
[oracle@tool202 admin]$ pwd
/u01/app/oracle/product/11.2.0/dbhome_1/network/admin
[oracle@tool202 admin]$ cp * /u01/app/oracle/product/11.2.4/dbhome_1/network/admin
1.4.2. 以update方式啟動4版本軟體載入3版本的資料庫
SQL> startup upgrade
ORACLE instance started.
Total System Global Area 1.0055E+10 bytes
Fixed Size 2261888 bytes
Variable Size 1644170368 bytes
Database Buffers 8388608000 bytes
Redo Buffers 19742720 bytes
Database mounted.
Database opened.
1.4.3修改/etc/oratab ,修改家目錄為新的目錄
[oracle@tool202 ~]$ vi /etc/oratab
shanghai:/u01/app/oracle/product/11.2.0/dbhome_1:N
它記錄主機中有多少個資料庫。
在$ORACLE_HOME/bin目錄下的$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut需要呼叫/etc/oratab檔案,如果不存在,dbstart和dbshut將失敗,也就是藉助dbstart實現開啟自啟動的時候會使用.
1.5. 升級資料庫
1.5.1執行升級前檢查,重點注意其中的warring!!!
SQL> @?/rdbms/admin/utlu112i.sql
Oracle Database 11.2 Pre-Upgrade Information Tool 06-22-2018 15:37:55
Script Version: 11.2.0.4.0 Build: 001
.
**********************************************************************
Database:
**********************************************************************
--> name: BEIJING
--> version: 11.2.0.3.0
--> compatible: 11.2.0.0.0
--> blocksize: 8192
--> platform: Linux x86 64-bit
--> timezone file: V14
.
**********************************************************************
根據前面提示的warring,進行相應的修改;
1.5.2執行升級指令碼catupgrd.sql
SQL> set echo on ###顯示當前正在執行的命令,顯示的會更全面
SQL> spool /home/oracle/upgrade.log ##把輸出結果存到指定的upgrade.log檔案,便於檢視
SQL> set time on; ###開啟視窗時間
03:28:37 SQL>@?/rdbms/admin/catupgrd.sql
SQL> spool off ##關閉輸出到檔案
1.5.3.重新編輯失效的物件
1)執行catuppst編譯無效物件
SQL> @?/rdbms/admin/catuppst.sql
2)執行utlrp.sql編譯plsql以及java的程式碼
SQL> @?/rdbms/admin/utlrp.sql
3)可以用utlu112s.sql指令碼檢視各元件升級所用的時間
SQL> @?/rdbms/admin/utlu112s.sql
.Oracle Database 11.2 Post-Upgrade Status Tool 06-22-2018 16:35:05
.Component Current Version Elapsed Time
Name Status Number HH:MM:SS
.Oracle Server
. VALID 11.2.0.4.0 00:11:15
JServer JAVA Virtual Machine
. VALID 11.2.0.4.0 00:02:47
Oracle Workspace Manager
. VALID 11.2.0.4.0 00:00:23
OLAP Analytic Workspace
. VALID 11.2.0.4.0 00:00:23
OLAP Catalog
. VALID 11.2.0.4.0 00:00:33
Oracle OLAP API
. VALID 11.2.0.4.0 00:00:13
Oracle Enterprise Manager
. VALID 11.2.0.4.0 00:02:17
Oracle XDK
. VALID 11.2.0.4.0 00:00:28
Oracle Text
. VALID 11.2.0.4.0 00:00:16
Oracle XML Database
. VALID 11.2.0.4.0 00:01:35
Oracle Database Java Packages
. VALID 11.2.0.4.0 00:00:07
Oracle Multimedia
. VALID 11.2.0.4.0 00:26:16
Spatial
. VALID 11.2.0.4.0 00:01:50
Oracle Expression Filter
. VALID 11.2.0.4.0 00:00:09
Oracle Rules Manager
. VALID 11.2.0.4.0 00:00:06
Oracle Application Express
. VALID 3.2.1.00.12
Final Actions
. 00:00:00
Total Upgrade Time: 00:48:46
PL/SQL procedure successfully completed.
1.5.4.修改監聽檔案(listener.ora)中的ORACLE_HOME路徑
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.32.202)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.*.202)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = shanghai)
(ORACLE_HOME = /u01/app/oracle/product/11.2.4/dbhome_1)
(SID_NAME = shanghai)
)
1.6. 驗證結果
1.6.1.sqlplus連線資料,已經顯示為11.2.0.4,如下所示
1.6.2.檢視例項的版本
SQL> select version from v$instance;
VERSION
-----------------
11.2.0.4.0
1.6.3.檢查有沒有失效的物件
SQL> select * from dba_objects where status !='VALID';
no rows selected
1.6.4.檢視各元件版本號,
SQL> set linesize 1000
SQL> col COMP_NAME format a40
SQL> col version format a10
SQL> col status format a10
SQL> select comp_name,status,version from dba_server_registry;
發現其中OWB元件沒有升級成功,可以忽略;Oracle的OWB是目前最好的三大ETL產品之一。OWB不但可以可以完成資料的抽取、轉換和加 載,還能幫助使用者在Oracle資料庫中建立ROLAP(Relational Online Analysis Process)和MOLAP(Multidimensional Online Analysis Process)資料倉儲物件,資料質量管理,商務智慧定義等
總結:1.升級的過程中會產生大量的歸檔日誌,需要保證有足夠的空間來儲存歸檔日誌,2.因為你是資料庫升級,例項名沒必要改變,但是新版本的軟體安裝路徑一定要和舊版本的區分開,不能再同意個路徑下,否則會報錯。3,我這是測試環境,在執行升級指令碼的之前沒有建立閃回點,生產環境建議建立閃回點,以防升級失敗可以回退
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29654823/viewspace-2157147/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle資料庫升級11.2.0.3升級到11.2.0.4Oracle資料庫
- 探索Oracle之資料庫升級二 11.2.0.3升級到11.2.0.4完整步驟Oracle資料庫
- oracle rac 11.2.0.3 升級到11.2.0.4Oracle
- oracle 資料庫從10.2.0.4升級到11.2.0.3Oracle資料庫
- 探索Oracle之資料庫升級三 回退升級操作(11.2.0.4Downgrade 11.2.0.3)Oracle資料庫
- 如何升級Oracle Grid Infrastructure和RAC從11.2.0.3到11.2.0.4?OracleASTStruct
- Oracle資料庫異機升級(10.2.0.5 --> 11.2.0.4)Oracle資料庫
- 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 11.2.0.3升級到11.2.0.4的過程單例Oracle
- Oracle 11.2.0.4升級到12.2.0.1Oracle
- ORACLE11.2.0.1升級到11.2.0.3Oracle
- 11.2.0.3 database異機升級至11.2.0.4Database
- oracle for windows 11.2.0.1升級到11.2.0.4OracleWindows
- oracle11.2.0.3升級到11.2.0.4出現查詢效能問題,分析處理Oracle
- oracle版本升級:從11.2.0.1到11.2.0.3Oracle
- 資料庫版本升級(upgrade 9.2.0.1 to11.2.0.3)資料庫
- Oracle 資料庫升級Oracle資料庫
- 靜默升級oracle 11g (從11.2.0.1升級到11.2.0.4)Oracle
- Oracle資料庫從11.1.0.7升級到11.2.0.3 SYS.DBMS_AQADM_SYS包出現錯誤Oracle資料庫
- 升級到資料庫到10.2.0.5.0版本資料庫
- Oracle資料庫從 9.2.0.1 到 9.2.0.8升級步驟 for winOracle資料庫
- 圖形化升級單機oracle 11.2.0.1 到 11.2.0.4Oracle
- 圖形化升級單機oracle 11.2.0.4 到 12.2.0.1Oracle
- Oracle RAC 10.2.0.5升級到11.2.0.4遇到的問題Oracle
- oracle 9i升級到oracle9208資料庫Oracle資料庫
- RAC資料庫升級到10.2.0.5資料庫
- Oracle資料庫升級(轉發)Oracle資料庫
- Oracle 資料庫 升級為 RACOracle資料庫
- 升級到 11.2.0.3/11.2.0.4 GI/ASM 前需要考慮的事情 (文件 ID 1623280.1)ASM
- Oracle 10.2.0.5升級至11.2.0.4Oracle
- rac 升級crs 升級資料庫軟體,升級資料庫資料庫
- Oracle資料庫從 9.2.0.1 到 9.2.0.8升級步驟for linuxOracle資料庫Linux
- Oracle10g RAC 資料庫升級為10.2.0.4 ,clusterware需要升級到10.2.0.4 ?Oracle資料庫
- Oracle資料庫升級與補丁Oracle資料庫
- Oracle 資料庫升級注意事項Oracle資料庫
- 靜默方式安裝、升級oracle(三): 升級資料庫軟體及資料庫Oracle資料庫