手動制作Oracle9i/10g客戶端的實用方法

其實,現在有了Instant Client,可能真的沒有必要去嘗試制作Oracle客戶端。這裏,我想說說自己的理由:

1. Instant Client的bug遠多于Oracle客戶端package,這個是經過很多實踐發現的。

2. 愛好技術的人都想看看一個client包,到底如何提取,即算有些冗余,也沒多大關系。

3. 當你制作出一份客戶端出來以後,只需要這一次制作,不用再重新安裝客戶端,解壓即可使用。

我們先來看看Oracle9i,從它開始:

這裏作一個假定,就是Client要安裝在D盤d:\oracle\ora92下邊,把d:\oracle作爲所有Oracle版本的根目錄ORACLE_BASE,這樣就容易處理一些。而ora92子目錄只是作爲ORACLE_HOME。

然後開始抽取一些有用的子目錄。假設你在別的機器上已經有一份已經安裝好的Oracle9i 服務器,它位于c:\oracle\ora92,我推薦提取以下子目錄:

assistants

bin

database

dbs

network

oci

ocommon

ODBC

oledb

oracore

otrace

plsql

rdbms

slax

sqlplus

bin中其實有很多可以不用的可執行程序,可以直接刪掉,我們可以自行決定。oci子目錄便于開發基于OCI的應用程序。ODBC用于ODBC驅動,oledb用于OLEDB。其它子目錄都是必須的。

上邊是基本的文件抽取。將這些文件複制到d:\oracle\ora92目錄當中。然後,需要一個注冊表文件來注冊它,這個非常關健,以前常有人問我爲何不起作用,大多注冊表中的內容不正確,或者沒有注冊。

注冊表的內容如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE]

"inst_loc"="C:\\Program Files\\Oracle\\Inventory"

"ORACLE_HOME"="D:\\oracle\\ora92"

"ORACLE_HOME_NAME"="OraHome92"

"API"="D:\\oracle\\ora92\\dbs"

"ORACLE_GROUP_NAME"="Oracle - OraHome92"

"NLS_LANG"="NA"

"VOBHOME2.0"="D:\\oracle\\ora92"

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES]

"HOME_COUNTER"="1"

"DEFAULT_HOME"="OraHome92"

"LAST_HOME"="0"

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES\ID0]

"NAME"="OraHome92"

"PATH"="D:\\oracle\\ora92"

"NLS_LANG"="NA"

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0]

"ID"="0"

"ORACLE_GROUP_NAME"="Oracle - OraHome92"

"ORACLE_HOME_NAME"="OraHome92"

"ORACLE_HOME"="D:\\oracle\\ora92"

"NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

"ORACLE_HOME_KEY"="Software\\ORACLE\\HOME0"

"SQLPATH"="D:\\oracle\\ora92\\dbs"

"ORACLE_BASE"="D:\\oracle"

"MSHELP_TOOLS"="D:\\oracle\\ora92\\MSHELP"

"RDBMS_CONTROL"="D:\\oracle\\ora92\\DATABASE"

"RDBMS_ARCHIVE"="D:\\oracle\\ora92\\DATABASE\\ARCHIVE"

將這個文件注冊到注冊表。

並把d:\oracle\ora92\bin添加到你的PATH環境變量當中,然後運行: sqlplus,看看有沒有錯。在d:\oracle\ora92\network\admin\tnsadmin.ora文件中添加一些Oracle服務主機信息,就可以使用了。

最後,作爲建議,我推薦把當前用戶加到組"ORA_DBA"當中。

在用戶管理當中,新建組"ORA_DBA",然後添加當前用戶到該組。

基本上就這些步驟。抽取幹淨,總共也就200兆,去掉不相幹的,可以壓縮成一個壓縮文件大概只有20來兆。想想原始的oracle9i安裝完,大概要占2G多的樣子,差別太明顯了。

至于10g,相信如果上述步驟能順利走過,10g應該不成問題。

如果有興趣,還可以試試自己提取文件,做成Oracle Server的綠色版,無需安裝,只需要幾個命令即可。

曾經試過Oracle9i和Oracle10g的提取和免安裝。自己動手做這些,有助于加深對Oracle的了解。

· 震驚!原來酒駕處罰這麽嚴重

酒駕處罰標准 不要有任何一絲僥幸心理! http://image....

· 把年齡相仿的獅虎熊放一起,誰更厲害?結果出人意料

很多人都想知道獅子、老虎和熊打起來誰最厲害,于是便有好事之人把這三種動物關在一起...

· 湖北宜昌三峽壩區水面驚現神秘動物

近日,湖北宜昌,一段視頻在當地熱傳:有網友在三峽壩區拍到神秘動物,體型碩大數米長...

 
關于使用Oracle9i時,無法找到客戶端的解決辦法
  這個其實是由于Oracle9i裝在2000的NTFS分區上産生的錯誤。主要是IIS的權限不足,找不到Oracle9i的文件導致的錯誤。    Oracle 公司的原版資料: ...查看完整版>>關于使用Oracle9i時,無法找到客戶端的解決辦法
 
關于使用Oracle9i時,無法找到客戶端的解決辦法
  這個其實是由于Oracle9i裝在2000的NTFS分區上産生的錯誤。主要是IIS的權限不足,找不到Oracle9i的文件導致的錯誤。  Oracle 公司的原版資料:  Problem Description -------------------  When running an...查看完整版>>關于使用Oracle9i時,無法找到客戶端的解決辦法
 
PL/SQL Developer 與 oracle 10g 客戶端兼容性問題解決方法
摘要:PL/SQL Developer 與 oracle 10g 客戶端兼容性問題解決方法 1. First, Download latest verison of PL/SQL Developer.URL: http://www.allroundautomations.comMarch 6, 2004 - Version 5.1.5 released Bugfix...查看完整版>>PL/SQL Developer 與 oracle 10g 客戶端兼容性問題解決方法
 
PL/SQL Developer 與 oracle 10g 客戶端兼容性問題解決方法
1. First, Download latest verison of PL/SQL Developer.URL: March 6, 2004 - Version 5.1.5 released Bugfixes Could not use LOB's or Objects on Oracle 10g Number precision would be incorrect on Oracle 9....查看完整版>>PL/SQL Developer 與 oracle 10g 客戶端兼容性問題解決方法
 
Oracle9i到10g,空閑等待事件的變化
從Statspack的創建腳本中,我們可以看到從Oracle9i到Oracle10g,空閑等待事件的改變.空閑等待事件在Statspack中,記錄在系統表STATS$IDLE_EVENT中.檢查其創建腳本我們可以找到這些變化.這個腳本位于$ORACLE_HOME/rdbms/...查看完整版>>Oracle9i到10g,空閑等待事件的變化