手動制作Oracle9i/10g客戶端的實(shí)用方法
其實(shí),現(xiàn)在有了Instant Client,可能真的沒有必要去嘗試制作Oracle客戶端。這里,我想說說自己的理由:
1. Instant Client的bug遠(yuǎn)多于Oracle客戶端package,這個(gè)是經(jīng)過很多實(shí)踐發(fā)現(xiàn)的。
2. 愛好技術(shù)的人都想看看一個(gè)client包,到底如何提取,即算有些冗余,也沒多大關(guān)系。
3. 當(dāng)你制作出一份客戶端出來以后,只需要這一次制作,不用再重新安裝客戶端,解壓即可使用。
我們先來看看Oracle9i,從它開始:
這里作一個(gè)假定,就是Client要安裝在D盤d:oracleora92下邊,把d:oracle作為所有Oracle版本的根目錄ORACLE_BASE,這樣就容易處理一些。而ora92子目錄只是作為ORACLE_HOME。
然后開始抽取一些有用的子目錄。假設(shè)你在別的機(jī)器上已經(jīng)有一份已經(jīng)安裝好的Oracle9i 服務(wù)器,它位于c:oracleora92,我推薦提取以下子目錄:
assistants
bin
database
dbs
network
oci
ocommon
ODBC
oledb
oracore
otrace
plsql
rdbms
slax
sqlplus
bin中其實(shí)有很多可以不用的可執(zhí)行程序,可以直接刪掉,我們可以自行決定。oci子目錄便于開發(fā)基于OCI的應(yīng)用程序。ODBC用于ODBC驅(qū)動,oledb用于OLEDB。其它子目錄都是必須的。
上邊是基本的文件抽取。將這些文件復(fù)制到d:oracleora92目錄當(dāng)中。然后,需要一個(gè)注冊表文件來注冊它,這個(gè)非常關(guān)健,以前常有人問我為何不起作用,大多注冊表中的內(nèi)容不正確,或者沒有注冊。
注冊表的內(nèi)容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREORACLE]
'inst_loc'='C:Program FilesOracleInventory'
'ORACLE_HOME'='D:oracleora92'
'ORACLE_HOME_NAME'='OraHome92'
'API'='D:oracleora92dbs'
'ORACLE_GROUP_NAME'='Oracle - OraHome92'
'NLS_LANG'='NA'
'VOBHOME2.0'='D:oracleora92'
[HKEY_LOCAL_MACHINESOFTWAREORACLEALL_HOMES]
'HOME_COUNTER'='1'
'DEFAULT_HOME'='OraHome92'
'LAST_HOME'='0'
[HKEY_LOCAL_MACHINESOFTWAREORACLEALL_HOMESID0]
'NAME'='OraHome92'
'PATH'='D:oracleora92'
'NLS_LANG'='NA'
[HKEY_LOCAL_MACHINESOFTWAREORACLEHOME0]
'ID'='0'
'ORACLE_GROUP_NAME'='Oracle - OraHome92'
'ORACLE_HOME_NAME'='OraHome92'
'ORACLE_HOME'='D:oracleora92'
'NLS_LANG'='SIMPLIFIED CHINESE_CHINA.ZHS16GBK'
'ORACLE_HOME_KEY'='SoftwareORACLEHOME0'
'SQLPATH'='D:oracleora92dbs'
'ORACLE_BASE'='D:oracle'
'MSHELP_TOOLS'='D:oracleora92MSHELP'
'RDBMS_CONTROL'='D:oracleora92DATABASE'
'RDBMS_ARCHIVE'='D:oracleora92DATABASEARCHIVE'
將這個(gè)文件注冊到注冊表。
并把d:oracleora92bin添加到你的PATH環(huán)境變量當(dāng)中,然后運(yùn)行: sqlplus,看看有沒有錯(cuò)。在d:oracleora92networkadmintnsadmin.ora文件中添加一些Oracle服務(wù)主機(jī)信息,就可以使用了。
最后,作為建議,我推薦把當(dāng)前用戶加到組'ORA_DBA'當(dāng)中。
在用戶管理當(dāng)中,新建組'ORA_DBA',然后添加當(dāng)前用戶到該組。
基本上就這些步驟。抽取干凈,總共也就200兆,去掉不相干的,可以壓縮成一個(gè)壓縮文件大概只有20來兆。想想原始的oracle9i安裝完,大概要占2G多的樣子,差別太明顯了。
至于10g,相信如果上述步驟能順利走過,10g應(yīng)該不成問題。
如果有興趣,還可以試試自己提取文件,做成Oracle Server的綠色版,無需安裝,只需要幾個(gè)命令即可。
曾經(jīng)試過Oracle9i和Oracle10g的提取和免安裝。自己動手做這些,有助于加深對Oracle的了解。
