ORACLE_SID环境变量写错,因未设置系统环境变量ORACLE_SID导致ORA-12162错误
本文将给大家阐述一个因未设置系统环境变量ORACLE_SID导致ORA-12162错误的案例。希望大家有所思考。 1.获得有关ORA-12162报错信息的通用表述信息 [oracle@asdlabdb01 ~]$ oerr ora 12162 12162, 00000, "TNS:net service name is incorrectly specified" // *Cause: The connect descriptor corresponding to the net service name in // TNSNAMES.ORA or in the directory server (Oracle Internet Directory) is // incorrectly specified. // *Action: If using local naming make sure there are no syntax errors in // the corresponding connect descriptor in the TNSNAMES.ORA file. If using // directory naming check the information provided through the administration // used for directory naming. 2.故障现象 本文所要描述的故障与这个通用的问题描述不同,在数据库服务器端使用TNSNAMES.ORA中记录的连接串连接没有问题,但如若未指定连接串,将会报出ORA-12162错误。 1)使用system用户尝试登录系统,此时便会收到报错如下信息 [oracle@asdlabdb01 ~]$ sqlplus system/sys SQL*Plus: Release 10.2.0.3.0 - Production on Sat Aug 27 22:54:02 2010 Copyright (c) 1982, 2006, Oracle. All Rights Reserved. ERROR: ORA-12162: TNS:net service name is incorrectly specified Enter user-name: 2)使用sysdba身份登陆会得到同样的错误信息 [oracle@asdlabdb01 ~]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.3.0 - Production on Sat Aug 27 22:54:48 2010 Copyright (c) 1982, 2006, Oracle. All Rights Reserved. ERROR: ORA-12162: TNS:net service name is incorrectly specified Enter user-name: 3)但此时,如果使用服务名方式连接数据库,是可以成功的,这也是该问题现象的诡异之处。 [oracle@asdlabdb01 ~]$ sqlplus system/sys@ora10g SQL*Plus: Release 10.2.0.3.0 - Production on Sat Aug 27 22:53:41 2010 Copyright (c) 1982, 2006, Oracle. All Rights Reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options system@ora10g> 想象一下,你的目标是快速的进入到数据库中进行维护操作,但此时登录都遭遇障碍,会感到非常的别扭。更让人抓狂的是,如果此时使用连接串登录到数据库进行停起操作,结果将会处于更加惨烈境况:数据库将因为无法正常登录导致无法启动数据库。 3.故障原因 诡异的故障背后的原因竟然是那样的基础:ORACLE_SID没有指定! 确认系统当前的ORACLE_HOME和ORACLE_SID环境变量 [oracle@asdlabdb01 ~]$ echo $ORACLE_HOME /oracle/app/oracle/product/10.2.0/db_1 [oracle@asdlabdb01 ~]$ echo $ORACLE_SID [oracle@asdlabdb01 ~]$ 可见,此时只设置了ORACLE_HOME环境变量,但ORACLE_SID此时为空,这就是该问题的真实原因。 4.故障处理 给出ORACLE_SID,重新尝试登录。 [oracle@asdlabdb01 ~]$ export ORACLE_SID=ora10g [oracle@asdlabdb01 ~]$ echo $ORACLE_SID ora10g [oracle@asdlabdb01 ~]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.3.0 - Production on Sat Aug 27 23:27:34 2010 Copyright (c) 1982, 2006, Oracle. All Rights Reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options sys@ora10g> OK,此时问题处理完毕。 5.小结 这个案例给我们的启迪是什么? 1)系统默认的错误提示信息有时不具有参考价值。而且,某些情况下这些错误提示还可能给我们带来误导。原因很简单,系统默认的错误提示信息不可能囊括所有故障现象; 2)任何系统级别的设置问题都有可能导致数据库系统出现异常; 3)在遇到故障的时候,我们需要沉着冷静。有些时候可能需要我们Check最原始的信息,切莫想当然。 建议:为了避免出现文章中提到的问题,第一,可以将ORACLE_SID等环境变量写入到系统profile中,但需要确保系统profile文件内容的有效性;第二,不在profile中进行填写,每次登录数据库服务器时手工完成数据库环境变量的指定,这种方法虽然增加了键盘的敲击,但它更直观、更有保障。
ORACLE_SID环境变量写错,因未设置系统环境变量ORACLE_SID导致ORA-12162错误相关推荐
- 用友修改了变量不能连接到服务器,用友T3客户端登录提示 运行时错误91:未设置对象变量...
近日使用的用友T3财务软件的T3中碰到一个问题: T3客户端登录提示 运行时错误91:未设置对象变量或with block 变量 详细的问题情况是这样的: T3客户端登录提示 运行时错误91:未设置对 ...
- C++:getenv setenv -- 获取设置系统环境变量
C++:getenv & setenv -- 获取&设置系统环境变量 1. getenv:取得环境变量内容 头文件- #include<stdlib.h> 格式: char ...
- C# 实现设置系统环境变量设置
C# 实现设置系统环境变量设置 原文:C# 实现设置系统环境变量设置 以前实现系统环境变量设置时是要在电脑属性--高级--环境变量设置,实现方式主要有2种, 修改注册表,添加环境变量 调用系统Kern ...
- IDEA 为 Java 应用设置系统环境变量
引言: 调试程序时,有时候需要临时修改环境变量,但是不希望去系统环境变量中做修改. 此时可以在 idea 中为程序设置环境变量. 方法: 点击 Edit Configurations- 进入 Run/ ...
- java设置系统环境变量_设置java 环境变量
DOS下任意目录用JAVA,JAVAC肯定是显示正确咯,因为你设置好了JAVAlib和bin的但是JAVA文件需要DOS下CD好了目录才能JAVAC否则是在C:\program里查找该JAVA文件你任 ...
- linux设置环境变量_Linux怎么设置系统环境变量之export命令详解
请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. Linux export命令简介 Linux export命 ...
- getenv、setenv函数(获取和设置系统环境变量) 与 环境变量
1.getenv() 函数名: getenv 功 能: 从环境中取字符串,获取 环境变量的值 头文件: stdlib.h 用 法:char *getenv(char *envvar); 函数说明:g ...
- Windos下用setx.exe命令行模式下永久设置系统环境变量
From: http://www.cnblogs.com/soli/archive/2007/08/30/876283.html setx.exe不是系统默认自带的命令,但可以从微软的网站(2K,XP ...
- k2p华硕系统怎么设置_Linux怎么设置系统环境变量之export命令详解
请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. Linux export命令简介 Linux export命 ...
- windows中mysql添加环境变量_windows 下添加mysql到系统环境变量
如何将MySQL添加到系统环境变量呢? 答: 在桌面选择"这台电脑"的图标,右键-->属性-->点击"高级系统设置"-->点击"环境 ...
最新文章
- 面向对象一类与对象的概念与特性
- POJ3111 K Best —— 01分数规划 二分法
- 关闭window端口445
- VisualStudio2017下载与安装教程详解
- 【转】Luajit-2.1.0-beta1的发布和生成arm64用bytecode的解脱
- Markdown批量发布到Github
- 4.29python
- c# Parallel.For 并行编程 执行顺序测试
- orcale可视化建立用户_建立动态可视化的新方法
- Dev-C++ 常用快捷键大全
- css3 box-shadow阴影(外阴影与外发光)讲解
- linqto 多个关键字模糊查询_查询函数Choose、Lookup、Hlookup、Vlookup应用技巧解读
- python新手图解_Python完全新手教程
- 百篇论文分类整理看数据增广最新研究进展
- 射频识别技术漫谈(25)——Felica简介
- c语言解析pcap,使用libpcap读取纳秒pcap文件
- 炫酷3D相册 520七夕情人节表白网页制作(HTML+CSS+JavaScript)
- 清除 input 的历史记录
- 暴走欧洲之旅行的经验杂记
- 信息技术与计算机课程标准,再谈新课程标准下的信息技术教学
热门文章
- 网桥(Bridge)作用详解
- 「案例分析」生鲜行业B2B供应链平台开发案例
- 基于Python的Bangumi中动画片排行榜数据可视化分析
- SWOT分析模板框架
- c语言英文背单词软件下载,英语百词斩下载,背单词最好的软件排名?
- pip install 安装requirements.txt经常报错解决方法
- mysql静默安装_mysql5.7静默安装
- SOPCAST所有频道的地址
- winbox 端口扫描_ROS软路由限速、防syn、ip伪装、mac绑定、防火墙、屏蔽端口
- <自由之路>LeetCode每日一题(DFS + 记忆化搜索)