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$服务开头的。
Oracle TNS 异常问题处理的更多相关文章
- oracle tns
oracle tns 是oracle提供的服务名,设置方法,oracle安装根目录---product----版本选择11.2.0----client1---NETWORK---ADMIN---tns ...
- Oracle TNS Listener Remote Poisoning
Oracle TNS Listener Remote Poisoning 远程数据投毒漏洞(CVE-2012-1675) 1.漏洞简介: 允许攻击者在不提供用户名/密码的情况下,向远程“TNS Lis ...
- Oracle TNS路径
修改tnsnames.oRA,监听文件 Oracle TNS路径 G:\Oracle\product\11.2.0\client_1\network\admin\tnsnames.oRA
- 双网卡环境导致Oracle连接异常
现在就是流行向最高水平看齐,这次项目的部署,好好的SQL Server扔了(有正版授权的企业版,神啊...),逢人就夸:“俺们那上的可是最顶级的Oracle Database System!”.看了看 ...
- Oracle TNS配置浅析
1. 什么是TNS? TNS是Oracle Net的一部分,专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,必须配置TNS,当然在少数情况下,不用配置T ...
- VCS引起的oracle数据库异常重新启动一例
1. 环境描写叙述 操作系统版本号:SUSE Linux Enterprise Server 10 sp2 (x86_64) 数据库版本号:Oracle 11.1.0.7.16 VCS版本号:5.1 ...
- oracle存储过程异常捕获
在oracle中捕获异常,通过 //sql执行 exception when others then dbms_output.putline('exception'); 其中others表示捕获未命名 ...
- 【Oracle】异常信息的加工处理
引言 很多时候,我们调用oracle存储过程都会发生各种各样的异常信息,例如ORA-12899值过大,ORA-01400不能插入空值等.虽然说这类异常是前端没控制到位的缘故,但是现实很难100 ...
- Oracle tns 协议
下面是翻译国外的一篇博客,原文连接如下: https://thesprawl.org/research/oracle-tns-protocol/ 简介 TNS(Transparent Network ...
- win10 下oracle tns通过IP无法访问的解决办法
在Oracle安装目录下\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN下找到listener.ora文件,编辑对应项为: LISTE ...
随机推荐
- OpenCV萌新福音:易上手的数字识别实践案例
摘要:信用卡识别的案例用到了图像处理的一些基本操作,对刚上手CV的人来说还是比较友好的. 本文分享自华为云社区<Python openCV案例:信用卡数字识别>,原文作者:深蓝的回音 . ...
- Vue 应用程序性能优化:代码压缩、加密和混淆配置详解
简介在 Vue 应用程序的开发中,代码压缩.加密和混淆是优化应用程序性能和提高安全性的重要步骤. Vue CLI 是一个功能强大的开发工具,它提供了方便的配置选项来实现这些功能.本文将介绍如何使用 ...
- Mac 播放 swf Flash文件
Flash已不再支持,swf 文件彻底打不开了(一些教程),通过PD虚拟,安装 windows 操作系统在里在装了 flash 播放器使用了一段时间,始终不方便.于是找到了如下方法 首先安装:Adob ...
- Mac OS 安装mysqlcliet 失败问题解决
简单记录 Mac OS pip 安装mysqlclient报错处理过程 系统: python: Python 3.8.2 虚拟环境 直接安装 mysqlclient 会报错 Using cached ...
- QA32增强
一.QA32报表新增字段 二.QA32报表程序RQEEAL10 结构增加字段,该结构就是报表展示字段列的结构 表新增字段 找到报表展示的子例程 找到程序RQEEAL10,子例程中新增隐式增强 隐式增强 ...
- MyBatis:快速入门
MyBatis 简介 MyBatis 是一个开源.轻量级的数据持久化框架,是 JDBC 和 Hibernate 的替代方案.MyBatis 内部封装了 JDBC,简化了加载驱动.创建连接.创建 sta ...
- 如何做一次完美的 ABTest?
本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/mO5MdwG7apD6RzDhFwZhog作者:DuZhimin 越来越多的公司都在尝试 AB ...
- 二、Mycat安装
系列导航 一.Mycat实战---为什么要用mycat 二.Mycat安装 三.mycat实验数据 四.mycat垂直分库 五.mycat水平分库 六.mycat全局自增 七.mycat-ER分片 万 ...
- C#设计模式02——原型模式的写法
public class ProteType { private static ProteType _ProteType = new ProteType(); private ProteType() ...
- docker 镜像管理之 overlay2 最佳实践
1. Docker 镜像 Docker 镜像是个只读的容器模板,它组成了 Docker 容器的静态文件系统运行环境 rootfs,是启动 Docker 容器的基础. Docker 镜像是容器的静态视角 ...