【Oracle】--"任性"Oracle安裝之旅

ZeroWM發表於2015-11-08

  之前安裝過SQL Server,安裝過MySQL,都挺溫順的。安裝Oracle,才發現這貨也是夠任性的。安裝的過程中重新安裝了至少3次,清理了至少2次,遇到的問題大於等於三個,終於經過將近一個下午和一個晚上的奮戰,同事們的各種幫助,成功連線了Oracle和PLSQL。
  下面給大家介紹一下詳細的安裝過程和常見問題解決方案,既是對自己學習的一種總結,也是跟大家的一種知識分享。

一、安裝

材料
Oracle客戶端:
instantclient-basic-win32-11.2.0.1.0.zip
Oracle安裝包:
win64_11gR2_database_1of2.zip
win64_11gR2_database_2of2.zip
連線Oracle視覺化工具:
PL/SQL Developer

Oracle安裝
1.將win64_11gR2_database_1of2.zip 和win64_11gR2_database_2of2.zip分別解壓,將2中的內容覆蓋到1中。從1檔案中選擇setup.exe 安裝Oracle 11g 64位。

這裡寫圖片描述
這裡寫圖片描述
詳細的安裝步驟,可以參考:Oracle11g的安裝圖文教程(個人安裝總結)

2.下載instantclient-basic-win32-11.2.0.1.0.zip (一定得是32位的,不要下錯了版本,Oracle官網有下載),將其解壓至Oracle安裝目錄的Product下(本機命名為:instantclient_11_2):D:\app\wm\product\instantclient_11_2

3.拷貝資料庫安裝根目錄下的一個目錄:D:\app\wm\product\11.2.0\dbhome_1\NETWORK 到Oracle客戶端目錄下D:\app\wm\product\instantclient_11_2(其實只需要NETWORK\ADMIN\tnsnames.ora)

PL/SQL Developer安裝
安裝PL/SQL Developer,在Tools–perference–Connection裡面設定:
這裡寫圖片描述
第一個地址:客戶端地址根目錄
第二個地址:客戶端地址根目錄+oci.dll

配置系統變數
右擊”我的電腦” - “屬性” - “高階” - “環境變數” - “系統環境變數”: (這一步可以不設定)
1.Path:需要包含Instant Client的根目錄(oci.dll所在位置)
選擇”Path” –點選”編輯”, 把 “D:\app\wm\product\instantclient_11_2;” 加入;
2.TNS ADMIN:需要指出tnsnames.ora所在位置的根目錄
點選”新建”, 變數名設定為”TNS_ADMIN”, 變數值設定為”D:\app\wm\product\instantclient_11_2”, 點選”確定”;
3.NLS LANG:為客戶端設定語言,區域和特徵。
點選”新建”, 變數名設定為”NLS_LANG”, 變數值設定為”SIMPLIFIED CHINESE_CHINA.ZHS16GBK”, 點選”確定”;
最後點選”確定”退出.

配置網路服務
連線Oracle和PL/SQL必不可少的步驟,狠狠重要的!
可參考同事牛遷遷的部落格:Oracle配置網路服務 寫的很詳細,而且理解的非常透徹。

二、常見問題解惑

Oracle安裝

1.Win8系統下安裝Oracle11g時,安裝程式報錯:
這裡寫圖片描述
[INS-13001]環境不滿足最低要求,是否確實要繼續?

解決方案:
在安裝檔案的/stage/svu資料夾下面找到檔案 cvu_prereq.xml檔案,修改為如下(新增windows 8 相關欄位):

<?xml version="1.0"?>
<HOST PLATID="912">
<SYSTEM>
    <MEMORY>
        <PHYSICAL_MEMORY VALUE="128" UNIT="MB" SEVERITY="IGNORABLE"/>
        <!--<AVAILABLE_MEMORY VALUE="20" UNIT="MB"/> -->    
    </MEMORY>
    <SPACE>
        <LOC VAR="TEMP_AREA" TEMP="true" SIZE="130" UNIT="MB" SEVERITY="IGNORABLE"/>
    </SPACE>
