中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

oracle如何大補丁,oracle補丁升級

oracle 11.2.0.2.3補丁怎么打

oracle手動升級有兩種方式,一種在安裝oracle軟件之后,安裝升級包,然后創(chuàng)建數(shù)據(jù)庫;另一種在oracle數(shù)據(jù)庫創(chuàng)建以后,進行升級。

目前創(chuàng)新互聯(lián)建站已為超過千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站改版維護、企業(yè)網(wǎng)站設(shè)計、昭化網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

下面主要介紹oracle數(shù)據(jù)庫創(chuàng)建后進行的數(shù)據(jù)庫升級(10.2.0.1-10.2.0.4),代碼如下:

SQL --查看當(dāng)前數(shù)據(jù)庫版本

SQL select * from v$version;

SQL --給用戶scott解鎖

SQL alter user scott account unlock;

SQL --查看表空間

SQL select * from dba_tablespaces;

SQL --查看數(shù)據(jù)文件存放位置

SQL select * from dba_data_files;

SQL --創(chuàng)建測試表空間

SQL create tablespace ts_upgrade datafile '/u02/oradata/data/orcl/ts_upgrade01.dbf' size 5m autoextend on maxsize 30g;

SQL --創(chuàng)建用戶

SQL create user u_upgrade identified by "123456" default tablespace ts_upgrade temporary tablespace temp;

SQL --為用戶賦權(quán)

SQL grant connect,resource to u_upgrade;

SQL --創(chuàng)建測試表

SQL create table u_upgrade.dept as select * from scott.dept;

SQL select * from u_upgrade.dept;

[oracle@feegle ~]$ #停止em

[oracle@feegle ~]$ emctl stop dbconsole

[oracle@feegle ~]$ #停止sql*plus

[oracle@feegle ~]$ isqlplusctl stop

[oracle@feegle ~]$ #停止監(jiān)聽

[oracle@feegle ~]$ lsnrctl stop

[oracle@feegle ~]$ #安裝升級包(p6810189_10204_Linux-x86-64.zip)

[oracle@feegle ~]$ #手動升級數(shù)據(jù)庫

[oracle@feegle ~]$ sqlplus /nolog

SQL conn /as sysdba

SQL --以升級模式啟動數(shù)據(jù)庫

SQL startup upgrade;

SQL --重建數(shù)據(jù)字典(建議關(guān)閉數(shù)據(jù)庫歸檔)

SQL spool upgrade.log

SQL @$ORACLE_HOME/rdbms/admin/catupgrd.sql

#####重建數(shù)據(jù)字典部分截圖#####

Oracle Database 10.2 Upgrade Status Utility 06-15-2012 18:27:56

.

Component Status Version HH:MM:SS

Oracle Database Server VALID 10.2.0.4.0 00:12:04

JServer JAVA Virtual Machine VALID 10.2.0.4.0 00:04:58

Oracle XDK VALID 10.2.0.4.0 00:00:32

Oracle Database Java Packages VALID 10.2.0.4.0 00:00:28

Oracle Text VALID 10.2.0.4.0 00:00:25

Oracle XML Database VALID 10.2.0.4.0 00:02:25

Oracle Workspace Manager VALID 10.2.0.4.3 00:00:43

Oracle Data Mining VALID 10.2.0.4.0 00:00:21

OLAP Analytic Workspace VALID 10.2.0.4.0 00:00:23

OLAP Catalog VALID 10.2.0.4.0 00:01:02

Oracle OLAP API VALID 10.2.0.4.0 00:00:53

Oracle interMedia VALID 10.2.0.4.0 00:03:52

Spatial VALID 10.2.0.4.0 00:01:37

Oracle Expression Filter VALID 10.2.0.4.0 00:00:12

Oracle Enterprise Manager VALID 10.2.0.4.0 00:01:18

Oracle Rule Manager VALID 10.2.0.4.0 00:00:10

.

Total Upgrade Time: 00:31:30

DOC#######################################################################

DOC#######################################################################

DOC

DOC The above PL/SQL lists the SERVER components in the upgraded

DOC database, along with their current version and status.

DOC

DOC Please review the status and version columns and look for

DOC any errors in the spool log file. If there are errors in the spool

DOC file, or any components are not VALID or not the current version,

DOC consult the Oracle Database Upgrade Guide for troubleshooting

DOC recommendations.

DOC

DOC Next shutdown immediate, restart for normal operation, and then

DOC run utlrp.sql to recompile any invalid application objects.

DOC

DOC#######################################################################

DOC#######################################################################

DOC#

SQL

#####重建數(shù)據(jù)字典部分截圖#####

SQL spool off

SQL --關(guān)閉數(shù)據(jù)庫

SQL shutdown immediate;

SQL --啟動數(shù)據(jù)庫

SQL startup;

SQL --編譯無效對象

