今天下午快下班时同事找我说自己的性能测试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$服务开头的。

Oracle TNS 异常问题处理的更多相关文章

  1. oracle tns

    oracle tns 是oracle提供的服务名,设置方法,oracle安装根目录---product----版本选择11.2.0----client1---NETWORK---ADMIN---tns ...

  2. Oracle TNS Listener Remote Poisoning

    Oracle TNS Listener Remote Poisoning 远程数据投毒漏洞(CVE-2012-1675) 1.漏洞简介: 允许攻击者在不提供用户名/密码的情况下,向远程“TNS Lis ...

  3. Oracle TNS路径

    修改tnsnames.oRA,监听文件   Oracle TNS路径 G:\Oracle\product\11.2.0\client_1\network\admin\tnsnames.oRA

  4. 双网卡环境导致Oracle连接异常

    现在就是流行向最高水平看齐,这次项目的部署,好好的SQL Server扔了(有正版授权的企业版,神啊...),逢人就夸:“俺们那上的可是最顶级的Oracle Database System!”.看了看 ...

  5. Oracle TNS配置浅析

    1. 什么是TNS? TNS是Oracle Net的一部分,专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,必须配置TNS,当然在少数情况下,不用配置T ...

  6. VCS引起的oracle数据库异常重新启动一例

    1. 环境描写叙述 操作系统版本号:SUSE Linux Enterprise Server 10 sp2 (x86_64) 数据库版本号:Oracle 11.1.0.7.16 VCS版本号:5.1 ...

  7. oracle存储过程异常捕获

    在oracle中捕获异常,通过 //sql执行 exception when others then dbms_output.putline('exception'); 其中others表示捕获未命名 ...

  8. 【Oracle】异常信息的加工处理

    引言     很多时候,我们调用oracle存储过程都会发生各种各样的异常信息,例如ORA-12899值过大,ORA-01400不能插入空值等.虽然说这类异常是前端没控制到位的缘故,但是现实很难100 ...

  9. Oracle tns 协议

    下面是翻译国外的一篇博客,原文连接如下: https://thesprawl.org/research/oracle-tns-protocol/ 简介 TNS(Transparent Network ...

  10. win10 下oracle tns通过IP无法访问的解决办法

     在Oracle安装目录下\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN下找到listener.ora文件,编辑对应项为: LISTE ...

随机推荐

  1. 华为云SparkRTC面向低时延、大通量传输业务的技术探索

    摘要:网络和移动设备高速发展的今天,人们开始思考如何用更短的时间下载更大的文件,追求更快的速度.当下在稳定的基础上有什么方法可以提升速度呢? 本文分享自华为云社区<华为云SparkRTC面向低时 ...

  2. 跟我学Python图像处理丨5种图像阈值化处理及算法对比

    摘要:本篇文章主要讲解Python调用OpenCV实现图像阈值化处理操作,包括二进制阈值化.反二进制阈值化.截断阈值化.反阈值化为0.阈值化为0. 本文分享自华为云社区<[Python图像处理] ...

  3. 谁说count(*) 性能最差,我需要跟你聊聊

    摘要:当我们对一张数据表中的记录进行统计的时候,习惯都会使用 count 函数来统计,但是 count 函数传入的参数有很多种,比如 count(1).count(*).count(字段) 等.到底哪 ...

  4. Solon 开发调试时能热更新吗?

    1.调试模式 开启"调试模式"后,支持动态模板文件.静态资源文件可以实现动态更新.增加启动参数即可开启: --debug=1 使用 solon-test 进行单元测试时,会自动添加 ...

  5. Intellij IDEA 显示 access.log 日志

    先配置  SpringBoot 记录 access.log 日志,先让accesslog 显示出来

  6. 轻松导航:教你在Excel中添加超链接功能

    前言 超链接是指在网页或电子文档中常见的元素,它的主要作用是将一个文本或图像与另一网页.文件或资源链接起来,从而使用户能够通过点击该链接跳转到目标资源.超链接可以起到导航以及引用的作用.超链接通常有以 ...

  7. 只需 3 步,人人都能搭建自己的 chatgpt 微信机器人

    大家好,我是徐公,大厂 6 年经验,CSDN 博客专家.最近,ChatGpt 很火,身边的人都在讨论,会不会成为下一个风口,像前几年互联网一样,迎来井喷式的发展. 徐公我最近也是在密切关注,最近,在 ...

  8. WCF 使用动态代理精简代码架构 (WCF动态调用)

    使用Castle.Core.dll实现,核心代码是使用Castle.DynamicProxy.ProxyGenerator类的CreateInterfaceProxyWithoutTarget方法动态 ...

  9. HDU - 1711:Number Sequence (KMP模板)

    原题链接 KMP模板:AC,858ms,13112KB内存 消耗太大了 #include<bits/stdc++.h> using namespace std; using namespa ...

  10. 使用 Python 参与算法竞赛

    引言 众所周知,打算法竞赛最频繁使用的语言是 C++.然而,对于那些不卡复杂度的题目,可以考虑使用 Python 编写(因为 Python 真的好写). 本文将简单地介绍一些 Python 使用技巧和 ...