安裝11g的時候,這台機器又遇到了需要安裝環回適配器的問題。我的系統是Windows 2003 Server,實驗室的網路環境裡IP地址是DHCP自動分配的,Oracle如果發現你的機器是DHCP分得IP的話,會要求安裝 Microsoft Loopback Adapter (環回適配器),以此來提供靜態IP地址。安裝方法詳細見下:
1. 單擊“開始”,然後單擊“控制台”。
2. 如果您在傳統檢視中,請單擊左窗格中的“控制台”下的“切換到分類別檢視”。
3. 雙擊“印表機和其它硬體”,然後單擊“下一步”。
4. 在左窗格中的“請參閱”下,單擊“添加硬體”,然後單擊“下一步”。
5. 單擊“是,我已經串連了此硬體”,然後單擊“下一步”。
6. 在列表的底部,單擊“添加新的硬體裝置”,然後單擊“下一步”。
7. 單擊“安裝我手動從列表選擇的硬體”,然後單擊“下一步”。
8. 單擊“網路介面卡”,然後單擊“下一步”。
9. 在“製造商”框中,單擊“Microsoft”。
10. 在“網路介面卡”框中,單擊“Microsoft 環回適配器”,然後單擊“下一步”。
11. 單擊“完成”。
12. 重新啟動。進入網路連接屬性,應該可以看到“本地串連2”,開啟它的屬性,修改TCP/IP協議的配置,改為手動分配IP地址,Oracle推薦的值是10.10.10.10,或者192.168.x.x,掩碼255.255.255.0。網關等全部留空。記下該值備用。
13. 再次重新啟動,然後開啟 SYSTEM_DRIVE:\WINDOWS\system32\drivers\etc\hosts 檔案,在localhost之後再加一行:IP_address hostname.domainname hostname 。比如:10.10.10.10 rain。如果機器不在一個域中,則不需要提供中間一項網域名稱。
這就基本差不多了。
我安裝的11g是企業版,可以通過 http://10.10.10.10:1158/em 來進入管理頁面。在這裡就可以建立使用者,維護資料表空間等。要提醒注意的是,新添加的使用者雖然能夠在當時就指定資料表空間,但是並不會自動得到儲存空間配額,一定要手動設定。在 Oracle 11g ,似乎只能給一個使用者配置一個unlimited空間的表,也就是說如果有兩個表的配額都設定成為unlimited它就會報錯。因此,推薦將USERS表設為無限。
從別的機器上也可以登入這個頁面,只不過要用真實IP地址來替換 10.10.10.10 ,我沒有試過在公網上面能不能執行,如果能的話,安全性方面還要提醒DBA們小心。我還遇到了無法登入這個頁面的問題,一個 RemoteOperationException: ERROR: wrong password for user 錯誤。這個錯誤發生在遠程登入時輸入Windows使用者名稱和密碼的時候。解決方案:在Oracle伺服器機器上運行 控制台-〉管理工具-〉本地安全性原則,在“本地策略”中,進入“使用者權限分配”,在右邊找到“作為批次工作登入”,雙擊,將使用者名稱添加到列表中,這樣,在Enterprise Manager中就可以用這個使用者名稱和密碼登入了。這個方法在我的Win2003實驗成功,不敢保證別的作業系統也適用。
最後再提一下用戶端配置。用戶端配置的關鍵是設定好tnsnames.ora這個檔案。前提是你必須安裝了與伺服器端版本號碼相同的用戶端軟體。我們當然可以用嚮導來修改此設定檔,不過直接修改的話難度並沒有增加。下面是一個例子:
OCEAN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.177)(PORT=1521))
)
(CONNECT_DATA =
(SERVICE_NAME= ocean)
)
)
這樣就可以確定一個名叫OCEAN的主機字串,在ADO.NET中,它就是連接字串裡的“server=ocean”部分。在後面指定主機的IP以及服務的連接埠號碼和服務名。就可以在用戶端運行基於Oracle ADO.NET的程式了。