詳細講解Oracle數據庫9i穿過防火墻問題
環境:win2000,oracle 9.2.0.1
方法一:
在windows2000的注冊表中,hkey_local_machinesoftwareoraclehome0下加入字符串值:
USE_SHARED_SOCKET=TRUE,即可
方法二:
1、首先將數據庫實例改為SHARED SERVER模式
2、以SYSDBA登錄SQLPLUS,通過SQLPLUS生成系統當前的參數設置文件pfile:create pfile='d:init.ora' from spfile;
3、修改d:init.ora文件,在其中增加(用editplus編輯):*.service_names='your service name'和*.dispatchers='(address=(protocol=tcp)(host=localhost)(port=1521) (dispatchers=1)'
4、生成新的SPFILE:create spfile from pfile='d:init.ora';
5、重啟動數據庫。
6、在防火墻中開放1521端口。
方法三:
在數據庫端(也可以是另外的機器,但是cman的機器必須和數據庫都在防火墻的后面)安裝了cman的前提下,啟動cman,然后開放防火墻端的1630端口(看cman開的是什么端口啦),最后在客戶端的tnsnames.ora文件中添加:
cmantest = (description = (address_list = (address = <- first address is to CMAN (protocol=tcp) (host=hostname or ip of cman) (port=1610) ) (address= <- second address is to Listener (protocol=tcp) (host=hostname or ip of listener) (port=1521) ) ) (connect_data = (sid = sidname)) (source_route = yes)
