日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[Oracle] CPU/PSU补丁安装详细教程

發布時間:2025/4/5 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [Oracle] CPU/PSU补丁安装详细教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Oracle CPU的全稱是Critical Patch Update, Oracle對于其產品每個季度發行一次安全補丁包,通常是為了修復產品中的安全隱患,以下是對CPU/PSU補丁安裝的具體操作步驟進行了詳細的分析介紹,需要的朋友可以參考

什么是CPU/PSU

Oracle CPU的全稱是Critical Patch Update, Oracle對于其產品每個季度發行一次安全補丁包,通常是為了修復產品中的安全隱患。

Oracle PSU的全稱是Patch Set Update,Oracle對于其產品每個季度發行一次的補丁包,包含了bug的修復。Oracle選取被用戶下載數量多,且被驗證過具有較低風險的補丁放入到每個季度的PSU中。在每個PSU中不但包含Bug的修復而且還包含了最新的CPU。PSU通常隨CPU一起發布。

CPU是累積的(Cumulative),即最新的CPU補丁已經包含以往的CPU補丁,所以只要安裝最新的CPU補丁即可。
PSU通常也是增量的,大部分PSU可以直接安裝,但有些PSU則必須要求安裝了上一 個版本的PSU之后才能繼續安裝,要仔細看各個PSU的Readme文檔。

如何下載CPU/PSU

注意:要下載CPU/PSU,必須要有Oracle Support賬號才行!
到Oracle CPU主頁 ,可以看到每個季度發布的CPU補丁列表(如下圖所示),根據你的需要選擇相應的CPU補丁即可,這里選擇July2011年的補丁。



每個補丁只針對特定的數據庫版本,你要找到對應的數據庫版本(如下圖所示),這里的數據庫版本為11.2.0.1,如果找不到,說明該補丁不支持該版本數據庫。


右邊點擊Database鏈接,就是該補丁的一個詳細說明文檔,找到3.1.3 Oracle Database,并點擊相應的數據庫版本(如下圖所示) 在相應的數據庫版本里,可以看到各個平臺下CPU和PSU版本號,前面已經說過,PSU包含CPU,所以建議盡量安裝PSU,注意:這里的UNIX平臺也包括Linux 點擊上面的版本號,會自動跳到Oracle Support下載頁面,如下圖所示。選擇相應的平臺后,點擊Readme可以查看Readme文檔,點擊Download下載

閱讀Readme文檔
每個CPU/PSU都有一個Readme文檔,關于該CPU/PSU的所有信息都在Readme文檔里,一定要仔細閱讀。
有兩個部分要特別注意:
1)OPatch的版本,你可以通過opatch version命令查看Oracle Home當前的OPatch版本,如果低于Readme規定的最低版本,一定要先升級OPatch才能打補丁。
2)打Patch步驟:基本上所有的CPU/PSU都大同小異,具體步驟將在下面的例子中展示。
安裝CPU/PSU補丁
1)事先檢查:查看數據庫打補丁前信息,保留現場
在打補丁前最好把數據庫的一些基本信息保留下來,以備不時之需。

