sqlplus連線遠端資料庫
轉自:https://blog.csdn.net/wildin/article/details/5850252
方式一:簡易連線,不用進行網路配置,其實就是tnsname.ora檔案,但只支援oracle10G以上。
命令:sqlplus 使用者名稱/密碼@ip地址[:埠]/service_name [as sysdba]
示例:sqlplus sys/[email protected]:1521/test as sysdba
例如:連線時:sqlplus IDS/[email protected]:1521/CAPITAL
匯出指定資料庫時:
備註:使用預設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