首先先下載好Oracle安裝包(這個就不用說了,上Oracle官網(wǎng)自己找下載入口),將下載好后的兩個壓縮文件解壓至同一文件夾下,該文件夾為database;

成都創(chuàng)新互聯(lián)專注于黑河網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供黑河營銷型網(wǎng)站建設,黑河網(wǎng)站制作、黑河網(wǎng)頁設計、黑河網(wǎng)站官網(wǎng)定制、成都微信小程序服務,打造黑河網(wǎng)絡公司原創(chuàng)品牌,更為您提供黑河網(wǎng)站排名全網(wǎng)營銷落地服務。
解壓完畢后,在該目錄下打開setup.exe,執(zhí)行安裝程序后會出現(xiàn)啟動安裝的命令提示符,進入安裝;
稍等一會兒,就會出現(xiàn)以下安裝步驟,取消復選框勾選,點擊下一步繼續(xù),并單擊“是”繼續(xù)
之后出現(xiàn)以下安裝框,默認點擊“下一步”繼續(xù),
選擇安裝“桌面類”和“服務器類”,當然服務器類是安裝的在Windows server上的,Win7就選擇“桌面類”安裝即可
接下來進入安裝配置,密碼口令為大小寫數(shù)字拼成的口令,否則,就會提示警告
點擊下一步,在執(zhí)行先決條件檢查時,我們選擇全部忽略即可
下一步,點擊完成按鈕即開始安裝了
安裝畫面如下
進度條到達100時則會出現(xiàn)以下對話框,并等待其配置完成
配置完成后,會再彈出對話框點擊“確定”即可。
1、分別解壓“winx64_12c_database_1of2.zip“和“winx64_12c_database_2of2.zip”,將其放在同一個文件夾上
2、點擊“setup.exe”進行正式安裝
3、這里需要注意一下,需要取消“我希望通過My Oracle Support接受安全更新”的勾選(不取消的話以后會莫名其妙進行重新安裝的)
4、軟件更新,直接跳過即可
5、默認狀態(tài)即可,點擊“下一步”
6、根據(jù)介紹選擇”桌面類”還是”服務器類”,選擇”服務器類”可以進行高級的配置,這里直接默認狀態(tài)即可
7、”創(chuàng)建新windows用戶“,輸入用戶名和口令,單擊”下一步“
包含64位/32位官方版本,并附詳細的Oracle 11g安裝圖解教程,同時希望能幫助到剛接觸到Oracle數(shù)據(jù)庫的朋友。安裝過程稍需一段時間,具體時間決取于你的電腦配置,請大家稍安勿躁。
Oracle 11g版本是甲骨文公司憑借自已30年的設計經(jīng)驗,成功打造的功能強大的關系數(shù)據(jù)庫管理系統(tǒng),目前共發(fā)行了linux版本和windows版本,Oracle數(shù)據(jù)庫的高效性、安全性、穩(wěn)定性、延展性,是其成功的關鍵因素,世界上的幾乎所有大型信息化系統(tǒng)都在應用Oracle技術。
在甲骨文推出的產(chǎn)品中,Oracle 11g是最具創(chuàng)新性和質(zhì)量最高的軟件,它具有400多項功能,經(jīng)過了1500萬個小時的測試,開發(fā)工作量前所未有。Oracle數(shù)據(jù)庫11g可以幫助企業(yè)管理企業(yè)信息、更深入地洞察業(yè)務狀況并迅速自信地做出調(diào)整以適應不斷變化的競爭環(huán)境,最新版數(shù)據(jù)庫增強了Oracle數(shù)據(jù)庫獨特的數(shù)據(jù)庫集群、數(shù)據(jù)中心自動化和工作量管理功能,更多詳細的功能請大家查看下面的Oracle 11g新增功能介紹。
Oracle 11g 64位/32位官方版
Oracle 11g安裝圖解教程
安裝以win7 64位系統(tǒng)為例
1、將win64_11gR2_database_1of2和win64_11gR2_database_2of2解壓到同個文件夾下合并(可以直接左鍵框住右鍵點擊一起解壓),打開運行其中的setup開始安裝,如圖所示:
2、稍后進入Oracle 11g安裝界面(如下圖:)
3、【配置安全更新】郵箱以及口令可以不寫,點擊下一步,出現(xiàn)提醒,直接點是即可。
4、【安裝選項】直接選擇默認創(chuàng)建和配置一個數(shù)據(jù)庫(安裝完Oracle后,系統(tǒng)會自動創(chuàng)建一個數(shù)據(jù)庫實例)。
5、【系統(tǒng)類】個人用戶直接選擇默認的桌面類就可以了,如圖所示:
6、【典型安裝】Oracle基目錄,軟件目錄,和數(shù)據(jù)庫文件目錄,Oracle一般會自動幫你選擇空間最大的盤和你解壓文件的盤符,全部默認即可。管理口令需要輸入(大寫+小寫+數(shù)字)的八位密碼,也有網(wǎng)友指出此處可以隨意設置簡單好記的密碼,無視軟件提醒即可。
7、【先決條件檢查】安裝程序會檢查軟硬件系統(tǒng)是否滿足此Oracle版本的最低要求,安裝需要占用約2G的C盤空間,內(nèi)存2G以上即可。如果還是通不過要求,選擇全部忽略。
8、【概要】安裝前的一些相關選擇配置信息,點擊完成。
9、安裝正在進行中,請耐心等待。。。。如圖所示:
10、Oracle實例創(chuàng)建啟動完成后,會自動創(chuàng)建安裝一個實例數(shù)據(jù)庫名稱orcl123,(小編用的是orcl123,默認為orcl名稱的數(shù)據(jù)庫)。
11、 安裝完成,運行開始菜單Oracle - OraDb11g_home1Database Control - orcl123,以IE運行進入登錄界面或打開ie直接輸入即可 (此處如果出現(xiàn)證書錯誤的話,點擊繼續(xù)瀏覽此網(wǎng)站即可)。
12、登錄界面,輸入用戶名"SYS",口令為之前注冊設置的管理密碼,將連接身份改為SYSDBA,點擊登錄,成功之后你就可以管理你的數(shù)據(jù)庫實例了。
Oracle 11g新版功能
1.數(shù)據(jù)庫管理部分
◆數(shù)據(jù)庫重演(Database Replay)
這一特性可以捕捉整個數(shù)據(jù)的負載,并且傳遞到一個從備份或者standby數(shù)據(jù)庫中創(chuàng)建的測試數(shù)據(jù)庫上,然后重演負責以測試系統(tǒng)調(diào)優(yōu)后的效果。
◆SQL重演(SQL Replay)
和前一特性類似。但是只是捕捉SQL負載部分,而不是全部負載。
◆計劃管理(Plan Management)這一特性允許你將某一特定語句的查詢計劃固定下來,無論統(tǒng)計數(shù)據(jù)變化還是數(shù)據(jù)庫版本變化都不會改變她的查詢計劃。
◆自動診斷知識庫(Automatic Diagnostic Repository ADR)
當Oracle探測到重要錯誤時,會自動創(chuàng)紀一個事件(incident),并且捕捉到和這一事件相關的信息,同時自動進行數(shù)據(jù)庫健康檢查并通知DBA。此外,這些信息還可以打包發(fā)送給Oracle支持團隊。
◆事件打包服務(Incident Packaging Service)
如果你需要進一步測試或者保留相關信息,這一特性可以將與某一事件相關的信息打包。并且你還可以將打包信息發(fā)給oracle支持團隊。
◆基于特性打補丁(Feature Based Patching)
在打補丁包時,這一特性可以使你很容易區(qū)分出補丁包中的那些特性是你正在使用而必須打的。企業(yè)管理器(EM)使你能訂閱一個基于特性的補丁服務,因此企業(yè)管理器可以自動掃描那些你正在使用的特性有補丁可以打。
◆自動SQL優(yōu)化(Auto SQL Tuning)
10g的自動優(yōu)化建議器可以將優(yōu)化建議寫在SQL profile中。而在11g中,你可以讓oracle自動將能3倍于原有性能的profile應用到SQL語句上。性能比較由維護窗口中一個新管理任務來完成。
◆訪問建議器(Access Advisor)
11g的訪問建議器可以給出分區(qū)建議,包括對新的間隔分區(qū)(interval partitioning)的建議。間隔分區(qū)相當于范圍分區(qū)(range partitioning)的自動化版本,她可以在必要時自動創(chuàng)建一個相同大小的分區(qū)。范圍分區(qū)和間隔分區(qū)可以同時存在于一張表中,并且范圍分區(qū)可以轉(zhuǎn)換為間隔分區(qū)。
◆自動內(nèi)存優(yōu)化(Auto Memory Tuning)
在9i中,引入了自動PGA優(yōu)化。10g中,又引入了自動SGA優(yōu)化。到了11g,所有內(nèi)存可以通過只設定一個參數(shù)來實現(xiàn)全表自動優(yōu)化。你只要告訴oracle有多少內(nèi)存可用,她就可以自動指定多少內(nèi)存分配給PGA、多少內(nèi)存分配給SGA和多少內(nèi)存分配給操作系統(tǒng)進程。當然也可以設定最大、最小閾值。
◆資源管理器(Resource Manager)
11g的資源管理器不僅可以管理CPU,還可以管理IO。你可以設置特定文件的優(yōu)先級、文件類型和ASM磁盤組。
◆ADDMADDM在10g被引入。
11g中,ADDM不僅可以給單個實例建議,還可以對整個RAC(即數(shù)據(jù)庫級別)給出建議。另外,還可以將一些指示(directive)加入ADDM,使之忽略一些你不關心的信息。
◆AWR 基線(AWR Baselines)
AWR基線得到了擴展。可以為一些其他使用到的特性自動創(chuàng)建基線。默認會創(chuàng)建周基線。
2.PLSQL部分
◆結(jié)果集緩存(Result Set Caching)
這一特性能大大提高很多程序的性能。在一些MIS系統(tǒng)或者OLAP系統(tǒng)中,需要使用到很多"select count(*)"這樣的查詢。在之前,我們?nèi)绻岣哌@樣的查詢的性能,可能需要使用物化視圖或者查詢重寫的技術。在11g,我們就只需要加一個/*+result_cache*/的提示就可以將結(jié)果集緩存住,這樣就能大大提高查詢性能。當然,在這種情況下,我們可能還要關心另外一個問題:完整性。因為在oracle中是通過一致性讀來保證數(shù)據(jù)的完整性的。而顯然,在這種新特性下,為提高性能,是從緩存中的結(jié)果集中讀取數(shù)據(jù),而不會從回滾段中讀取數(shù)據(jù)的。關于這個問題,答案是完全能保證完整性。因為結(jié)果集是被獨立緩存的,在查詢期間,任何其他DML語句都不會影響結(jié)果集中的內(nèi)容,因而可以保證數(shù)據(jù)的完整性。
◆對象依賴性改進
在11g之前,如果有函數(shù)或者視圖依賴于某張表,一旦這張表發(fā)生結(jié)構(gòu)變化,無論是否涉及到函數(shù)或視圖所依賴的屬性,都會使函數(shù)或視圖變?yōu)閕nvalid。在11g中,對這種情況進行了調(diào)整:如果表改變的屬性與相關的函數(shù)或視圖無關,則相關對象狀態(tài)不會發(fā)生變化。
◆正則表達式的改進
在10g中,引入了正則表達式。這一特性大大方便了開發(fā)人員。11g,oracle再次對這一特性進行了改進。其中,增加了一個名為regexp_count的函數(shù)。另外,其他的正則表達式函數(shù)也得到了改進。
◆新SQL語法 =
我們在調(diào)用某一函數(shù)時,可以通過=來為特定的函數(shù)參數(shù)指定數(shù)據(jù)。而在11g中,這一語法也同樣可以出現(xiàn)在sql語句中了。例如,你可以寫這樣的語句:select f(x=6) from dual;
◆對TCP包(utl_tcp、utl_smtp…)
支持FGAC(Fine Grained Access Control)安全控制
◆增加了只讀表(read-only table)
在以前,我們是通過觸發(fā)器或者約束來實現(xiàn)對表的只讀控制。11g中不需要這么麻煩了,可以直接指定表為只讀表。
◆觸發(fā)器執(zhí)行效率提高了
內(nèi)部單元內(nèi)聯(lián)(Intra-Unit inlining)在C語言中,你可以通過內(nèi)聯(lián)函數(shù)(inline)或者宏實現(xiàn)使某些小的、被頻繁調(diào)用的函數(shù)內(nèi)聯(lián),編譯后,調(diào)用內(nèi)聯(lián)函數(shù)的部分會編譯成內(nèi)聯(lián)函數(shù)的函數(shù)體,因而提高函數(shù)效率。在11g的plsql中,也同樣可以實現(xiàn)這樣的內(nèi)聯(lián)函數(shù)了。
◆設置觸發(fā)器順序
可能在一張表上存在多個觸發(fā)器。在11g中,你可以指定它們的觸發(fā)順序,而不必擔心順序混亂導致數(shù)據(jù)混亂。
◆混合觸發(fā)器(compound trigger)
這是11g中新出現(xiàn)的一種觸發(fā)器。她可以讓你在同一觸發(fā)器中同時具有申明部分、before過程部分、after each row過程部分和after過程部分。
◆創(chuàng)建無效觸發(fā)器(Disabled Trigger)
11g中,開發(fā)人員可以可以閑創(chuàng)建一個invalid觸發(fā)器,需要時再編譯她。
◆在非DML語句中使用序列(sequence)
在之前版本,如果要將sequence的值賦給變量,需要通過類似以下語句實現(xiàn):select seq_x.next_val into v_x from dual;在11g中,不需要這么麻煩了,下面語句就可以實現(xiàn):v_x := seq_x.next_val
◆PLSQL_Warning
11g中,可以通過設置PLSQL_Warning=enable all,如果在"when others"沒有錯誤爆出就發(fā)警告信息。
◆PLSQL的可繼承性
可以在oracle對象類型中通過super(和java中類似)關鍵字來實現(xiàn)繼承性。
◆編譯速度提高
因為不在使用外部C編譯器了,因此編譯速度提高了。
◆改進了DBMS_SQL包其中的改進之一就是DBMS_SQL可以接收大于32k的CLOB了。另外還能支持用戶自定義類型和bulk操作。
◆新的PLSQL數(shù)據(jù)類型——simple_integer這是一個比pls_integer效率更高的整數(shù)數(shù)據(jù)類型。
3.其他部分
◆增強的壓縮技術
可以最多壓縮2/3的空間。
◆高速推進技術
可以大大提高對文件系統(tǒng)的數(shù)據(jù)讀取速度。
◆增強了DATA Guard
可以創(chuàng)建standby數(shù)據(jù)庫的快照,用于測試。結(jié)合數(shù)據(jù)庫重演技術,可以實現(xiàn)模擬生成系統(tǒng)負載的壓力測試。 ◆在線應用升級
也就是熱補丁——安裝升級或打補丁不需要重啟數(shù)據(jù)庫。
◆數(shù)據(jù)庫修復建議器
可以在錯誤診斷和解決方案實施過程中指導DBA。
◆邏輯對象分區(qū)
可以對邏輯對象進行分區(qū),并且可以自動創(chuàng)建分區(qū)以方便管理超大數(shù)據(jù)庫(Very Large Databases VLDBs)。
◆新的高性能的LOB基礎結(jié)構(gòu)
◆新的PHP驅(qū)動
oracle手動升級有兩種方式,一種在安裝oracle軟件之后,安裝升級包,然后創(chuàng)建數(shù)據(jù)庫;另一種在oracle數(shù)據(jù)庫創(chuàng)建以后,進行升級。
下面主要介紹oracle數(shù)據(jù)庫創(chuàng)建后進行的數(shù)據(jù)庫升級(10.2.0.1-10.2.0.4),代碼如下:
SQL --查看當前數(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ù)字典(建議關閉數(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 --關閉數(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
給軟件打補丁相當于給人打預防針,對系統(tǒng)的穩(wěn)定運行至關重要。本文詳細、系統(tǒng)地介紹了Oracle數(shù)據(jù)庫補丁的分類、安裝、管理等問題。
廠商提供給用戶的軟件補丁的形式多為編譯后的庫函數(shù),所以安裝軟件補丁實際上就是把這些庫函數(shù)拷貝到相應目錄,并在需要時進行聯(lián)接操作。軟件公司一般在一段時間后會把針對某一版本的所有補丁進行整理:合并融合,解決沖突,進行整體測試,并使文件拷貝和聯(lián)接操作自動執(zhí)行,得到一個軟件補丁“包”。不同的公司使用不同的名稱,現(xiàn)在一般計算機用戶都熟悉的Windows Service Pack就是這樣的補丁包。Oracle公司給出的補丁包的名稱是Patch Set,安裝Patch Set后的版本稱Patch Set Release(PSR)。
Oracle公司對處于標準技術支持的產(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,其相應補丁當然會收錄到下一個PSR中。PSR是累積型的,即下一個PSR中會包括當前PSR中所有補丁和新發(fā)現(xiàn)Bug的補丁。同時存在幾個PSR時,只需安裝最新版本一次就可以了。但是由于PSR的發(fā)行有一定間隔,如果這些Bug對用戶有比較大的影響,那么 Oracle公司也會向用戶公開和提供這些補丁,這些補丁被稱為個別補丁(Interim Patch,one-off patch 或 Patch Set Exception)。而對于最終補丁發(fā)行版而言,由于不再有下一個PSR,所以當發(fā)現(xiàn)影響系統(tǒng)的新Bug時,個別補丁成為惟一選擇。
此外,Oracle公司還定期發(fā)布安全補丁,稱之為CPU(Critical Patch Updates)。安全補丁用來修復軟件的易受攻擊性(vulnerability)或通常說的安全漏洞。這類問題本來不屬于軟件錯誤,在正常使用中不會出現(xiàn)任何問題。但是別有用心的人可以通過運行非常精巧設計的代碼,繞過數(shù)據(jù)庫系統(tǒng)的安全管理機制,達到非授權(quán)存取的目的。
另外還存在一類補丁:診斷用補丁(diagnostic patch)。顧名思義,這類補丁不是用來解決問題的,而是用來尋找問題的原因的。這類補丁只在Oracle技術支持部門要求安裝時,才需要安裝。在得到需要的診斷信息后,應立即卸載這一補丁。
利弊及時機選擇
負責管理支撐大型應用系統(tǒng)的數(shù)據(jù)庫的DBA會容易理解安裝軟件補丁的代價。安裝PSR需要停止數(shù)據(jù)庫服務,關閉數(shù)據(jù)庫,對于許多應用系統(tǒng)安排這樣的停機時間本身就是一件比較困難的事情。事實上,更為嚴重的是由于安裝PSR可能“引入”新的Bug,反而影響應用系統(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技術支持部門稱其為倒退(Regression)。對于每一PSR,在metalink中有兩個重要的與之有關的文檔,一個是“List of fixes added in XXXX”,是這一PSR修復的Bug的清單,是一本“修復列表”;另一個是“Known issues and alerts affecting XXXX”,是安裝PSR后發(fā)現(xiàn)的問題,可以稱其為“悔過列表”。由于大型軟件的復雜性,Bug幾乎是不可避免的。重要的是能夠及時提供信息,DBA可以結(jié)合自己系統(tǒng)的情況做出正確的判斷。讀者不必因為知道還存在著Bug,就對Oracle數(shù)據(jù)庫產(chǎn)品失去信心。PSR修復的上千個Bug中絕大多數(shù)是在一些很少見的環(huán)境中,或者是若干個組件的復雜組合使用的情形中發(fā)生的。
如果系統(tǒng)在運行中出現(xiàn)過某種問題,由Oracle技術支持部門或第三方的專家確認原因是PSR中的某一Bug,這樣就必須盡早安裝;如果系統(tǒng)一直運行正常,并且在PSR已發(fā)現(xiàn)的問題中涉及的組件或功能(如Logical Standby, JVM,RAC等)在系統(tǒng)中并不使用,此時可以選擇安裝也可以選擇不安裝。
另一個需要考慮的因素是安裝補丁的時機。上述這些考慮的一個重要前提是系統(tǒng)已經(jīng)投入運行,擔心“倒退”的Bug影響系統(tǒng)。如果系統(tǒng)還處在開發(fā)和測試階段,不需要有任何猶豫,安裝最新的PSR,并在此基礎上測試應用系統(tǒng)是否工作正常。如果發(fā)現(xiàn)異常,要及時請Oracle技術支持部門確認是否新Bug,如果是請其提供個別補丁。目的就是在一個盡可能完善穩(wěn)定的數(shù)據(jù)庫平臺上測試應用系統(tǒng)。我們可以把這種安裝補丁的策略概括為“補丁補新不補舊”。
以上都是針對PSR的安裝,對于個別補丁,由于補丁修復的Bug單一,容易判斷是否需要安裝。需要注意的是,如果在當前PSR之上安裝了若干個個別補丁,那么在下一個PSR發(fā)布后,在安裝下一個PSR之前,需要卸載所有個別補丁。為便于管理,現(xiàn)在Oracle技術支持部門要求必須使用工具 opatch安裝管理個別工具,而盡量避免手動拷貝文件等操作。
最后是安全補丁安裝的判斷。雖然安全漏洞這個詞看上去讓人覺得非常嚴重,但是還要冷靜綜合分析這些漏洞在系統(tǒng)中的危害程度。事實上,不安裝安全補丁的危險性可能遠遠小于始終不渝地使用scott/tiger這樣人人都知道的用戶名和口令的“標準缺省”做法。
安裝PSR
使用oui工具安裝PSR時只需要用鼠標做幾個選擇就可以進入自動執(zhí)行的階段,操作過程本身非常簡單。但是如果要求必須一次安裝成功;要求必須在凌晨2點到4點這個有限的停機時間段完成操作;要求安裝過程不出差錯,以后出現(xiàn)問題時能夠完全排除此次操作失誤的可能性,那么就需要在啟動oui之前做一些準備工作。
1. 收集信息
有關PSR的信息中,一個最重要的文檔就是軟件補丁說明,這個文件相當于技術手冊中的安裝指南和發(fā)行說明。文件本身包含在下載的軟件補丁文件之中,文件名是patchnote.htm或README.html。需要注意的一個問題是在軟件補丁文件之中找到的這一Patch Set Notes可能不是最新版,可以根據(jù)文件內(nèi)的提示信息在metalink中檢索最新版。
另外兩個重要文件就是前面已經(jīng)提及的“修復列表”和“悔過列表”,相對于“修復列表”更應該仔細閱讀“悔過列表”中的每一項內(nèi)容。另外,在Patch Set Notes的已知問題(Known Issues)一節(jié)內(nèi)列出了安裝PSR后出現(xiàn)的一些問題。
除去這三個主要文件外,還應在metalink中檢索,尋找是否還有其他涉及這一PSR的技術文章,尋找其他用戶在安裝這一PSR時或安裝后遇到問題時所發(fā)的救助的帖子,前車之鑒更應重視。
2. 做出判斷
在認真閱讀收集到的文章之后,根據(jù)自己系統(tǒng)的實際情況,做出是立即安裝PSR,或是等待下一PSR的決定。如果是暫緩安裝,則要記錄原因,以便以后跟蹤Bug的修復進程。
3. 制訂實施計劃
在決定安裝PSR后,需要制訂一個實施計劃。在計劃中不僅要包括正常的操作步驟,更要考慮在出現(xiàn)意外時的應急處理(如果安裝PSR失敗,則在正常應用開始時間之前,要恢復系統(tǒng)到安裝之前的狀態(tài))。如果可能,在對正式系統(tǒng)開始實施之前,應在測試系統(tǒng)中進行演練和應用處理的測試,保證在安裝PSR后不會影響應用系統(tǒng)的運行。
安裝PSR的計劃大致有以下幾個部分:停止數(shù)據(jù)庫服務關閉數(shù)據(jù)庫;備份DBMS軟件和數(shù)據(jù)庫以備恢復之用;安裝PSR軟件;更新數(shù)據(jù)庫數(shù)據(jù)字典升級PSR版本;正常啟動數(shù)據(jù)庫開始數(shù)據(jù)庫服務。
看似簡單的關閉數(shù)據(jù)庫的操作,在系統(tǒng)構(gòu)成復雜時也會變得不容易。另外,如果夜間作業(yè)時間不允許在完成數(shù)據(jù)庫完全備份之后再安裝PSR,則安裝PSR的日期應該選擇在例行的數(shù)據(jù)庫完全備份的下一個晚上,只備份重做日志。
在安裝PSR之前備份DBMS軟件的目的是,由于安裝PSR會對許多程序和庫函數(shù)進行更新,如果安裝PSR中途失敗(雖然可能性非常小),有可能造成DBMS軟件出現(xiàn)不一致。另外一種可能的情形是,在安裝PSR,更新數(shù)據(jù)字典后,測試應用系統(tǒng)時,出現(xiàn)了某種異常,原因不明,最終決定放棄PSR。如果操作之前沒有備份,則此時只有重新安裝軟件一種選擇(PSR不同于完整軟件安裝,在oui中無法單獨卸載PSR軟件)。
對文件、目錄和文件系統(tǒng)的備份,最簡單的方式可以使用cp、tar、dump等命令完成。如果希望縮短文件拷貝時間,可以考慮分區(qū)備份的方法。分區(qū)備份常用的命令是dd。但是,分區(qū)拷貝比文件拷貝速度快的前提是良好的分區(qū)設計:Oracle軟件單獨占一個大小適中(如4GB)的分區(qū),這樣扇區(qū)拷貝才會體現(xiàn)優(yōu)勢,這也就是為什么在安裝軟件時,Oracle建議單獨使用一個分區(qū)安裝軟件的原因之一。
在制定實施計劃時,應認真閱讀Patch Set Notes中有關操作前準備工作一節(jié)。在這節(jié)內(nèi)會介紹對于一些特殊系統(tǒng)構(gòu)成,如果你的系統(tǒng)屬于文檔中提到的構(gòu)成,一定要首先閱讀文內(nèi)提示的相關技術文章,找到正確的安裝步驟。
使用oui, PSR軟件安裝完成后,一定不要忘記更新數(shù)據(jù)字典這一步驟。如果在這一ORACLE_HOME下生成了多個數(shù)據(jù)庫,則每個數(shù)據(jù)庫都必須更新數(shù)據(jù)字典。
. 實施操作
制訂一個詳細的計劃后,實施操作就可以“照本宣科”,是一個簡單的體力勞動。要認識到“忙中出錯”的概率遠比“急中生智”大得多,操作時盡量減少失誤的可能性。例如,需要執(zhí)行的復雜命令,盡可能從一個文件拷貝到終端執(zhí)行,而不要現(xiàn)場輸入。另外,在實施過程中,要記錄各個階段實際的執(zhí)行時間,以供以后制訂類似計劃時參考。
5. 檢查操作結(jié)果并記錄備案
執(zhí)行一個操作,操作是否成功,一定要進行檢查,不能簡單認為沒有出錯信息就是成功。要知道驗證的方法。除去極個別極費時間的驗證(分區(qū)備份的內(nèi)容是否可以成功恢復系統(tǒng),必須恢復分區(qū),啟動數(shù)據(jù)庫,測試應用系統(tǒng)后才能確認),其余操作都應進行驗證。所有屏幕輸出信息和日志文件都應保留,作為安裝報告的附件提交給上級或客戶。
在屏幕輸出或日志文件中出現(xiàn)異常/錯誤信息時,應即時分析,決定馬上采取的措施。出現(xiàn)嚴重錯誤時,可能需要重新執(zhí)行某一SQL程序,或者重新安裝PSR。所以在制訂實施計劃時應在時間上留出異常情況處理的時間。
下面給出一個在Linux平臺上安裝10.1的PSR的實例,給從未安裝PSR的讀者有一個感性認識。
操作系統(tǒng)是RHEL AS4.0 Update3,Oracle的當前版本是10.1.2。在metalink中檢索,找到10.1版的最新PSR10.1.0.5。下載壓縮文件。在壓縮文件中找到Patch Set Notes,該文檔的完成日期是2006年1月。而按照文檔內(nèi)的提示在metalink中檢索得到的此文檔的最新版本完成日期是2006年4月。使用文件比較工具進行比較,兩個版本沒有實質(zhì)性差別,只有語句措詞的修改,但是養(yǎng)成總是檢索最新文檔的習慣有益無害。
根據(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可以通過設置事件(event)關閉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. 關閉數(shù)據(jù)庫,停止listener和agent等進程。
3. 解壓縮下載文件至某一目錄,執(zhí)行oui。
在壓縮文件中附帶的oui的版本要比已經(jī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é)束后,關閉重定向:
SQL SPOOL OFF
打開文件patch.log檢查是否有錯誤“ORA-”。(這一文件在啟動sqlplus時的當前目錄中,當然也可以在“SPOOL patch.log”語句中顯式指定文件路徑。)如果出現(xiàn)錯誤要分析原因,在解決問題后,需要再次執(zhí)行catpatch.sql程序。
更新數(shù)據(jù)字典時,由于對某些PL/SQL包刪除后又重新生成,造成相關PL/SQL包的狀態(tài)為異常(invalid)。在以后調(diào)用這些包時,檢測到其狀態(tài)為非法,會自動執(zhí)行編譯命令,使狀態(tài)成為正常(valid)。雖然不會出錯,但會造成個別處理第一次執(zhí)行時變慢。顯然,與其留到應用系統(tǒng)運行時再一個個編譯,不如之前集中一次重編譯所有異常包。
SQL SHUTDOWN
SQL STARTUP
SQL @?/rdbms/admin/utlrp.sql
最后,根據(jù)Known Issues中的指示,完成與本系統(tǒng)有關的操作。例如,修改Pro*C的配置文件。這里執(zhí)行一個修改文件存取權(quán)限的“后操作”,以便非同組用戶和程序可以存取客戶端工具和庫函數(shù)。
$ cd $ORACLE_HOME/install
$ ./ changePerm.sh
個別補丁管理工具opatch
如前所述,在發(fā)布一個PSR后發(fā)現(xiàn)的新BUG,只能把其補丁收入到下一個PSR中。如果對數(shù)據(jù)庫有實質(zhì)性影響,則這一補丁以個別補丁的形式向用戶提供。個別補丁是與某一個特定的PSR關聯(lián),是安裝在這一PSR之上的。另外,如同其名字表明的,個別補丁只是單一Bug的補丁,不會包含其他個別補丁,即不是累積型的。
在9.2版之前,安裝個別補丁的操作完全是手工的。這種手工方式的缺點不僅在于加重DBA的負擔,容易造成操作失誤,更嚴重的是無法對已安裝的個別補丁進行管理。
為解決手工方式的缺陷,從9.2版開始,Oracle公司設計實現(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,在使用之前,應從 metalink下載最新版本的opatch。很遺憾,由于系統(tǒng)實現(xiàn)的問題,10.2使用的opatch與之前版本(10.1和9.2)使用的 opatch不兼容,不能混用,這一點必須注意。
opatch是使用perl編寫的腳本程序(其中也使用JAVA API)。編程使用的perl版本是5.6版,雖然在5.6之前的版本中也可運行,但應盡可能安裝5.6或以上的版本的perl。對于DBA來說一個好消息是,如果安裝9.2版軟件時保留了HTTP服務器,則在$ORACLE_HOME/Apache下會自動安裝perl。(10g會自動安裝配置perl 和opatch。)
opatch命令格式為:
opatch command [ command_options ] [ -h[elp] ]
命令有:apply(安裝個別補丁)、rollback(卸載個別補丁)、lsinventory(對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技術支持部門為個別補丁分配的編號。
4. 個別補丁安裝實例
沿用安裝PSR實例中的環(huán)境。在安裝PSR10.1.0.5后,檢索metalink,發(fā)現(xiàn)若干在其之上的個別補丁。選擇其中之一安裝。
個別補丁Patch 4518443修復BUG4518443,這一BUG的主要問題是TNS LISTENER在注冊ONS(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子目錄成為當前目錄。其中,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)包含了對多個安全漏洞的修復,并且也包括相應必需的非安全漏洞的補丁。CPU是累積型的,只要安裝最新發(fā)布的CPU即可,其中包括之前發(fā)布的所有CPU的內(nèi)容。事實上,在CPU之前的安全漏洞修改除去個別例外也被包括在CPU中。Oracle公司只對處于標準技術支持和延長支持期間的產(chǎn)品提供CPU更新,對處于維持支持范圍的產(chǎn)品不提供新的CPU。(對于9.2以前的版本,只對處于ECS和EMS期間的版本提供CPU更新。)一般對當前補丁發(fā)行版及前一個版本提供CPU,但也有只限于當前補丁發(fā)行版的例外情形。也就是說,一般需要先安裝最新PSR后才可能安裝CPU。由于是累積型的定期發(fā)布,所以對于某一平臺的某一版本,如果兩次CPU發(fā)布期間沒有發(fā)現(xiàn)新的安全漏洞,則新發(fā)布的CPU與前一版本完全相同。
1、下載
需要metalink的用戶名口令
10.2及之后的數(shù)據(jù)庫下載連接為:
http //updates oracle com/download/4898608.html
10.2之前的版本下載連接為:
http //updates oracle com/download/2617419.html
2、安裝可以參照metalink Note 189489.1
安裝其實很簡單,unix下做一下unzip,然后把opath加到你的$PATH即可
3、opatch作用
opatch是用于維護"個別"補丁的,有人稱其為interim path或是one-off patch
以解決TA ENQ AND US ENQ DEADLOCK DURING TRANSACTION RECOVERY IN RAC問題的interim patch 3777178為例,
安裝及rollback的命令如下:
install:
oracleunzip p3777178_9206_HP64.zip
oraclecd 3777178
oracleopatch apply
rollback:
oraclecd 3777178
oracleopatch rollback -id 3777178
查看:
如下命令可以看到已經(jīng)安裝了哪些interim patch
4、不斷的在opatch后面加-h可以看到這個命令更加詳細的選項:
看一下lsinventory后面有哪些選項:
[oracle@mysql2 ~]$ /u01/app/oracle/product/10.2.0/db_2/OPatch/opatch lsinventory -h
Invoking OPatch 10.2.0.3.0
Oracle interim Patch Installer version 10.2.0.3.0
Copyright (c) 2005, Oracle Corporation.? All rights reserved..
DESCRIPTION
List the inventory for a particular $ORACLE_HOME or display all
installations that can be found.
SYNTAX
opatch lsinventory [-all ] [-delay value ] [-detail ] [-all_nodes]
[-invPtrLoc Path to oraInst.loc ] [-jre LOC ]
[-oh ORACLE_HOME ] [-retry value ] [-patch] [-oh]
[-property_file path to property file]
OPTIONS
-all
Report the name and installation directory for each
$ORACLE_HOME found.
-delay
If -retry is specified, this option tells OPatch how
many seconds it should wait before attempting to lock
inventory again in case of a previous failure.
-detail(s)
Report installed products and other details. This
option cannot be used in conjunction with all option.
-invPtrLoc
Used to locate the oraInst.loc file. When the
installation used the invPtrLoc flag. This should be
the path to the oraInst.loc file
-jre
This option tells OPatch to use JRE (java) from the
specified location instead of the default location
under Oracle Home
-retry
This option tells OPatch how many times it should
retry in case of an inventory lock failure
-patch
Lists the patch IDs installed in the oracle home
-oh
The oracle home to work on. This takes precedence over
the environment variable ORACLE_HOME
-property_file
The user defined property file for OPatch to use. The
path to the property file should be absolute. This
property file takes precedence over the one that is
supplied with OPatch
-all_nodes
Reports the patches installed on the given Oracle Home
in all nodes of the RAC system. It also prints the oracle?
binary's size and checksum on all nodes. This option cannot?
be used in conjunction with -all, -detail, -patch. ??
PARAMETERS
This operation does not have any required parameters.
當前名稱:oracle補丁怎么安裝,oracle怎么打補丁
網(wǎng)址分享:http://chinadenli.net/article33/dsiopss.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、App開發(fā)、用戶體驗、服務器托管、定制開發(fā)、搜索引擎優(yōu)化
聲明:本網(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)