復制代碼代碼如下:
set line 150
set pagesize 99
col action_time for a30
col action for a30
col comments for a90
col object_name for a30
col object_type for a30
col comp_name for a50
col comp_id for a20
--查看實例名
sys@ORCL>select instance_name,status from v$instance;
INSTANCE_NAME??? STATUS
---------------- ------------
orcl???????????? OPEN
--查看數據庫版本
sys@ORCL>select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE??? 11.2.0.1.0????? Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
--查看數據庫大小
sys@ORCL>select sum(bytes)/1024/1024||'M' from dba_segments;
SUM(BYTES)/1024/1024||'M'
-----------------------------------------
68058.375M
--查看組件信息
sys@ORCL>select COMP_ID,COMP_NAME,VERSION,STATUS from DBA_REGISTRY;
COMP_ID????????????? COMP_NAME????????????????????????????????????????? VERSION??????????????????????? STATUS
-------------------- -------------------------------------------------- ------------------------------ ----------------------
OWB????????????????? OWB??????????????????????????????????????????????? 11.2.0.1.0???????????????????? VALID
APEX???????????????? Oracle Application Express???????????????????????? 3.2.1.00.10??????????????????? VALID
EM?????????????????? Oracle Enterprise Manager????????????????????????? 11.2.0.1.0???????????????????? VALID
AMD????????????????? OLAP Catalog?????????????????????????????????????? 11.2.0.1.0???????????????????? VALID
SDO????????????????? Spatial??????????????????????????????????????????? 11.2.0.1.0???????????????????? VALID
ORDIM??????????????? Oracle Multimedia????????????????????????????????? 11.2.0.1.0???????????????????? VALID
XDB????????????????? Oracle XML Database??????????????????????????????? 11.2.0.1.0???????????????????? VALID
CONTEXT????????????? Oracle Text??????????????????????????????????????? 11.2.0.1.0???????????????????? VALID
EXF????????????????? Oracle Expression Filter?????????????????????????? 11.2.0.1.0???????????????????? VALID
RUL????????????????? Oracle Rules Manager?????????????????????????????? 11.2.0.1.0???????????????????? VALID
OWM????????????????? Oracle Workspace Manager?????????????????????????? 11.2.0.1.0???????????????????? VALID
CATALOG????????????? Oracle Database Catalog Views????????????????????? 11.2.0.1.0???????????????????? VALID
CATPROC????????????? Oracle Database Packages and Types???????????????? 11.2.0.1.0???????????????????? VALID
JAVAVM?????????????? JServer JAVA Virtual Machine?????????????????????? 11.2.0.1.0???????????????????? VALID
XML????????????????? Oracle XDK???????????????????????????????????????? 11.2.0.1.0???????????????????? VALID
CATJAVA????????????? Oracle Database Java Packages????????????????????? 11.2.0.1.0???????????????????? VALID
APS????????????????? OLAP Analytic Workspace??????????????????????????? 11.2.0.1.0???????????????????? VALID
XOQ????????????????? Oracle OLAP API??????????????????????????????????? 11.2.0.1.0???????????????????? VALID
18 rows selected.
--查看補丁情況
sys@ORCL>select ACTION_TIME, ACTION, COMMENTS from sys.DBA_REGISTRY_HISTORY;
no rows selected
--查看無效對象
sys@ORCL>select count(*) from dba_objects where status<>'VALID';
? COUNT(*)
----------
?????? 123
sys@ORCL> select object_name,object_type,owner,status from dba_objects where status<>'VALID';
sys@ORCL>spool off
2)備份數據庫
這里對全庫進行備份,以防打補丁出現意外,可以從備份集中恢復數據。
先關閉監聽器,關閉數據庫實例,將其啟到mount狀態,然后用rman進行冷備。
3)備份Oracle軟件
把Oracle軟件打包備份
4)安裝Opatch
復制代碼代碼如下:
--首先,查看當前的OPatch版本
[oracle@data ~]$ opatch version
Invoking OPatch 11.1.0.6.6
OPatch Version: 11.1.0.6.6
OPatch succeeded.
--如果當前的Opatch版本不夠,下載最新的Opatch,覆蓋原來的opatch即可
[oracle@data psu_jul_2011]$ unzip p6880880_112000_Linux-x86-64.zip
--unzip之后,在當前文件夾下出現OPatch文件夾
[oracle@data psu_jul_2011]$ mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch_20130705
[oracle@data psu_jul_2011]$ cp -r ./OPatch $ORACLE_HOME
[oracle@data psu_jul_2011]$ opatch version
OPatch Version: 11.2.0.3.4
OPatch succeeded.
5)安裝補丁(Oracle軟件部分)
首先,通過opatch lsinventory 查看之前打過的補丁信息。
然后解壓縮補丁文件:
復制代碼代碼如下:
[oracle@data psu_jul_2011]$ unzip p12419378_112010_Linux-x86-64.zip
[oracle@data psu_jul_2011]$ cd 12419378
最后在補丁的主目錄下執行opatch apply,等待5~10分鐘即可(注意:一定要先完全關閉數據庫和監聽器)
復制代碼代碼如下:
[oracle@data 12419378]$ pwd
/home/oracle/psu_jul_2011/12419378
[oracle@data 12419378]$ opatch apply
如果最后有warnings一般都沒什么問題,只要不是error就好。
6)安裝補丁(數據庫部分)
這步比較簡單,就是跑catbundle腳本,但時間比較長,10分鐘左右(視機器性能而定)
復制代碼代碼如下:
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle.sql psu apply
SQL> QUIT
7)重新編譯CPU相關視圖 (如果是PSU可略過次步驟)
該步驟在一個數據庫上永遠只需要執行一次,是為了完成在2008年1月份第一次發布CPU補丁時的后續工作,如果在安裝以前的PSU或者CPU時執行過這個步驟那么就可以無需再次執行,另外,即使不執行該步驟,數據庫也是正常運行的,只不過意味著2008年1月份的 CPU補丁沒有正常結束安裝。
復制代碼代碼如下:
SQL> SELECT * FROM registry$history where ID = '6452863';
上面這條語句用于判斷是否已經執行過,如果有行數返回,說明已經執行過,可跳過該步驟;
如果沒有行數返回,則可根據以下步驟重新編譯CPU/PSU相關視圖:
復制代碼代碼如下:
cd $ORACLE_HOME/cpu/view_recompile?
sqlplus / as sysdba?
SQL> @recompile_precheck_jan2008cpu.sql?
SQL> SHUTDOWN IMMEDIATE?
SQL> STARTUP UPGRADE?
SQL> @view_recompile_jan2008cpu.sql?
SQL> SHUTDOWN;?
SQL> STARTUP;?
SQL> QUIT
8)事后檢查
該步驟可以和第1)步的事先檢查對照
先編譯無效對象:
復制代碼代碼如下:
@?/rdbms/admin/utlrp.sql
復制代碼代碼如下:
set line 150
set pagesize 99
col action_time for a30
col action for a30
col comments for a90
col object_name for a30
col object_type for a30
col comp_name for a50
col comp_id for a20
SQL> spool post_check.log
SQL> select instance_name,status from v$instance;
SQL> select COMP_ID,COMP_NAME,VERSION,STATUS from DBA_REGISTRY;
SQL> select ACTION_TIME, ACTION, COMMENTS from DBA_REGISTRY_HISTORY;
SQL> select owner,object_name,object_type,status from dba_objects where status<>'VALID';
SQL> select count(*) from dba_objects where status<>'VALID';
SQL> spool off 轉:http://lib.csdn.net/article/oracle/28938 文章可以轉載,必須以鏈接形式標明出處。
本文轉自 張沖andy 博客園博客,原文鏈接:?http://www.cnblogs.com/andy6/p/5915907.html? ,如需轉載請自行聯系原作者

總結

以上是生活随笔為你收集整理的[Oracle] CPU/PSU补丁安装详细教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。