问题描述:
使用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及数据库实例):
|
这就保证了客户端使用的连接配置与服务器是一致的。
修改环境变量:
在客户端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)后连接就能正常的操作数据库了!!!