</SYSTEM>
<CERTIFIED_SYSTEMS>
         <OPERATING_SYSTEM RELEASE="5.0">
             <VERSION VALUE="3"/>
             <ARCHITECTURE VALUE="32-bit"/>
             <NAME VALUE="Windows2000"/>
             <ENV_VAR_LIST>
                 <ENV_VAR NAME="PATH" MAX_LENGTH="1023" />
             </ENV_VAR_LIST>
         </OPERATING_SYSTEM>
         <OPERATING_SYSTEM RELEASE="5.1">
             <VERSION VALUE="3"/>
             <ARCHITECTURE VALUE="32-bit"/>
             <NAME VALUE="WindowsXP"/>
             <ENV_VAR_LIST>
                 <ENV_VAR NAME="PATH" MAX_LENGTH="1023" />
             </ENV_VAR_LIST>
         </OPERATING_SYSTEM>
         <OPERATING_SYSTEM RELEASE="5.2">
             <VERSION VALUE="3"/>
             <ARCHITECTURE VALUE="32-bit"/>
             <NAME VALUE="Windows Server 2003"/>
             <ENV_VAR_LIST>
                 <ENV_VAR NAME="PATH" MAX_LENGTH="1023" />
             </ENV_VAR_LIST>
         </OPERATING_SYSTEM>
         <OPERATING_SYSTEM RELEASE="6.0">
             <VERSION VALUE="3"/>
             <ARCHITECTURE VALUE="32-bit"/>
             <NAME VALUE="WindowsServer2008"/>
             <ENV_VAR_LIST>
                 <ENV_VAR NAME="PATH" MAX_LENGTH="1023" />
             </ENV_VAR_LIST>
         </OPERATING_SYSTEM>
         <OPERATING_SYSTEM RELEASE="6.0">
             <VERSION VALUE="3"/>
             <ARCHITECTURE VALUE="32-bit"/>
             <NAME VALUE="WindowsVista"/>
             <ENV_VAR_LIST>
                 <ENV_VAR NAME="PATH" MAX_LENGTH="1023" />
             </ENV_VAR_LIST>
         </OPERATING_SYSTEM>
     <OPERATING_SYSTEM RELEASE="6.1">
             <VERSION VALUE="3"/>
             <ARCHITECTURE VALUE="32-bit"/>
             <NAME VALUE="Windows 7"/>
             <ENV_VAR_LIST>
                 <ENV_VAR NAME="PATH" MAX_LENGTH="1023" />
             </ENV_VAR_LIST>
         </OPERATING_SYSTEM>
     <OPERATING_SYSTEM RELEASE="6.2">
             <VERSION VALUE="3"/>
             <ARCHITECTURE VALUE="64-bit"/>
             <NAME VALUE="Windows 8"/>
             <ENV_VAR_LIST>
                 <ENV_VAR NAME="PATH" MAX_LENGTH="1023" />
             </ENV_VAR_LIST>
         </OPERATING_SYSTEM>
     <OPERATING_SYSTEM RELEASE="6.2">
             <VERSION VALUE="3"/>
             <ARCHITECTURE VALUE="32-bit"/>
             <NAME VALUE="Windows 8"/>
             <ENV_VAR_LIST>
                 <ENV_VAR NAME="PATH" MAX_LENGTH="1023" />
             </ENV_VAR_LIST>
         </OPERATING_SYSTEM>
</CERTIFIED_SYSTEMS>
<ORACLE_HOME>
    <COMPATIBILITY_MATRIX>
       <ALLOW>
        <NEW_HOME/>
        <COMP NAME="oracle.server" ATLEAST="11.2.0.0.0" ATMOST="11.2.9.9.9"/>
        <COMP NAME="oracle.client" ATLEAST="11.2.0.0.0" ATMOST="11.2.9.9.9"/>
       </ALLOW>
      <DISALLOW>
        <COMP NAME="oracle.server" ATLEAST="8.1.0.0.0" ATMOST="10.2.9.9.9"/>
        <COMP NAME="oracle.client" ATLEAST="8.1.0.0.0" ATMOST="9.2.0.9.0"/>
        <COMP NAME="oracle.iappserver.iapptop" ATLEAST="9.0.2.0.0" ATMOST="9.0.9.0.0"/>
        <COMP NAME="oracle.iappserver.infrastructure" ATLEAST="9.0.2.0.0" ATMOST="9.0.9.0.0"/>
        <COMP NAME="oracle.iappserver.devcorner " ATLEAST="9.0.2.0.0" ATMOST="9.0.9.0.0"/>
        <COMP NAME="oracle.ids.toplevel.development" ATLEAST="9.0.0.0.0" ATMOST="9.0.9.0.0"/>
        <COMP NAME="oracle.install.instcommon" ATLEAST="8.1.3.0.0" ATMOST="9.2.9.9.9"/>
        <COMP NAME="oracle.networking.netclt" ATLEAST="8.1.3.0.0" ATMOST="9.2.0.9.0"/>
        <ORCA_HOME/>
      </DISALLOW>
      </COMPATIBILITY_MATRIX>   
</ORACLE_HOME>
</HOST>

修改完成後,就可以了。

2.安裝過程中需要輸入口令,出現以下警告:
這裡寫圖片描述
管理口令(P):[INS-30011] 輸入的 ADMIN 口令不符合 Oracle 建議的標準。

解決方案:
Oracle的密碼強度比較高,需要輸入的密碼組合為:小寫字母+數字+大寫字母,字元長度必須保持著Oracle11g資料庫要求的範圍之內。例如:a123456C

Oracle和PLSQL連線
Oracle客戶端和服務端安裝完成後,連線PL/SQL和Oracle,sqlplus可以連線成功,但是PL/SQL連線死活不行,出現如下錯誤:
這裡寫圖片描述
ORA-12560:TNS:protocol adapter error
解決方案:
這個錯誤網上給了三點,我都試過了,三字:不靠譜。後來找了好幾個大神,才清楚,連線之前需要配置網路服務(不懂的上面有提及),連線完成之後,還需要自己通過SQL命令建立使用者名稱,提升許可權等等。

Oracle徹底解除安裝
有的時候,一個問題長時間解決不了,可能解除安裝是最好的方法。
解決方案:
Oracle 11g R2在Win7下完全解除安裝與重灌 這篇部落格寫的很全面,解除安裝的乾乾淨淨噠!

三、總結

  嘗試,試錯,排錯,總結,大概學習就是這樣一個過程。2個小時內解決不了的,就要想辦法了。

相關文章