問題描述:
使用win7(32位)上pl/sql developer 9.0.6遠程連接Linux(64位)的oracle 10.2.0數據庫。window上使用的oracle客戶端是instantclient-basic-win32-10.2.0.3-20061115及instantclient-sqlplus-win32-10.2.0.3-20061115,把以上兩個文件解壓到一起,並創建與oracle服務器上內容相同的tnsnames.ora(IP、端口及數據庫實例都一致)。我在CMD中使用sqlplus "sys/password@orcl as sysdba"能正常連接,但直接sqlplus后再輸入用戶名密碼,提示
而直接使用plsql developer來連接的話就提示如下問題
解決方案:
問題的根本原因是由於oracle客戶端版本與oracle數據庫不兼容導致的!!!
基本步驟:
服務器端(Linux)
1、配置IP地址
vim ORACLE_HOME/network/admin/listener.org 查看其中IP地址,由域名改為IP,如”localhost.localdomain”à”10.1.10.121”
vim ORACLE_HOME/network/admin/listener.org同上操作
su – 切換到root用戶
vim /etc/hosts
添加類似如下一行(如果在安裝時已經配置就不需要了):
10.1.10.121 orcl(數據庫實例) orcl
保存關閉后測試
ping orcl
2、客戶端配置
下載oracle提供的遠程連接需要的最小驅動包:instantclient-basic-win32-10.2.0.4.zip及instantclient-sqlplus-win32-10.2.0.4.zip(如果不需要sqlplus也可不下載)
下載地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html
下載完成后,將以上兩個文件解壓到同一個目錄下,如:C:\instantclient_10_2(該目錄在配置環境變量是有用的)
將在服務器端的%ORACLE_HOME\network\admin\tnsnames.ora拷貝一份放到C:\instantclient_10_2\network\admin中(network\admin文件夾需要自己創建,該文件也可在客戶直接創建,並填入以下內容(注意IP及數據庫實例):
| # tnsnames.ora Network Configuration File: /oracle/product/10.2.0/db_1/network/admin/tnsnames.ora # Generated by Oracle configuration tools. (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.50.135)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl(數據庫實例名)) ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) ) |
這就保證了客戶端使用的連接配置與服務器是一致的。
修改環境變量:
在客戶端windows中創建以下幾個環境變量(用戶或系統變量都可以)
(1) ORACLE_HOME= C:\instantclient_10_2
(2) LD_LIBRARY_PATH= C:\instantclient_10_2
(3) TNS_ADMIN= C:\instantclient_10_2
(4) NLS_LANG= SIMPLIFIED CHINESE_CHINA.ZHS16GBK
修改path變量,在最后加入”;ORACLE_HOME”
保存后關閉,此時客戶端基本就配置完成了
sqlplus連接:
終端輸入:sqlplus “sys /password@orcl as sysdba”或sqlplus “scott /password”都可以測試
plsql developer連接
基於以上配置,可以配置plsql develpoer來圖形化管理oracle數據庫。
下載並安裝plsql developer,打開后直接取消,然后進入plsql develper界面,選擇:工具->首選項->Oracle連接(默認打開就是這一項)中的oracle主目錄名設置為:C:\instantclient_10_2及OCI庫為:C:\instantclient_10_2\oci.dll
配置完成后保存關閉退出,然后再打開plsql developer連接數據庫界面,輸入用戶名,如sys;密碼,數據庫實例名,如orcl,選擇連接身份(sys使用sysdba)后連接就能正常的操作數據庫了!!!


