plsql遠程訪問數據庫 解決ora-12541:TNS:無監聽程序


本機為win7 32位系統,為了學習oracle,裝了個vbox虛擬機,再裝了個win7虛擬機,內裝oracle 11g(win7如果要裝10g,要選擇vista版本,win版本會安裝報錯).oracle11g安裝完后有報了個錯誤,當時沒注意,現在也忘了什么 錯了,但是不影響使用.后來想在本機安裝plsql來遠程連接虛win7上的oracle.查了一些資料,步驟如下:

1.下載plsql,安裝.

2.下載Instant Client,點擊下載,下載第一個basic就行了,下載完解壓縮,以放到主win7 d盤根目錄為例:d:\instantclient_11_2

3.在d:\instantclient_11_2新建tnsnames.ora,用記事本編輯.

4.到虛win7上的oracle安裝目錄找到 …\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora,打開,比如數據庫實例是orcl,找到如下代碼,拷貝到本機d:\instantclient_11_2\tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 虛擬機IP)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

5.添加一個環境變量,名為TNS_ADMIN,值為tnsnames.ora文件所在路徑d:\instantclient_11_2\tnsnames.ora,plsql通過這個找到orcl連接字符串

6.添加一個環境變量NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK

7.打開PLSQL,不用登陸,工具-首選項-ORACLE-連接:
勾選檢查連接
Oracle主目錄: d:\instantclient_11_2
OCI庫: d:\instantclient_11_2\oci.dll

經過以上幾步之后,重啟PLSQL,問題來了,報錯:ora-12541:TNS:無監聽程序. ping是可以ping得通的,虛win7上的監聽也開着.經過不懈的努力,多次試驗終於解決了:

1.虛擬機網絡選擇橋接,並在虛擬機內網絡連接IPV4設置靜態IP
IP地址:192.168.1.111 (111可修改成自己的 1-255)
子網掩碼:255.255.255.0
默認風頭:192.168.1.1
首選DNS服務器:192.168.1.1
修改完記得主win7上 ping 192.168.1.111 ping得通再繼續往后.

2.修改..\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
SID_NAME = CLRExtProc 改為 SID_NAME = orcl orcl是實例名
HOST = localhost 改為 HOST = 192.168.1.111

3.修改..\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
兩處 HOST = localhost 改為 HOST = 192.168.1.111
SID = CLRExtProc 改為 SID = orcl

好了,重啟oracle,監聽,主win7上的plsql就可以遠程連接虛擬機上的數據庫了.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM