Oracle數據庫異機升級


環境:
A機:RHEL5.5 + Oracle 10.2.0.4
B機:RHEL5.5
需求:
A機10.2.0.4數據庫,在B機升級到11.2.0.4,應用最新PSU補丁程序。
目錄:
一、 確認是否可以直接升級
二、 B機安裝11g軟件,打好PSU補丁
三、 B機環境變量檢查
四、 B機創建需要的目錄
五、 A機原庫升級前檢查

六、 A機備份原庫
七、 B機恢復數據庫
八、 B機升級數據庫

九、 B機升級后操作

一、 確認是否可以直接升級

本次需求:Oracle 10.2.0.4 -> 11.2.0.4.7 從下圖中看到,可以直接升級。 ![](http://images.cnblogs.com/cnblogs_com/jyzhao/652804/o_oracle_upgrade2.png)

二、 B機安裝11g軟件,打好PSU補丁

安裝11g軟件(不需要建庫)可參考:[http://www.cnblogs.com/jyzhao/p/3891769.html](http://www.cnblogs.com/jyzhao/p/3891769.html) 打PSU補丁(補丁隨帶的readme必須看)可參考:[http://www.cnblogs.com/jyzhao/p/4145273.html](http://www.cnblogs.com/jyzhao/p/4145273.html)

三、 B機環境變量檢查

``` echo $ORACLE_BASE echo $ORACLE_HOME echo $ORACLE_SID echo $PATH ```

四、 B機創建需要的目錄

B機建議先創建以下目錄,其中scripts不是必須的,對於bdump,udump在11g不再需要了,這點從后面的升級前檢查腳本的輸出結果也可看到。 ``` mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/adump mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/dpdump mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/cdump mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/pfile mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/scripts ```

五、 A機原庫升級前檢查

將B機11.2.0.4的`utlu112i.sql`,scp到A機上,進行升級檢查。

5.1 從B機上傳utlu112i.sql腳本到A機

``` $ scp $ORACLE_HOME/rdbms/admin/utlu112i.sql 192.168.xx.xx:/home/oracle ```

5.2 A機執行utlu112i.sql進行升級前檢查

``` [oracle@oracle10g oracle]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on Fri Dec 26 06:46:46 2014

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> spool upgrade.info
SQL> @/home/oracle/utlu112i.sql
Oracle Database 11.2 Pre-Upgrade Information Tool 08-28-2015 10:02:57
Script Version: 11.2.0.4.0 Build: 007
.


Database:


--> name: VAS
--> version: 10.2.0.4.0
--> compatible: 10.2.0.3.0
--> blocksize: 8192
--> platform: Linux x86 64-bit
--> timezone file: V4
.


Tablespaces: [make adjustments in the current environment]


--> SYSTEM tablespace is adequate for the upgrade.
.... minimum required size: 991 MB
--> UNDOTBS1 tablespace is adequate for the upgrade.
.... minimum required size: 400 MB
--> SYSAUX tablespace is adequate for the upgrade.
.... minimum required size: 790 MB
--> TEMP tablespace is adequate for the upgrade.
.... minimum required size: 60 MB
.


Flashback: OFF



Update Parameters: [Update Oracle Database 11.2 init.ora or spfile]
Note: Pre-upgrade tool was run on a lower version 64-bit database.


--> If Target Oracle is 32-Bit, refer here for Update Parameters:
-- No update parameter changes are required.
.

--> If Target Oracle is 64-Bit, refer here for Update Parameters:
-- No update parameter changes are required.
.


Renamed Parameters: [Update Oracle Database 11.2 init.ora or spfile]


-- No renamed parameters found. No changes are required.
.


Obsolete/Deprecated Parameters: [Update Oracle Database 11.2 init.ora or spfile]


--> background_dump_dest 11.1 DEPRECATED replaced by "diagnostic_dest"
--> user_dump_dest 11.1 DEPRECATED replaced by "diagnostic_dest"
.


Components: [The following database components will be upgraded or installed]


--> Oracle Catalog Views [upgrade] VALID
--> Oracle Packages and Types [upgrade] VALID
--> JServer JAVA Virtual Machine [upgrade] VALID
--> Oracle XDK for Java [upgrade] VALID
--> Oracle Workspace Manager [upgrade] VALID
--> OLAP Analytic Workspace [upgrade] VALID
--> OLAP Catalog [upgrade] VALID
--> EM Repository [upgrade] VALID
--> Oracle Text [upgrade] VALID
--> Oracle XML Database [upgrade] VALID
--> Oracle Java Packages [upgrade] VALID
--> Oracle interMedia [upgrade] VALID
--> Spatial [upgrade] VALID
--> Data Mining [upgrade] VALID
--> Expression Filter [upgrade] VALID
--> Rule Manager [upgrade] VALID
--> Oracle OLAP API [upgrade] VALID
.


Miscellaneous Warnings


WARNING: --> Database is using a timezone file older than version 14.
.... After the release migration, it is recommended that DBMS_DST package
.... be used to upgrade the 10.2.0.4.0 database timezone version
.... to the latest version which comes with the new release.
WARNING: --> Database contains INVALID objects prior to upgrade.
.... The list of invalid SYS/SYSTEM objects was written to
.... registry$sys_inv_objs.
.... The list of non-SYS/SYSTEM objects was written to
.... registry$nonsys_inv_objs.
.... Use utluiobj.sql after the upgrade to identify any new invalid
.... objects due to the upgrade.
.... USER CRNOPHQOA has 2 INVALID objects.
WARNING: --> EM Database Control Repository exists in the database.
.... Direct downgrade of EM Database Control is not supported. Refer to the
.... Upgrade Guide for instructions to save the EM data prior to upgrade.
WARNING: --> Your recycle bin is turned on and currently contains no objects.
.... Because it is REQUIRED that the recycle bin be empty prior to upgrading
.... and your recycle bin is turned on, you may need to execute the command:
PURGE DBA_RECYCLEBIN
.... prior to executing your upgrade to confirm the recycle bin is empty.
WARNING: --> JOB_QUEUE_PROCESS value must be updated
.... Your current setting of "10" is too low.

.... Starting with Oracle Database 11g Release 2 (11.2), setting
.... JOB_QUEUE_PROCESSES to 0 causes both DBMS_SCHEDULER and
.... DBMS_JOB jobs to not run. Previously, setting JOB_QUEUE_PROCESSES
.... to 0 caused DBMS_JOB jobs to not run, but DBMS_SCHEDULER jobs were
.... unaffected and would still run. This parameter must be updated to
.... a value greater than 32 (default value is 1000) prior to upgrade.
.... Not doing so will affect the running of utlrp.sql after the upgrade
.


Recommendations


Oracle recommends gathering dictionary statistics prior to
upgrading the database.
To gather dictionary statistics execute the following command
while connected as SYSDBA:

EXECUTE dbms_stats.gather_dictionary_stats;

SQL> spool off

<h2 id="5.3">5.3 根據檢查結果調整A機數據庫</h2>
### 5.3.1 表空間對比滿足條件 ###

select file_name,tablespace_name,maxbytes/1024/1024 from dba_data_files
where tablespace_name in('SYSTEM','UNDOTBS1','SYSAUX')
union all
select file_name,tablespace_name,maxbytes/1024/1024 from dba_temp_files;

### 5.3.2 A機創建pfile文件 ###

SQL> create pfile='/home/oracle/orcl10.pfile' from spfile;

### 5.3.3 A機scp pfile文件到B機 ###

$ scp /home/oracle/orcl10.pfile 192.168.xx.xx:/home/oracle

### 5.3.4 B機上編輯pfile文件 ###

注意下sga和pga的設定是否符合目的機器的配置
.sga_target=629145600
.pga_aggregate_target=25165824
.background_dump_dest和
.user_dump_dest刪除
加上 *.diagnostic_dest='$ORACLE_BASE'
注:參數文件的修改不用多說,但需要注意其他各參數的值是否符合需求。

修改后復制一份到$ORACLE_HOME/dbs/init$ORACLE_SID.ora

$ cp /home/oracle/orcl10.pfile $ORACLE_HOME/dbs/init$ORACLE_SID.ora

### 5.3.5 A機運行utlrp.sql 腳本,重新編譯無效對象 ###
重新編譯SYS 和SYSTEM 中的無效對象

記錄無效對象:
col OWNER for a10;
col OBJECT_NAME for a30;
col OBJECT_TYPE for a10;
select * from registry$nonsys_inv_objs; //非sys/system的失效對象

select * from registry$sys_inv_objs; //sys/system的失效對象

SQL> @?/rdbms/admin/utlrp.sql;
重新執行 @/home/oracle/utlu112i.sql,查看是否重新編譯,

### 5.3.6 A機執行PURGE DBA_RECYCLEBIN ###

SQL> PURGE DBA_RECYCLEBIN;
DBA Recyclebin purged.

### 5.3.7 A機收集系統信息EXECUTE dbms_stats.gather_dictionary_stats; ###
在升級前收集字典統計信息,否則預升級工具( utlu102i.sql)會花費更長時間

SQL> EXECUTE dbms_stats.gather_dictionary_stats;

PL/SQL procedure successfully completed.

注意:升級之后執行utluiobj.sql

<h1 id="6">六、 A機備份原庫                 </h1>
為了不影響業務的網絡帶寬,可采用DCN網絡進行NFS的搭建,同時不必再傳送備份文件。
NFS配置參考:[http://www.cnblogs.com/jyzhao/p/3809078.html](http://www.cnblogs.com/jyzhao/p/3809078.html)
A機備份原庫可參考:[http://www.cnblogs.com/jyzhao/p/4806434.html#1](http://www.cnblogs.com/jyzhao/p/4806434.html#1)
<h1 id="7">七、 B機恢復數據庫               </h1>
B機恢復數據庫可參考:[http://www.cnblogs.com/jyzhao/p/4806434.html#2](http://www.cnblogs.com/jyzhao/p/4806434.html#2)

**注意:**這里恢復完成不要直接嘗試打開數據庫。因為我們是要升級!需要open resetlogs upgrade(在下一個步驟說明)。
<h1 id="8">八、 B機升級數據庫               </h1>
<h2 id="8.1">8.1 修改恢復后的數據庫為非歸檔模式</h2>
為預防升級測試過程中默認的歸檔空間不夠,這里升級先把庫開啟為非歸檔模式。

SQL> select status from v$instance;

STATUS

MOUNTED

SQL> alter database noarchivelog;

Database altered.

SQL> archive log list
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 27
Current log sequence 29

<h2 id="8.2">8.2 alter database open resetlogs upgrade;</h2>

SQL> alter database open resetlogs upgrade;

<h2 id="8.3">8.3 執行升級腳本</h2>

SQL> spool upgrade.log
SQL> @?/rdbms/admin/catupgrd.sql

本次升級經驗值:
測試庫此步驟升級運行時間:37分鍾。
生產庫此步驟升級運行時間:61分鍾。

<h1 id="9">九、 B機升級后操作               </h1>
<h2 id="9.1">9.1 創建spfile文件</h2>

SQL> startup pfile='$ORACLE_HOME/dbs/init$ORACLE_SID.ora'
SQL> create spfile from pfile='$ORACLE_HOME/dbs/init$ORACLE_SID.ora';

<h2 id="9.2">9.2 執行EXECUTE dbms_stats.gather_dictionary_stats;</h2>

SQL> exec dbms_stats.gather_dictionary_stats;
PL/SQL procedure successfully completed.

<h2 id="9.3">9.3 重新編譯</h2>

SQL> @?/rdbms/admin/utlrp.sql

<h2 id="9.4">9.4 查看失效對象 </h2>

SQL> SELECT count(*) FROM dba_invalid_objects;

如果失效對象為升級之前的失效對象,升級過程中沒有使對象失效。
<h2 id="9.5">9.5 運行升級后檢查腳本</h2>

SQL> @?/rdbms/admin/utlu112s.sql
.
Oracle Database 11.2 Post-Upgrade Status Tool 08-31-2015 16:13:55
.
Component Current Version Elapsed Time
Name Status Number HH:MM:SS
.
Oracle Server
. VALID 11.2.0.4.0 00:07:44
JServer JAVA Virtual Machine
. VALID 11.2.0.4.0 00:05:02
Oracle Workspace Manager
. VALID 11.2.0.4.0 00:00:21
OLAP Analytic Workspace
. VALID 11.2.0.4.0 00:00:20
OLAP Catalog
. VALID 11.2.0.4.0 00:00:30
Oracle OLAP API
. VALID 11.2.0.4.0 00:00:15
Oracle Enterprise Manager
. VALID 11.2.0.4.0 00:05:23
Oracle XDK
. VALID 11.2.0.4.0 00:01:48
Oracle Text
. VALID 11.2.0.4.0 00:00:30
Oracle XML Database
. VALID 11.2.0.4.0 00:02:42
Oracle Database Java Packages
. VALID 11.2.0.4.0 00:00:08
Oracle Multimedia
. VALID 11.2.0.4.0 00:02:21
Spatial
. VALID 11.2.0.4.0 00:03:32
Oracle Expression Filter
. VALID 11.2.0.4.0 00:00:06
Oracle Rules Manager
. VALID 11.2.0.4.0 00:00:05
Final Actions
. 00:00:25
Total Upgrade Time: 00:31:21

PL/SQL procedure successfully completed.

Elapsed: 00:00:00.09

<h2 id="9.6">9.6 數據庫層面應用PSU</h2>

cd $ORACLE_HOME/rdbms/admin/
SQL> @catbundle.sql psu apply

### 檢查opatch補丁相關信息: ###

./opatch lspatches
./opatch lsinventory

### 查詢dba_registry_history: ###

SQL> select * from dba_registry_history;

到此,已完成數據庫異機升級操作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM