Oracle是目前市場上最為流行的關(guān)系型數(shù)據(jù)庫之一。而在實際工作中,我們經(jīng)常會遇到需要遠程連接Oracle數(shù)據(jù)庫的情況。本文將向大家介紹利用CMD進行Oracle數(shù)據(jù)庫的遠程連接的方法。
在利用CMD進行Oracle數(shù)據(jù)庫的遠程連接之前,需要保證以下條件已經(jīng)被滿足:
- 確認(rèn)目標(biāo)機器可以通過TCP/IP網(wǎng)絡(luò)互相訪問 - 確認(rèn)目標(biāo)機器的Oracle數(shù)據(jù)庫運行正常 - 確認(rèn)目標(biāo)機器上Oracle數(shù)據(jù)庫的監(jiān)聽器已經(jīng)啟動并對外開放了監(jiān)聽端口
有了以上任何一個條件不滿足,都會導(dǎo)致連接遠程Oracle數(shù)據(jù)庫失敗。具體如下:
- 若目標(biāo)機器不可達,則需要配置網(wǎng)絡(luò)環(huán)境,如檢查是否存在防火墻等; - 若目標(biāo)機器的Oracle數(shù)據(jù)庫沒有運行正常,則需要啟動數(shù)據(jù)庫實例,如確認(rèn)監(jiān)聽進程、檢查服務(wù)等; - 若目標(biāo)機器上Oracle數(shù)據(jù)庫的監(jiān)聽器沒有啟動,則需要啟動監(jiān)聽進程; - 若目標(biāo)機器的Oracle數(shù)據(jù)庫的監(jiān)聽器對外不開放端口,則需要修改監(jiān)聽器配置,如將監(jiān)聽地址指定為0.0.0.0。
滿足以上條件后,就可以通過CMD遠程連接Oracle數(shù)據(jù)庫了。下面,我們就來介紹具體的步驟:
Step 1 確認(rèn)TNSnames.ora文件
在Oracle數(shù)據(jù)庫中,TNSnames.ora文件定義了Oracle數(shù)據(jù)庫的別名以及數(shù)據(jù)庫的連接地址。因此,在連接Oracle數(shù)據(jù)庫之前,需要確認(rèn)TNSnames.ora文件中是否已有需要連接的數(shù)據(jù)庫實例的信息。如下所示:
ORACLE_SID = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521)) ) (CONNECT_DATA = (SID = orcl) ) )
其中,HOST項指定Oracle數(shù)據(jù)庫所在機器的主機名或IP地址,PORT項指定Oracle數(shù)據(jù)庫的監(jiān)聽端口,SID項指定需要連接的Oracle數(shù)據(jù)庫實例的DB_NAME。此處,我們連接的數(shù)據(jù)庫實例名為"orcl"。
Step 2 確認(rèn)Oracle數(shù)據(jù)庫的監(jiān)聽器狀態(tài)
在確認(rèn)TNSnames.ora文件中有需要連接的數(shù)據(jù)庫實例信息后,需要確保目標(biāo)機器上Oracle數(shù)據(jù)庫的監(jiān)聽器狀態(tài)正常。可以在CMD命令行中輸入如下命令查詢監(jiān)聽器狀態(tài):
lsnrctl status
如果監(jiān)聽器狀態(tài)正常,則會返回如下信息:
Service "orcl" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service...
其中,"orcl"是需要連接的數(shù)據(jù)庫實例名。
Step 3 在CMD命令行中執(zhí)行連接命令
在完成以上兩步操作后,即可在CMD命令行中輸入如下命令進行遠程連接:
sqlplus username/password@orcl
其中,username和password為需要連接的Oracle數(shù)據(jù)庫的用戶名和密碼,"orcl"為要連接的數(shù)據(jù)庫實例的名字。如果連接成功,則會出現(xiàn)如下信息:
SQL*Plus: Release 12.1.0.2.0 Production on Thu May 20 15:38:03 2021 Copyright (c) 1982, 2016, Oracle. All rights reserved. Last Successful login time: Fri May 21 2021 XX:XX:XX +08:00 Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
至此,遠程連接Oracle數(shù)據(jù)庫的過程就已經(jīng)結(jié)束。