SQL @$ORACLE_HOME/rdbms/admin/utlrp.sql

#####編譯無效對象部分截圖#####

DOC 1. Query showing jobs created by UTL_RECOMP

DOC SELECT job_name FROM dba_scheduler_jobs

DOC WHERE job_name like 'UTL_RECOMP_SLAVE_%';

DOC

DOC 2. Query showing UTL_RECOMP jobs that are running

DOC SELECT job_name FROM dba_scheduler_running_jobs

DOC WHERE job_name like 'UTL_RECOMP_SLAVE_%';

DOC#

TIMESTAMP

--------------------------------------------------------------------------------

COMP_TIMESTAMP UTLRP_END 2012-06-15 18:45:01

DOC The following query reports the number of objects that have compiled

DOC with errors (objects that compile with errors have status set to 3 in

DOC obj$). If the number is higher than expected, please examine the error

DOC messages reported with each object (using SHOW ERRORS) to see if they

DOC point to system misconfiguration or resource constraints that must be

DOC fixed before attempting to recompile these objects.

DOC#

OBJECTS WITH ERRORS

-------------------

DOC The following query reports the number of errors caught during

DOC recompilation. If this number is non-zero, please query the error

DOC messages in the table UTL_RECOMP_ERRORS to see if any of these errors

DOC are due to misconfiguration or resource constraints that must be

DOC fixed before objects can compile successfully.

DOC#

ERRORS DURING RECOMPILATION

---------------------------

SQL

#####編譯無效對象部分截圖#####

SQL 驗證升級

SQL --查看組件狀態(tài)

SQL --status=VALID

SQL select comp_name, version, status from sys.dba_registry;

SQL --查看表空間狀態(tài)

SQL select tablespace_name,status from dba_tablespaces;

SQL --查看用戶

SQL select username from dba_users;

SQL --查看用戶對象

SQL select object_name from dba_objects where owner='SCOTT';

SQL select object_name from dba_objects where owner='U_UPGRADE';

SQL select * from v$version;

BANNER

----------------------------------------------------------------

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi

PL/SQL Release 10.2.0.4.0 - Production

CORE 10.2.0.4.0 Production

TNS for Linux: Version 10.2.0.4.0 - Production

NLSRTL Version 10.2.0.4.0 - Production

[oracle@feegle ~]$ #啟動監(jiān)聽

[oracle@feegle ~]$ lsnrctl start

[oracle@feegle ~]$ #啟動EM

[oracle@feegle ~]$ emctl start dbconsole

[oracle@feegle ~]$ #啟動SQL*PLUS

[oracle@feegle ~]$ isqlplusctl start

如何給oracle打patch補丁

給軟件打補丁相當(dāng)于給人打預(yù)防針,對系統(tǒng)的穩(wěn)定運行至關(guān)重要。本文詳細、系統(tǒng)地介紹了Oracle數(shù)據(jù)庫補丁的分類、安裝、管理等問題。

廠商提供給用戶的軟件補丁的形式多為編譯后的庫函數(shù),所以安裝軟件補丁實際上就是把這些庫函數(shù)拷貝到相應(yīng)目錄,并在需要時進行聯(lián)接操作。軟件公司一般在一段時間后會把針對某一版本的所有補丁進行整理:合并融合,解決沖突,進行整體測試,并使文件拷貝和聯(lián)接操作自動執(zhí)行,得到一個軟件補丁“包”。不同的公司使用不同的名稱,現(xiàn)在一般計算機用戶都熟悉的Windows Service Pack就是這樣的補丁包。Oracle公司給出的補丁包的名稱是Patch Set,安裝Patch Set后的版本稱Patch Set Release(PSR)。

Oracle公司對處于標準技術(shù)支持的產(chǎn)品不定期地提供PSR,例如在完成本文時,版本10.2的最新PSR是10.2.0.2;版本10.1的最新PSR是10.1.0.5;版本9.2的最新(也極可能是最終)PSR是9.2.0.8。

在安裝最新PSR后新發(fā)現(xiàn)的Bug,其相應(yīng)補丁當(dāng)然會收錄到下一個PSR中。PSR是累積型的,即下一個PSR中會包括當(dāng)前PSR中所有補丁和新發(fā)現(xiàn)Bug的補丁。同時存在幾個PSR時,只需安裝最新版本一次就可以了。但是由于PSR的發(fā)行有一定間隔,如果這些Bug對用戶有比較大的影響,那么 Oracle公司也會向用戶公開和提供這些補丁,這些補丁被稱為個別補?。↖nterim Patch,one-off patch 或 Patch Set Exception)。而對于最終補丁發(fā)行版而言,由于不再有下一個PSR,所以當(dāng)發(fā)現(xiàn)影響系統(tǒng)的新Bug時,個別補丁成為惟一選擇。

