SUSE LINUX下ORACLE无法解析指定的连接标识符

zhq3898 2010-08-20 01:39:10
操作系统:suse linux 10
oracle:11.1
应用程序需要连接数据库,但是在连接不上,查看日志提示无法解析指定的连接标识符,查看listener.ora和tnsnames.ora配置均有问题。tnsping 数据库名称也没有问题。请问还有其他可能出现问题的地方吗?之前怀疑是没有正确卸载数据库的原因,所以把操作系统和数据库都又装了一遍。可是问题依然存在。请大家帮忙,谢谢。
...全文
264 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhq3898 2010-08-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xman_78tom 的回复:]
oracle 安装用户和组拥有读写权限,其他用户具有读权限
chmod 664 tnsname.ora
[/Quote]

之前为了方便,在做各种操作了大多使用root用户,遇到过几次问题,都一直在提醒自己小心文件权限的问题,结果又栽到了这点上。惭愧啊,虽然是新手,也不该犯这样的错误。因为之前也遇到这样的问题,以为是在删除oracle的时候只是把安装目录删除,清理不彻底而导致的问题,所以还把操作系统、数据库都又重新安装了一遍,浪费了大量的时间啊。
zhq3898 2010-08-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 duqiangcise 的回复:]
引用 3 楼 zhq3898 的回复:
找到问题的原因了,原来是tnsnames.ora的权限有问题,初始的权限不知怎么会是620,我改成了755.不知改成什么合适。呵呵

你在安装oracle时,应该会创建2个组的,并且你安装oracle的用户属于这2个组,如果你是用安装oracle的用户去存在数据库,应该不会存在权限问题呀???

期待。。。
[/Quote]
先谢谢XMAN。不好意思,我也不知道怎么回事,tnsnames.ora中的权限中竟然没有其他用户的可读权限。我在向一些用户的目录下拷贝文件时是使用root账户,然后再修改归属用户、组和权限,不过这些操作应该和tnsnames.ora的权限没有关系吧?还要请高人指教。
xman_78tom 2010-08-21
  • 打赏
  • 举报
回复
oracle 安装用户和组拥有读写权限,其他用户具有读权限
chmod 664 tnsname.ora
duqiangcise 2010-08-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhq3898 的回复:]
找到问题的原因了,原来是tnsnames.ora的权限有问题,初始的权限不知怎么会是620,我改成了755.不知改成什么合适。呵呵
[/Quote]
你在安装oracle时,应该会创建2个组的,并且你安装oracle的用户属于这2个组,如果你是用安装oracle的用户去存在数据库,应该不会存在权限问题呀???

期待。。。
zhq3898 2010-08-20
  • 打赏
  • 举报
回复
找到问题的原因了,原来是tnsnames.ora的权限有问题,初始的权限不知怎么会是620,我改成了755.不知改成什么合适。呵呵
zhq3898 2010-08-20
  • 打赏
  • 举报
回复
谢谢您的回复。连接数据库的代码看不到,数据库已经启动监听了。我把建立数据库用户下的环境变量发出来您帮忙看一下是不是环境变量的问题吧。
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.1
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export ORACLE_SID=aaaaa
export ORA_CRS_HOME=/opt/oracle/crs
export LD_LIBRARY_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib:/usr/lib
export ORACLE_DOC=$ORACLE_HOME/doc
export
PATH=$PATH:/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:/usr/sbin:/usr/ccs/bin:/usr/bin
export TNS_NAMES=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH ORACLE_DOCORA_NLS33
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
umask 022
其中倒数第三行应该没什么影响。第三行中安装目录下面也没有ocommon这个文件夹,不过在另外一个系统中也是这么设置的,也没有问题。
duqiangcise 2010-08-20
  • 打赏
  • 举报
回复
请把你应用程序连接数据库的连接代码贴出来看看!
连接的url是这样的格式吗?
String url = "jdbc:oracle:thin:@10.10.10.10:1521:oracle_instance_name";
红色代码是oracle数据库服务器所在的IP,oracle_instance_name是oracle数据库实例名称。
提示:你的oracle数据库的监听启动了吗?

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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