Oracle數據庫版本10.2.0.1升級到10.2.0.3(轉)


Oracle數據庫版本10.2.0.1升級到10.2.0.3

1、停止OEM/isqlplus/監聽/DB實例

$ emctl stop dbconsole

$ isqlplusctl stop

$ lsnrctl stop

$ sqlplus / as sysdba

SQL> shutdown immediate;

 

2、升級Oracle軟件

 

1) 備份ORACLE_HOME和oraInventory

升級前對要升級的ORACLE_HOME進行備份是必要的, 還有oraInventory目錄, 一

旦升級失敗便於回退

方法一,使用tar備份
$ cd $ORACLE_HOME/..
$ tar jcvf db_1_`date +%Y%m%d`.tar.bz2 db_1
$ cd $ORACLE_BASE
$ tar jcvf oraInventory_`date +%Y%m%d`.tar.bz2 oraInventory

方法二,使用cp備份
$ cd $ORACLE_HOME
$ cp -pr db_1 db_1_new (備份到新目錄, 且保留mode,ownership,timestamps等信息)
$ cp -pr oraInventory oraInventory_new

2) 升級Oracle 軟件

2.1)通過response文件開始升級, 升級時間大概2-3分鍾.

$ cd /u01/software/10g/
$ unzip p5337014_10203_LINUX.zip
$ cd Disk1
注意升級前要保證/tmp空間有2.5G空余空間
$ ./runInstaller -silent -responseFile /u01/software/10g/DISK1/response/patchset.rsp
ORACLE_HOME=”/u01/app/oracle/product/10.2.0/db_1″
ORACLE_HOME_NAME=”OraDb10g_home1″ DECLINE_SECURITY_UPDATES=”true”
如果未使用默認的組oinstall, 則runInstaller命令后需再加一個參數:
UNIX_GROUP_NAME=”oinstall”
各參數含義如下:
-silent 表示以靜默方式安裝,不會有任何提示;
-responseFile 表示使用哪個響應文件,必需使用絕對路徑;
ORACLE_HOME=”/u01/app/oracle/product/10.2.0/db_1″ oracle安裝目錄;
ORACLE_HOME_NAME=”OraDb10g_home1″ ORACLE_HOME名;
DECLINE_SECURITY_UPDATES=”true” 是否需要安全更新, true表示不需要,
否則會要求輸入metalink賬號和聯網信息;(10.2.0.3中無此選項)
UNIX_GROUP_NAME=”oinstall” oracle用戶用於安裝軟件的組名;

2.2)設置DISPLAY=192.168.0.1:0.0 (設置圖形顯示,用的是xmanager的passive接收)

注意: 你也可以直接用./runInstaller運行,安裝程序會檢查和提示你一步一步的升級完成

 

3) 運行root.sh和changePerm.sh

升級結束后, 以root用戶執行$ORACLE_HOME下的root.sh(如有提示則一直回車):
# /u01/app/oracle/product/10.2.0/db_1/root.sh
安裝PatchSet后新增的文件或目錄是限制訪問的, 其它用戶或第三方工具要訪問這些文件時會提示錯誤,
所以要修改權限:
# su – oracle
$ cd $ORACLE_HOME/install
$ ./changePerm.sh
$ tail -50f /tmp/changePerm_err.log

3、升級數據庫

$ lsnrctl start
確保內存足夠
SQL> ALTER SYSTEM SET SHARED_POOL_SIZE=’150M’ SCOPE=spfile;
SQL> ALTER SYSTEM SET JAVA_POOL_SIZE=’150M’ SCOPE=spfile;
$ sqlplus / as sysdba
SQL> startup upgrade; (以升級模式啟動數據庫)
SQL> SPOOL /tmp/patch102030.log
SQL> @?/rdbms/admin/catupgrd.sql (重建數據字典, 若有問題可重復執行)
SQL> SPOOL off
SQL> !egrep “ORA-|Error” /tmp/patch102050.log (查看是否有錯誤)
SQL> shutdown immediate;
SQL> startup;
SQL> @?/rdbms/admin/utlrp.sql (編譯失效PLSQL包對象, 盡管第一次訪問包是會自動編譯, 還是推薦操作)
注意: 這個編譯過程可能因為你數據庫里面的對象問題,有一些錯誤,你需要在plsql下
執行: select * from UTL_RECOMP_ERRORS 檢查無效的對象。有些是可以忽略的

4、開啟OEM/isqlplus/監聽

$ lsnrctl start
$ isqlplusctl start
$ emctl start dbconsole

 


免責聲明!

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



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