此外,Oracle公司還定期發(fā)布安全補丁,稱之為CPU(Critical Patch Updates)。安全補丁用來修復(fù)軟件的易受攻擊性(vulnerability)或通常說的安全漏洞。這類問題本來不屬于軟件錯誤,在正常使用中不會出現(xiàn)任何問題。但是別有用心的人可以通過運行非常精巧設(shè)計的代碼,繞過數(shù)據(jù)庫系統(tǒng)的安全管理機制,達到非授權(quán)存取的目的。

另外還存在一類補?。涸\斷用補?。╠iagnostic patch)。顧名思義,這類補丁不是用來解決問題的,而是用來尋找問題的原因的。這類補丁只在Oracle技術(shù)支持部門要求安裝時,才需要安裝。在得到需要的診斷信息后,應(yīng)立即卸載這一補丁。

利弊及時機選擇

負責(zé)管理支撐大型應(yīng)用系統(tǒng)的數(shù)據(jù)庫的DBA會容易理解安裝軟件補丁的代價。安裝PSR需要停止數(shù)據(jù)庫服務(wù),關(guān)閉數(shù)據(jù)庫,對于許多應(yīng)用系統(tǒng)安排這樣的停機時間本身就是一件比較困難的事情。事實上,更為嚴重的是由于安裝PSR可能“引入”新的Bug,反而影響應(yīng)用系統(tǒng)的正常運行。軟件補丁本來是修正 Bug,怎么會帶來新的Bug?雖然有些讓人匪夷所思,但很不幸這是現(xiàn)實存在的。

對于每一個PSR,其中都包括了少則幾百多則上千個嚴重Bug的修正。即便是如此,在PSR發(fā)布后,很快就又會在安裝PSR后的數(shù)據(jù)庫中發(fā)現(xiàn)一些新問題。其中一部分Bug是以前就一直存在的只是以前沒有發(fā)現(xiàn),而現(xiàn)在偶爾被發(fā)現(xiàn),或者是由于PSR修正了某一錯誤從而將其“激活”或容易發(fā)現(xiàn)。但是確實有一些Bug是由這一PSR造成的,Oracle技術(shù)支持部門稱其為倒退(Regression)。對于每一PSR,在metalink中有兩個重要的與之有關(guān)的文檔,一個是“List of fixes added in XXXX”,是這一PSR修復(fù)的Bug的清單,是一本“修復(fù)列表”;另一個是“Known issues and alerts affecting XXXX”,是安裝PSR后發(fā)現(xiàn)的問題,可以稱其為“悔過列表”。由于大型軟件的復(fù)雜性,Bug幾乎是不可避免的。重要的是能夠及時提供信息,DBA可以結(jié)合自己系統(tǒng)的情況做出正確的判斷。讀者不必因為知道還存在著Bug,就對Oracle數(shù)據(jù)庫產(chǎn)品失去信心。PSR修復(fù)的上千個Bug中絕大多數(shù)是在一些很少見的環(huán)境中,或者是若干個組件的復(fù)雜組合使用的情形中發(fā)生的。

如果系統(tǒng)在運行中出現(xiàn)過某種問題,由Oracle技術(shù)支持部門或第三方的專家確認原因是PSR中的某一Bug,這樣就必須盡早安裝;如果系統(tǒng)一直運行正常,并且在PSR已發(fā)現(xiàn)的問題中涉及的組件或功能(如Logical Standby, JVM,RAC等)在系統(tǒng)中并不使用,此時可以選擇安裝也可以選擇不安裝。

另一個需要考慮的因素是安裝補丁的時機。上述這些考慮的一個重要前提是系統(tǒng)已經(jīng)投入運行,擔(dān)心“倒退”的Bug影響系統(tǒng)。如果系統(tǒng)還處在開發(fā)和測試階段,不需要有任何猶豫,安裝最新的PSR,并在此基礎(chǔ)上測試應(yīng)用系統(tǒng)是否工作正常。如果發(fā)現(xiàn)異常,要及時請Oracle技術(shù)支持部門確認是否新Bug,如果是請其提供個別補丁。目的就是在一個盡可能完善穩(wěn)定的數(shù)據(jù)庫平臺上測試應(yīng)用系統(tǒng)。我們可以把這種安裝補丁的策略概括為“補丁補新不補舊”。

以上都是針對PSR的安裝,對于個別補丁,由于補丁修復(fù)的Bug單一,容易判斷是否需要安裝。需要注意的是,如果在當(dāng)前PSR之上安裝了若干個個別補丁,那么在下一個PSR發(fā)布后,在安裝下一個PSR之前,需要卸載所有個別補丁。為便于管理,現(xiàn)在Oracle技術(shù)支持部門要求必須使用工具 opatch安裝管理個別工具,而盡量避免手動拷貝文件等操作。

