oracle tns java 出错_Oracle TNS 异常问题处理

今天下午快下班时同事找我说自己的性能测试Oracle数据库 连不上了。 然后自己连上去简单看了一下。

因为已经是事后了, 所以没有截图,只通过文字说明。

环境说明:Win2012r2 + Oracle12.2.0.1

1. 服务器报TNS无法链接。 第一反应是TNS的服务没启动好

cmd-> services.msc 打开服务

发现有两个Oracle 的Listener服务, 一个是client的一个是DB的

为了简化处理我将client的关闭,并且设置成了手动启动。

当时发现服务用户是 perf 用户。 手贱给修改成了本地用户,但是仅修改了 监听服务没有修改 数据库instance实例 这里给自己留坑了。

2. 打开命令行, 输入 cmd 启动

输入lsnrctl  使用status查看服务命令 很奇怪 TNS的配置文件都是走的client的

膝盖环境变量 将PATH的内容里面 client相关的都替换成dbhome_1的。

再次重复 cmd 打开监听服务, 很不幸 还是提示client

再次打开环境变量查看 原来同事添加了一个TNS_ADMIN的变量 指定了 是Client的,所以命令自动通过client里面的去查找

将这个变量进行改名。 再次执行相关命令 发现已经是dbhome相关的配置文件了。

3. 但是这个时候很奇怪的是 总是报一个 TNS SID_LIST的配置错误,重新手动修改了配直节也不行比较奇怪。

没办法 网上找了一个很简单的配直节 手动修改, 将括号设置准确,目录设置好,并且host 使用机器名进行启动。

发现服务启动起来了 但是提示无法支持服务 一头雾水。

4. 使用静态注册也是如此提示 按住不表。。

5. 使用动态注册, sqlplus / as sysdba

alter system register;

再次进入lsnrctl 发现依旧没有服务

6. 这个时候才想起来自己修改了 监听的登录用户 但是没有修改 instance的用户

没办法要过来perf的密码 并且冲洗你设置所有的监听到 perf用户

再次启动 竟然可以了。。。

7. 在自己本地 使用客户端进行连接,发现无问题。

8. 本次的经验教训是 环境变量一定要搞清楚,不要随便设置,包括字符集,客户端字符集还有Oracle的一些信息。 如果设置一定要记录一下

就跟我设置linux的环境变量一样 多了自己就记不住了 就容易自己坑自己。

9. 简单记录一下 以备不时之需。。

10. 我3年前修改系统视图 修改GS的数据库名的方法再也没有想起来。。改天再找找 数据库的视图 我记得不是用v$服务开头的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值