zoukankan      html  css  js  c++  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$服务开头的。 

  • 相关阅读:
    给X轴添加滚动条,放大X轴Y轴
    win7下发布网站
    asp.net播放声音
    用Flash方式动态生成图表
    debian programming guid
    php 自动跳转的3种方法
    用expect实现su c功能,身份切换
    11 Top Opensource Resources for Cloud Computing
    转:Linux系统下Shell命令行快捷键实用技巧
    sed 替换
  • 原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/12405216.html
Copyright © 2011-2022 走看看