最后是安全補丁安裝的判斷。雖然安全漏洞這個詞看上去讓人覺得非常嚴重,但是還要冷靜綜合分析這些漏洞在系統(tǒng)中的危害程度。事實上,不安裝安全補丁的危險性可能遠遠小于始終不渝地使用scott/tiger這樣人人都知道的用戶名和口令的“標準缺省”做法。

安裝PSR

使用oui工具安裝PSR時只需要用鼠標做幾個選擇就可以進入自動執(zhí)行的階段,操作過程本身非常簡單。但是如果要求必須一次安裝成功;要求必須在凌晨2點到4點這個有限的停機時間段完成操作;要求安裝過程不出差錯,以后出現(xiàn)問題時能夠完全排除此次操作失誤的可能性,那么就需要在啟動oui之前做一些準備工作。

1. 收集信息

有關(guān)PSR的信息中,一個最重要的文檔就是軟件補丁說明,這個文件相當(dāng)于技術(shù)手冊中的安裝指南和發(fā)行說明。文件本身包含在下載的軟件補丁文件之中,文件名是patchnote.htm或README.html。需要注意的一個問題是在軟件補丁文件之中找到的這一Patch Set Notes可能不是最新版,可以根據(jù)文件內(nèi)的提示信息在metalink中檢索最新版。

另外兩個重要文件就是前面已經(jīng)提及的“修復(fù)列表”和“悔過列表”,相對于“修復(fù)列表”更應(yīng)該仔細閱讀“悔過列表”中的每一項內(nèi)容。另外,在Patch Set Notes的已知問題(Known Issues)一節(jié)內(nèi)列出了安裝PSR后出現(xiàn)的一些問題。

除去這三個主要文件外,還應(yīng)在metalink中檢索,尋找是否還有其他涉及這一PSR的技術(shù)文章,尋找其他用戶在安裝這一PSR時或安裝后遇到問題時所發(fā)的救助的帖子,前車之鑒更應(yīng)重視。

2. 做出判斷

在認真閱讀收集到的文章之后,根據(jù)自己系統(tǒng)的實際情況,做出是立即安裝PSR,或是等待下一PSR的決定。如果是暫緩安裝,則要記錄原因,以便以后跟蹤Bug的修復(fù)進程。

3. 制訂實施計劃

在決定安裝PSR后,需要制訂一個實施計劃。在計劃中不僅要包括正常的操作步驟,更要考慮在出現(xiàn)意外時的應(yīng)急處理(如果安裝PSR失敗,則在正常應(yīng)用開始時間之前,要恢復(fù)系統(tǒng)到安裝之前的狀態(tài))。如果可能,在對正式系統(tǒng)開始實施之前,應(yīng)在測試系統(tǒng)中進行演練和應(yīng)用處理的測試,保證在安裝PSR后不會影響應(yīng)用系統(tǒng)的運行。

安裝PSR的計劃大致有以下幾個部分:停止數(shù)據(jù)庫服務(wù)關(guān)閉數(shù)據(jù)庫;備份DBMS軟件和數(shù)據(jù)庫以備恢復(fù)之用;安裝PSR軟件;更新數(shù)據(jù)庫數(shù)據(jù)字典升級PSR版本;正常啟動數(shù)據(jù)庫開始數(shù)據(jù)庫服務(wù)。

看似簡單的關(guān)閉數(shù)據(jù)庫的操作,在系統(tǒng)構(gòu)成復(fù)雜時也會變得不容易。另外,如果夜間作業(yè)時間不允許在完成數(shù)據(jù)庫完全備份之后再安裝PSR,則安裝PSR的日期應(yīng)該選擇在例行的數(shù)據(jù)庫完全備份的下一個晚上,只備份重做日志。

在安裝PSR之前備份DBMS軟件的目的是,由于安裝PSR會對許多程序和庫函數(shù)進行更新,如果安裝PSR中途失?。m然可能性非常?。?,有可能造成DBMS軟件出現(xiàn)不一致。另外一種可能的情形是,在安裝PSR,更新數(shù)據(jù)字典后,測試應(yīng)用系統(tǒng)時,出現(xiàn)了某種異常,原因不明,最終決定放棄PSR。如果操作之前沒有備份,則此時只有重新安裝軟件一種選擇(PSR不同于完整軟件安裝,在oui中無法單獨卸載PSR軟件)。

對文件、目錄和文件系統(tǒng)的備份,最簡單的方式可以使用cp、tar、dump等命令完成。如果希望縮短文件拷貝時間,可以考慮分區(qū)備份的方法。分區(qū)備份常用的命令是dd。但是,分區(qū)拷貝比文件拷貝速度快的前提是良好的分區(qū)設(shè)計:Oracle軟件單獨占一個大小適中(如4GB)的分區(qū),這樣扇區(qū)拷貝才會體現(xiàn)優(yōu)勢,這也就是為什么在安裝軟件時,Oracle建議單獨使用一個分區(qū)安裝軟件的原因之一。

