程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle11.2.0.1升級到11.2.0.3,oracle11.2.0.1升級

Oracle11.2.0.1升級到11.2.0.3,oracle11.2.0.1升級

編輯:Oracle教程

Oracle11.2.0.1升級到11.2.0.3,oracle11.2.0.1升級


  Oracle數據庫升級也並非簡單的事,這篇博客,博主對Oracle那點事做了較詳細的介紹:

  http://blog.itpub.net/9599/viewspace-473003/

我還屬於Oracle的菜鳥,就不獻丑介紹了。

 

  下面我就簡單總結下,Oracle同版本升級的經歷:

升級數據庫:
1. 先檢查數據庫當前版本:
  SELECT * FROM v$version;

2. 使用RMAN或exp 進行全庫備份

  【這一步非常非常重要,因升級到數據部分時,虛擬機沒空間了,導致VM崩潰,升級失敗.orcl庫也掛了.不得不從另一台Oracle上創建了一個Orcl,

  然後,冷備遷移過來,才得以重新升級。】
  如:RMAN全備
  export ORACLE_SID=orcl
  rman target /
  RMAN>backup full database plus archivelog //全備數據庫,並且包括ArchiveLog。

3. 最後按下面步驟進行升級
  <1> 先知道Oracle 7個更新文件的作用:
    第一 和 二個包表示database ,  如果升級數據庫,只需要這2個文件即可。
    第三個包表示grid,  用來升級RAC 的CRS。如果升級RAC 要先用這個文件。
    第四個表示客戶端,
    第五個表示gateways, 
    第六個表示 examples,   這個是我們的示例文件安裝包。
    第七個表示deinstall(它是卸載Oracle的工具).

  <2> 升級Oracle數據庫
         首先將第一和二個zip壓縮包上傳,並在同一個目錄下解壓,因為,它兩的目錄結構
    基本一致,並且這兩壓縮包的內容需要合並後才能,執行runInstaller文件。所有要在
    同一個目錄下解壓,這樣會直接合並。

  <3> 運行runInstaller,若沒有圖像界面會可能就需要有應答文件了,這個就需要再查了,
    我測試時,有圖形界面,所以直接用圖形界面來升級:
    需要注意幾個地方:
    A. 這是第一個地方,這裡需要點,“Skip software updates"跳到軟件更新

      

    B.這裡是選項安裝新Oracle軟件的位置,這裡不能寫舊的位置。
     另注: 磁盤空間一定要5~10G, Oracle11.2.0.1升級到11.2.0.3需要4.1G。

      

    C. 第三點:需要注意: /etc/oratab這個文件。
      因為,更新到最後是更新數據庫,更新數據庫時,必須要有一個數據庫是運行的.
    才能執行,並且更新數據庫時,它是通過oratab文件來讓你選擇通過那個運行的
    數據庫來嘗試更新數據庫。

  4. 數據庫更新完後,需要做以下事情:

   首先,升級完成後,需要將Oracle必須的環境變量修改為升級後的Oracle軟件路徑。

   需要修改: ORACLE_HOME.

   如我的環境: 

    Oracle11.2.0.1時:

      ORACLE_BASE=/home/oracle/ora

      ORACLE_HOME=$ORACLE_BASE/product/11g/db_1

   升級後,Oracle版本為:11.2.0.3,新的家目錄為:

    Oracle11.2.0.3: ORACLE_HOME=$ORACLE_BASE/product/11.2.0.3/db_1


    <1> 先執行這個文件,用sysdba的權限:
      SQL> SPOOL update.info
      SQL> $ORACLE_HOME/rdbms/admin/utlu112i.sql
      SQL> SPOOL OFF
      查看日志是否有錯誤。
    <2> 關閉數據庫,並更新啟動。
      SQL> shutdown immediate
      SQL> startup upgrade

      SQL> select * from v$version; #查看Oracle的版本。
      SQL> select status from v$instance;
      STATUS
      ------------
      OPEN MIGRATE

      #下面開始執行升級腳本。
      SQL> SPOOL update-info.log
      SQL> @$ORACLE_HOME/rdbms/admin/catupgrd.sql
      #下面是查看升級結果的; 這個不是很確定,因為參考博客的環境是,
      # 是9i 升 10g
      #SQL> @$ORACLE_HOME/rdbms/admin/utlu102s.sql
      SQL> SPOOL OFF
      完成後,需要查看升級日志,是否有保錯,若有,則重新執行升級SQL腳本。

      #升級完成後,需要重啟DB.
      SQL> shutdown immediate
      SQL> startup
      #下面是執行重新編譯無效對象
      SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql
      #查看是否還存在無效對象,若為0,則表示升級完成。否則重新執行編譯。
      SQL> SELECT count(*) FROM dba_objects WHERE status='INVALID';

      SQL> select name from v$database; #確認數據庫的SID是否正確。
      SQL> show user; #確認當前是否為sys用戶。
      SQL> select tablespace_name, bytes from dba_data_files; #確認表空間大小是否正確.

      #下面這個步驟網文中沒有,這是尚觀視頻中提到的,作用不明.
      #SQL> @$ORACLE_HOME/rdbms/admin/catalog.sql

      #最後,重啟數據庫沒有問題就是升級成功了。
      SQL> select status from v$instance;
      STATUS
      ------------
      OPEN      #注意,成功打開數據庫後,這裡將是OPEN,而非OPEN MIGRATE

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved