急求如何解决连接远程oracle服务器的问题

xuyongjun5124020 2012-11-11 10:25:58
客户机:windowns 2003 ,已经安装了oracle 10g的客户端。
服务机:centOS,安装了oracle 10G release 2的服务端。
(服务端的listener.ora内容如下:)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = lee)
(SID_NAME = lee)
(ORACLE_HOME = /home/lee/app/oracle/product/10.2.0/db_1)
(PROGRAM = extprocl)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.232)(PORT = 8080))
)
)
(服务端的tnsnames.ora内容如下:)
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.232)(PORT = 8080))


LEE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.232)(PORT = 8080))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = lee)
)
)

EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
现象如下:
(1)在服务器端使用自带的sql*plus登录数据是没问题的,可以查到信息。
(2)服务器端查看监听状态,实例lee可以成功监听。
(3)在客户端cmd > ping 192.18.0.232 (提示可以接收到相关的数据包)
(4)在客户端cmd > tnsping lee (可以解析出HOST=192.168.0.232 PORT=8080 SERVICE_NAME=lee) 因为客户需求要将数据库的端号设置为:8080
(5)但在客户端cmd>sqlplus sys as sysdba 时却提示:ora-12560:TNS:protocol adapter error
(6)如果使用cmd>sqlplus sys@lee as sysdba 时却提示:ora-12154:TNS:could not resolve the connect identifier specified
求助各位大神如何解决这个问题啊,这已经困扰我差不多一天了。如需要更详细信息可加我Q:765027740 谢谢
...全文
263 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zz_yi 2012-12-19
  • 打赏
  • 举报
回复
引用 7 楼 linwaterbin 的回复:
引用 6 楼 xuyongjun5124020 的回复: 多谢各位大神,linux的监听已经启动。但现在又出现了另外一个问题。 情况说明: (1)在客户端使用cmd>sqlplus scott/123@mylee as sysdba 时可以连接到数据库服务器,而且可以查询出新插入的数据。 (2)但在使用客户端自带的工具Enterprise Manager Console进行连接时却出现了错……
没错的,必须要有角色
xuyongjun5124020 2012-11-11
  • 打赏
  • 举报
回复
为了这个东西,搞到小弟很痛苦,请各位多多指教,可Q我:765027740
xuyongjun5124020 2012-11-11
  • 打赏
  • 举报
回复
你好,我是楼主,先多谢各位回我的贴,但我还是有几个问题: (1)oracle服务器只安装在linux中,不知道是怎样启动oraclehomeXXXXXTNSlistener服务。 (2)windows中只安装了oracle 客户端,所以没有HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1\ORACLE_SID 这个东西。 (3)在客户端登录时cmd>sqlplus scott/123@instance ,但还是提示ora-12154:TNS:could not resolve the connect identifier specified错误。 小弟是新手,很多东西都不懂,望各位高手指点迷津。
软件钢琴师 2012-11-11
  • 打赏
  • 举报
回复
1.监听服务没有起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehomeXXXXXTNSlistener服务。
软件钢琴师 2012-11-11
  • 打赏
  • 举报
回复
可能的原因 1.服务没有起来 2.ORACLE_SID环境变量没有指定(最常见引起ORA-12560问题的原因) 检查方法,命令行(cmd)下, C:\Documents and Settings\ptian>set oracle_sid ORACLE_SID=test ORACLE_SID是sqlplus默认连接的数据库instance,即sqlplus user/pwd连接的instance,如果不指定sqlplus里连接的时候就需要明确@你的instance,eg,sqlplus user/pwd@instance. 修改方法:在注册表中,HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1\ORACLE_SID 需指向你的Instance(eg.orcl);或者在系统的环境变量里加ORACLE_SID项,值为Instance的SID。 3.TNS_ADMIN环境变量没有指定 检查方法,命令行(cmd)下, C:\Documents and Settings\ptian>set TNS_ADMIN TNS_ADMIN=D:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN TNS_ADMIN应该返回你的tnsnames.ora所在的目录 修改方法:可以在注册表HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\TNS_ADMIN或者环境变量中指定。 4.ORACLE_HOME环境变量没有指定 和上边的方法类似,检查Oracle_Home环境变量 5.tnsnames.ora(客户端)文件内容不对 A sample: TEST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.232)(PORT = 8080)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = lee) ) )
linwaterbin 2012-11-11
  • 打赏
  • 举报
回复
引用 6 楼 xuyongjun5124020 的回复:
多谢各位大神,linux的监听已经启动。但现在又出现了另外一个问题。 情况说明: (1)在客户端使用cmd>sqlplus scott/123@mylee as sysdba 时可以连接到数据库服务器,而且可以查询出新插入的数据。 (2)但在使用客户端自带的工具Enterprise Manager Console进行连接时却出现了错误。 我设置的参数如下……
EM是不允许普通用户登入的 除非你授予他 select_catalog_role 这个权限 grant select_catalog_role to xx;
xuyongjun5124020 2012-11-11
  • 打赏
  • 举报
回复
多谢各位大神,linux的监听已经启动。但现在又出现了另外一个问题。 情况说明: (1)在客户端使用cmd>sqlplus scott/123@mylee as sysdba 时可以连接到数据库服务器,而且可以查询出新插入的数据。 (2)但在使用客户端自带的工具Enterprise Manager Console进行连接时却出现了错误。 我设置的参数如下: 主机名:192.168.0.232 端口号:8080 SID:lee 网络服务名:mylee 输入的数据库信息如下: 用户名:scott 口令:123 服务:MYLEE 连接身份:Normal 但系统提示:当前授予您的数据库权限不足以运行此应用程序。单击“帮助”以获取更多的版本特定信息。 { 另外输入的数据库信息如下: 用户名:sys 口令:123 服务:MYLEE 连接身份:SYSDBA 系统提示:ora-01017:invalid username/password;logon denied (事实上用户名和密码是没有错误的) }
软件钢琴师 2012-11-11
  • 打赏
  • 举报
回复
linux中启动Listener 在你的oracle 用户下 lsnrctl start 当然你可以先lsnrctl staus 看看监听是否已经启动

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