在制定實施計劃時,應(yīng)認真閱讀Patch Set Notes中有關(guān)操作前準備工作一節(jié)。在這節(jié)內(nèi)會介紹對于一些特殊系統(tǒng)構(gòu)成,如果你的系統(tǒng)屬于文檔中提到的構(gòu)成,一定要首先閱讀文內(nèi)提示的相關(guān)技術(shù)文章,找到正確的安裝步驟。

使用oui, PSR軟件安裝完成后,一定不要忘記更新數(shù)據(jù)字典這一步驟。如果在這一ORACLE_HOME下生成了多個數(shù)據(jù)庫,則每個數(shù)據(jù)庫都必須更新數(shù)據(jù)字典。

. 實施操作

制訂一個詳細的計劃后,實施操作就可以“照本宣科”,是一個簡單的體力勞動。要認識到“忙中出錯”的概率遠比“急中生智”大得多,操作時盡量減少失誤的可能性。例如,需要執(zhí)行的復(fù)雜命令,盡可能從一個文件拷貝到終端執(zhí)行,而不要現(xiàn)場輸入。另外,在實施過程中,要記錄各個階段實際的執(zhí)行時間,以供以后制訂類似計劃時參考。

5. 檢查操作結(jié)果并記錄備案

執(zhí)行一個操作,操作是否成功,一定要進行檢查,不能簡單認為沒有出錯信息就是成功。要知道驗證的方法。除去極個別極費時間的驗證(分區(qū)備份的內(nèi)容是否可以成功恢復(fù)系統(tǒng),必須恢復(fù)分區(qū),啟動數(shù)據(jù)庫,測試應(yīng)用系統(tǒng)后才能確認),其余操作都應(yīng)進行驗證。所有屏幕輸出信息和日志文件都應(yīng)保留,作為安裝報告的附件提交給上級或客戶。

在屏幕輸出或日志文件中出現(xiàn)異常/錯誤信息時,應(yīng)即時分析,決定馬上采取的措施。出現(xiàn)嚴重錯誤時,可能需要重新執(zhí)行某一SQL程序,或者重新安裝PSR。所以在制訂實施計劃時應(yīng)在時間上留出異常情況處理的時間。

下面給出一個在Linux平臺上安裝10.1的PSR的實例,給從未安裝PSR的讀者有一個感性認識。

操作系統(tǒng)是RHEL AS4.0 Update3,Oracle的當(dāng)前版本是10.1.2。在metalink中檢索,找到10.1版的最新PSR10.1.0.5。下載壓縮文件。在壓縮文件中找到Patch Set Notes,該文檔的完成日期是2006年1月。而按照文檔內(nèi)的提示在metalink中檢索得到的此文檔的最新版本完成日期是2006年4月。使用文件比較工具進行比較,兩個版本沒有實質(zhì)性差別,只有語句措詞的修改,但是養(yǎng)成總是檢索最新文檔的習(xí)慣有益無害。

根據(jù)Patch Set Notes中的說明,有一些特殊系統(tǒng)構(gòu)成需要額外的步驟,本例中由于全部沒有涉及到,所以可以按標準步驟執(zhí)行。

另外,檢查“Known issues and alerts affecting 10.1.0.5”文檔后,發(fā)現(xiàn)10.1.0.5引入的影響最大的一個Bug是執(zhí)行SELECT MAX()在某些特定條件下結(jié)果不正確。而這一Bug可以通過設(shè)置事件(event)關(guān)閉FIRST ROW優(yōu)化而避免。最后的結(jié)論是這一BUG不會對本系統(tǒng)有影響,可以安裝PSR10.1.0.5。

1. 檢查數(shù)據(jù)庫表空間和初始化參數(shù)是否需要調(diào)整。

System表空間要求有一定未使用空間:初始化參數(shù)SHARED_POOL_SIZE 和 JAVA_POOL_SIZE不能低于最小值150MB。

2. 關(guān)閉數(shù)據(jù)庫,停止listener和agent等進程。

3. 解壓縮下載文件至某一目錄,執(zhí)行oui。

在壓縮文件中附帶的oui的版本要比已經(jīng)安裝的版本高,應(yīng)總是使用新版本的oui。在oui窗口中,要求選擇本次安裝的軟件的位置,正確的位置是解壓縮目錄下的子目錄Disk1/stage/, 選中products.xml即可開始文件拷貝。

要注意窗口中會出現(xiàn)本次安裝的日志文件的文件路徑和文件名。文件的位置是在Oracle的inventory所在目錄的子目錄logs中,文件名由前綴InstallActions和安裝日期時間組成,如: InstallActions2006-08-30-11-32-48AM.log。

