方式一:簡易連接,不用進行網絡配置,其實就是tnsname.ora文件,但只支持oracle10G以上。
命令:sqlplus 用戶名/密碼@ip地址[:端口]/service_name [as sysdba]
示例:sqlplus sys/pwd@ip:1521/test as sysdba
備注:使用默認1521端口時可省略輸入
方式二:進行網絡配置 oracle9i和以前的版本
2.1圖形化操作:Net Configuration Assistant--> 本地Net服務名配置-->添加->服務名->協議(選tcp)->主機名稱->端口->完成。
2.2文本化操作:編輯$ORACLE_HOME/NETWORK/ADMIN/tnsnames.ora文件
test =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip或主機名稱)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = 數據庫的服務名稱)
)
)
備注說明:紅色為修改部分
PROTOCOL:客戶端與服務器端通訊的協議,一般為TCP,該內容一般不用改。
HOST:數據庫偵聽所在的機器的機器名或IP地址,數據庫偵聽一般與數據庫在同一個機器上,所以當我說數據庫偵聽所在的機器一般也是指數據庫所在的機器。在UNIX或WINDOWS下,可以通過在數據庫偵聽所在的機器的命令提示符下使hostname命令得到機器名,或通過ipconfig(for WINDOWS) or ifconfig(for UNIX)命令得到IP地址。需要注意的是,不管用機器名或IP地址,在客戶端一定要用ping命令ping通數據庫偵聽所在的機器的機器名,否則需要在hosts文件中加入數據庫偵聽所在的機器的機器名的解析。
PORT:數據庫偵聽正在偵聽的端口.可以察看服務器端的listener.ora文件或在數據庫偵聽所在的機器的命令提
示符下通過lnsrctl status [listener name]命令察看。此處Port的值一定要與數據庫偵聽正在偵聽的端口一
樣。
SERVICE_NAME:在服務器端,用system用戶登陸后,sqlplus> show parameter service_name命令察看。
======================================================================
如何保證客戶端機器連接到Oracle數據庫呢?
A. 客戶端
1.在客戶端機器上安裝oracle的Oracle Net通訊軟件,它包含在oracle的客戶端軟件中。
2.正確配置了sqlnet.ora文件
3.正確配置了tnsname.ora文件
B. 服務器端
1.保證listener已經啟動 lsntctl start
2.保證數據庫已經啟動。 sql>startup