Chinaunix首页 | 论坛 | 博客
  • 博客访问: 25247
  • 博文数量: 6
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 70
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-21 16:34
文章分类
文章存档

2015年(5)

2013年(1)

我的朋友

分类: Oracle

2015-05-21 01:08:54

1:以往的经验tnsping ora11g不通的情况下,查看是否开启访问控制,建议不要开启此项,非常不利于排错。

如果一定要开启,需要将相关实地址浮动地址等全部加进列表中。

2:这次的情况不同,tnsping ora11g是通的,而且访问控制也取消了,但是程序死活连不上数据库。之前程序和数据库都在本机,没有问题,当分离后,就报错了。而且反复查看了监听文件和字符串文件没有问题。

于是抓包,发现果然是被服务器拒绝了

 

这里的error_stack=(error=(code=12514)其实就是ora-12514

于是尝试在客户端手工#sqlplus vpdn/vpdn@ora11g连接服务器,发现果然连不上。

sqlplus vpdn/vpdn@ora11g

 

SQL*Plus: Release 11.2.0.1.0 Production on Thu May 21 00:15:22 2015

 

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

 

ERROR:

ORA-12514: TNS:listener does not currently know of service requested in connect

Descriptor

 

监听程序当前无法识别连接描述符中请求服务。

尝试了在其它平台客户端可以直接登录到服务器,于是查看其它平台服务器监听和字符串文件,发现监听文件有指定监听实例名。

select instance_name from v$instance    --这样查询实例名。

顿时想到 ,问题应该就在这里了。

修改前:

db2:~/ora11g/network/admin> cat listener.ora.bak

stener.ora Network Configuration File: /opt/oracle/product/11gR1/db/network/admin/listener.ora

# Generated by Oracle configuration tools.

 

LOCAL_OS_AUTHENTICATION_LISTENER=OFF

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.207.17)(PORT = 1521))

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    )

  )

 

修改后:

db2:~/ora11g/network/admin> cat listener.ora

# listener.ora Network Configuration File: /export/home/oracle/ora10g/product/10.2.0/db_1/network/admin/listener.ora

# Generated by Oracle configuration tools.

 

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (GLOBAL_DBNAME = ora11g)

      (ORACLE_HOME = /home/oracle/ora11g)

      (SID_NAME = ora11g)

    )

  )

 

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.207.17)(PORT = 1521))

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))

    )

  )

 

黄色字体是增加的部分,修改完后,重启服务器监听程序,再连就OK了。

阅读(974) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~