正常結(jié)束后,退出oui。打開日志文件,檢索是否出現(xiàn)error 或“ORA-”的錯誤信息。本次安裝產(chǎn)生的日志文件內(nèi),沒有任何此類的信息,表明PSR軟件安裝成功。如果此時再次啟動oui,點擊“已安裝軟件”,則可以看到在原有的10.1.0.2軟件之下,新出現(xiàn)了10.1.0.5一項,這也證實PSR軟件安裝成功。

4.更新數(shù)據(jù)庫數(shù)據(jù)字典

更新數(shù)據(jù)字典時,必須以特殊的升級方式打開數(shù)據(jù)庫。

$ sqlplus /nolog

SQL CONNECT / AS SYSDBA

SQL STARTUP UPGRADE

SQL SPOOL patch.log

SQL @?/rdbms/admin/catpatch.sql

執(zhí)行結(jié)束后,關(guān)閉重定向:

SQL SPOOL OFF

打開文件patch.log檢查是否有錯誤“ORA-”。(這一文件在啟動sqlplus時的當(dāng)前目錄中,當(dāng)然也可以在“SPOOL patch.log”語句中顯式指定文件路徑。)如果出現(xiàn)錯誤要分析原因,在解決問題后,需要再次執(zhí)行catpatch.sql程序。

更新數(shù)據(jù)字典時,由于對某些PL/SQL包刪除后又重新生成,造成相關(guān)PL/SQL包的狀態(tài)為異常(invalid)。在以后調(diào)用這些包時,檢測到其狀態(tài)為非法,會自動執(zhí)行編譯命令,使狀態(tài)成為正常(valid)。雖然不會出錯,但會造成個別處理第一次執(zhí)行時變慢。顯然,與其留到應(yīng)用系統(tǒng)運行時再一個個編譯,不如之前集中一次重編譯所有異常包。

SQL SHUTDOWN

SQL STARTUP

SQL @?/rdbms/admin/utlrp.sql

最后,根據(jù)Known Issues中的指示,完成與本系統(tǒng)有關(guān)的操作。例如,修改Pro*C的配置文件。這里執(zhí)行一個修改文件存取權(quán)限的“后操作”,以便非同組用戶和程序可以存取客戶端工具和庫函數(shù)。

$ cd $ORACLE_HOME/install

$ ./ changePerm.sh

個別補丁管理工具opatch

如前所述,在發(fā)布一個PSR后發(fā)現(xiàn)的新BUG,只能把其補丁收入到下一個PSR中。如果對數(shù)據(jù)庫有實質(zhì)性影響,則這一補丁以個別補丁的形式向用戶提供。個別補丁是與某一個特定的PSR關(guān)聯(lián),是安裝在這一PSR之上的。另外,如同其名字表明的,個別補丁只是單一Bug的補丁,不會包含其他個別補丁,即不是累積型的。

在9.2版之前,安裝個別補丁的操作完全是手工的。這種手工方式的缺點不僅在于加重DBA的負擔(dān),容易造成操作失誤,更嚴重的是無法對已安裝的個別補丁進行管理。

為解決手工方式的缺陷,從9.2版開始,Oracle公司設(shè)計實現(xiàn)了個別補丁安裝管理工具opatch。opatch使用一個稱為 inventory的系統(tǒng)數(shù)據(jù)結(jié)構(gòu)(嚴格說是與oui共享inventory),集中管理所有已安裝的個別補??;個別補丁的安裝和卸載都使用opatch 命令完成,沖突檢測也由opatch在安裝時自動完成;提供列表命令可以很方便得到已安裝個別補丁的信息。

10g(10.1和10.2)版本中,opatch作為一個標準工具,在軟件安裝時自動安裝。(安裝在$ORACLE_HOME/OPatch 下。)而對于9.2版,需要從metalink下載opatch。無論數(shù)據(jù)庫是哪一個版本,系統(tǒng)中是否已經(jīng)安裝opatch,在使用之前,應(yīng)從 metalink下載最新版本的opatch。很遺憾,由于系統(tǒng)實現(xiàn)的問題,10.2使用的opatch與之前版本(10.1和9.2)使用的 opatch不兼容,不能混用,這一點必須注意。

opatch是使用perl編寫的腳本程序(其中也使用JAVA API)。編程使用的perl版本是5.6版,雖然在5.6之前的版本中也可運行,但應(yīng)盡可能安裝5.6或以上的版本的perl。對于DBA來說一個好消息是,如果安裝9.2版軟件時保留了HTTP服務(wù)器,則在$ORACLE_HOME/Apache下會自動安裝perl。(10g會自動安裝配置perl 和opatch。)

opatch命令格式為:

opatch command [ command_options ] [ -h[elp] ]

命令有:apply(安裝個別補?。?、rollback(卸載個別補?。sinventory(對inventory進行列表)、query (顯示某一個別補丁的詳細信息)、version(顯示opatch版本信息)。在opatch目錄下,有用戶使用指南文件(Users_Guide.txt),其中有詳細的命令格式和使用示例,讀者可以參考。Opatch執(zhí)行操作時,除在屏幕輸出結(jié)果外,還生成日志文件。日志文件的路徑和文件名格式如下:

$ORACLE_HOME/.patch_storage/ patch_id / action - patch_id _ mm-dd-yyyy_hh-mi-ss .log

其中“patch_id”是Oracle技術(shù)支持部門為個別補丁分配的編號。

4. 個別補丁安裝實例

沿用安裝PSR實例中的環(huán)境。在安裝PSR10.1.0.5后,檢索metalink,發(fā)現(xiàn)若干在其之上的個別補丁。選擇其中之一安裝。

個別補丁Patch 4518443修復(fù)BUG4518443,這一BUG的主要問題是TNS LISTENER在注冊O(shè)NS(Oracle Notification Services)的同時如果創(chuàng)建子進程,那么LISTENER會掛起(HANGUP)。

安裝時,首先,從metalink下載補丁的壓縮文件p4518443_10105_LINUX.zip。將此文件解壓縮至某一目錄中。解壓縮后,這一補丁的所有文件都在子目錄4518443下,目錄名就是個別補丁的補丁號,opatch依據(jù)目錄名獲得信息,所以一定不要重命名子目錄。

然后,在終端窗口中,執(zhí)行cd命令移動到4518443子目錄中,執(zhí)行以下命令:

$ $ORACLE_HOME/OPatch/opatch apply

對inventory列表,確認安裝操作:

$ $ORACLE_HOME/OPatch/opatch lsinventory

執(zhí)行卸載命令時,也必須使4518443子目錄成為當(dāng)前目錄。其中,Rollback命令需要兩個參數(shù):-id給出個別補丁號;-ph 給出個別補丁解壓縮后的路徑。

$ $ORACLE_HOME/OPatch/opatch rollback -id 4518443 -ph /…/4518443

隨后再對inventory列表,則會看到這一個別補丁已經(jīng)被移去。

4. 使用opatch顯示已安裝的版本信息

不需要啟動數(shù)據(jù)庫,執(zhí)行加選項的對inventory的列表命令,可以得到已安裝的軟件的各個組件的詳細版本信息。

$ $ORACLE_HOME/OPatch/opatch lsinventory -detail

安全補丁CPU

一個CPU內(nèi)包含了對多個安全漏洞的修復(fù),并且也包括相應(yīng)必需的非安全漏洞的補丁。CPU是累積型的,只要安裝最新發(fā)布的CPU即可,其中包括之前發(fā)布的所有CPU的內(nèi)容。事實上,在CPU之前的安全漏洞修改除去個別例外也被包括在CPU中。Oracle公司只對處于標準技術(shù)支持和延長支持期間的產(chǎn)品提供CPU更新,對處于維持支持范圍的產(chǎn)品不提供新的CPU。(對于9.2以前的版本,只對處于ECS和EMS期間的版本提供CPU更新。)一般對當(dāng)前補丁發(fā)行版及前一個版本提供CPU,但也有只限于當(dāng)前補丁發(fā)行版的例外情形。也就是說,一般需要先安裝最新PSR后才可能安裝CPU。由于是累積型的定期發(fā)布,所以對于某一平臺的某一版本,如果兩次CPU發(fā)布期間沒有發(fā)現(xiàn)新的安全漏洞,則新發(fā)布的CPU與前一版本完全相同。

如何使用opatch給oracle打補丁

1、 環(huán)境介紹

我們選擇11gR2作為實驗環(huán)境。

SQL select * from v$version;

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

PL/SQL Release 11.2.0.1.0 - Production

CORE 11.2.0.1.0 Production

在安裝目錄$ORACLE_HOME下,是自帶一個OPatch工具包的。一般小版本的升級,都是通過OPatch來完成。

[oracle@bsplinux ~]$ cd $ORACLE_HOME

[oracle@bsplinux oracle]$ ls -l | grep OPatch

drwxr-xr-x 8 oracle oinstall 4096 Oct 23 20:00 OPatch

不過,同Oracle自帶的Uninstall一樣,11.2.0.1自帶的OPatch的版本是不能提供升級功能的。所以,我們通常需要首先升級OPatch,之后才能進行打補丁。

2、OPatch升級

首先,我們需要確定當(dāng)前的OPatch版本。進入OPatch目錄之后,可以通過版本首先確認。

[oracle@bsplinux OPatch]$ ls -l

total 92

drwxr-xr-x 2 oracle oinstall 4096 May 22 16:16 docs

-rw-r--r-- 1 oracle oinstall 21576 May 6 2009 emdpatch.pl

drwxr-xr-x 2 oracle oinstall 4096 May 22 16:16 jlib

drwxr-xr-x 5 oracle oinstall 4096 May 22 16:16 ocm

-rwxr-xr-x 1 oracle oinstall 8709 May 6 2009 opatch

-rw-r--r-- 1 oracle oinstall 49 May 22 16:22 opatch.ini

-rw-r--r-- 1 oracle oinstall 2576 May 6 2009 opatch.pl

drwxr-xr-x 4 oracle oinstall 4096 May 22 16:16 opatchprereqs

[oracle@bsplinux OPatch]$ ./opatch version

Invoking OPatch 11.1.0.6.6

OPatch Version: 11.1.0.6.6

OPatch succeeded.

11.2.0.1自帶的OPatch版本為11.1.0.6.6,我們需要首先升級OPatch。第一步是進行原有OPatch備份。

[oracle@bsplinux oracle]$ tar zcvf opatch_bk.tar OPatch

OPatch/

OPatch/opatchprereqs/

OPatch/opatchprereqs/prerequisite.properties

(篇幅原因,省略部分內(nèi)容)

OPatch/jlib/opatchprereq.jar

OPatch/opatch

OPatch/opatch.ini

[oracle@bsplinux oracle]$ ls -l | grep opatch

-rw-r--r-- 1 oracle oinstall 1187195 Oct 23 19:06 opatch_bk.tar

最新版本的OPatch可以從MOS上面下載到,補丁文件名稱為:p6880880_112000_LINUX.zip(For Linux 32)。

[oracle@bsplinux upload]$ ls -l | grep p688

-rw-r--r-- 1 root root 32510812 Oct 23 19:58 p6880880_112000_LINUX.zip

--解壓到ORACLE_HOME目錄上

[oracle@bsplinux upload]$ unzip p6880880_112000_LINUX.zip -d $ORACLE_HOME

Archive: p6880880_112000_LINUX.zip

creating: /u01/app/oracle/OPatch/oplan/

(篇幅原因,省略部分……)

inflating: /u01/app/oracle/OPatch/crs/s_crsconfig_defs

inflating: /u01/app/oracle/OPatch/crs/s_crsconfig_lib.pm

之后,驗證OPatch安裝成功。

[oracle@bsplinux OPatch]$ ./opatch version

OPatch Version: 11.2.0.3.0

OPatch succeeded.

[oracle@bsplinux OPatch]$

3、補丁安裝

如果OPatch不是最新的版本,直接安裝PSU可能會有各種的問題。更新OPatch之后,我們就可以下載對應(yīng)的PSU進行更新。

[oracle@bsplinux upload]$ ls -l | grep p12

-rw-r--r-- 1 root root 18510829 Oct 23 19:35 p12419378_112010_LINUX.zip

[oracle@bsplinux upload]$ unzip p12419378_112010_LINUX.zip -d $ORACLE_HOME

(省略)

[oracle@bsplinux oracle]$ cd 12419378/

[oracle@bsplinux 12419378]$ ls -l

total 60

drwxr-xr-x 3 oracle oinstall 4096 Jul 8 2011 custom

drwxr-xr-x 4 oracle oinstall 4096 Jul 8 2011 etc

drwxr-xr-x 12 oracle oinstall 4096 Jul 8 2011 files

-rwxr-xr-x 1 oracle oinstall 2871 Jul 8 2011 patchmd.xml

-rw-rw-r-- 1 oracle oinstall 40790 Jul 18 2011 README.html

-rw-r--r-- 1 oracle oinstall 21 Jul 8 2011 README.txt

將數(shù)據(jù)庫和監(jiān)聽程序關(guān)閉。

[oracle@bsplinux OPatch]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Tue Oct 23 19:26:11 2012

Copyright (c) 1982, 2009, Oracle. All rights reserved.

SQL conn / as sysdba

Connected.

SQL shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL quit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

[oracle@bsplinux OPatch]$ lsnrctl stop

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 23-OCT-2012 19:26:55

Copyright (c) 1991, 2009, Oracle. All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

The command completed successfully

網(wǎng)站標題:oracle如何大補丁,oracle補丁升級
URL地址:http://www.rwnh.cn/article46/dssdghg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、外貿(mào)建站網(wǎng)站改版、商城網(wǎng)站虛擬主機、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
濮阳市| 铜陵市| 上饶市| 上杭县| 台安县| 外汇| 安丘市| 织金县| 肥东县| 会同县| 三门峡市| 陇川县| 高清| 新野县| 衡东县| 韶关市| 米脂县| 阜南县| 汝城县| 新野县| 陵川县| 阿瓦提县| 弥勒县| 呼和浩特市| 鄂托克前旗| 安徽省| 拜泉县| 车险| 肥西县| 娄烦县| 肥西县| 枝江市| 屯昌县| 浦江县| 错那县| 临沭县| 五指山市| 博湖县| 化隆| 建瓯市| 太白县|