本文将给大家阐述一个因未设置系统环境变量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错误相关推荐

  1. 用友修改了变量不能连接到服务器,用友T3客户端登录提示 运行时错误91:未设置对象变量...

    近日使用的用友T3财务软件的T3中碰到一个问题: T3客户端登录提示 运行时错误91:未设置对象变量或with block 变量 详细的问题情况是这样的: T3客户端登录提示 运行时错误91:未设置对 ...

  2. C++:getenv setenv -- 获取设置系统环境变量

    C++:getenv & setenv -- 获取&设置系统环境变量 1. getenv:取得环境变量内容 头文件- #include<stdlib.h> 格式: char ...

  3. C# 实现设置系统环境变量设置

    C# 实现设置系统环境变量设置 原文:C# 实现设置系统环境变量设置 以前实现系统环境变量设置时是要在电脑属性--高级--环境变量设置,实现方式主要有2种, 修改注册表,添加环境变量 调用系统Kern ...

  4. IDEA 为 Java 应用设置系统环境变量

    引言: 调试程序时,有时候需要临时修改环境变量,但是不希望去系统环境变量中做修改. 此时可以在 idea 中为程序设置环境变量. 方法: 点击 Edit Configurations- 进入 Run/ ...

  5. java设置系统环境变量_设置java 环境变量

    DOS下任意目录用JAVA,JAVAC肯定是显示正确咯,因为你设置好了JAVAlib和bin的但是JAVA文件需要DOS下CD好了目录才能JAVAC否则是在C:\program里查找该JAVA文件你任 ...

  6. linux设置环境变量_Linux怎么设置系统环境变量之export命令详解

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. Linux export命令简介 Linux export命 ...

  7. getenv、setenv函数(获取和设置系统环境变量) 与 环境变量

    1.getenv() 函数名: getenv 功 能: 从环境中取字符串,获取 环境变量的值 头文件:  stdlib.h 用 法:char *getenv(char *envvar); 函数说明:g ...

  8. Windos下用setx.exe命令行模式下永久设置系统环境变量

    From: http://www.cnblogs.com/soli/archive/2007/08/30/876283.html setx.exe不是系统默认自带的命令,但可以从微软的网站(2K,XP ...

  9. k2p华硕系统怎么设置_Linux怎么设置系统环境变量之export命令详解

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. Linux export命令简介 Linux export命 ...

  10. windows中mysql添加环境变量_windows 下添加mysql到系统环境变量

    如何将MySQL添加到系统环境变量呢? 答: 在桌面选择"这台电脑"的图标,右键-->属性-->点击"高级系统设置"-->点击"环境 ...

最新文章

  1. 面向对象一类与对象的概念与特性
  2. POJ3111 K Best —— 01分数规划 二分法
  3. 关闭window端口445
  4. VisualStudio2017下载与安装教程详解
  5. 【转】Luajit-2.1.0-beta1的发布和生成arm64用bytecode的解脱
  6. Markdown批量发布到Github
  7. 4.29python
  8. c# Parallel.For 并行编程 执行顺序测试
  9. orcale可视化建立用户_建立动态可视化的新方法
  10. Dev-C++ 常用快捷键大全
  11. css3 box-shadow阴影(外阴影与外发光)讲解
  12. linqto 多个关键字模糊查询_查询函数Choose、Lookup、Hlookup、Vlookup应用技巧解读
  13. python新手图解_Python完全新手教程
  14. 百篇论文分类整理看数据增广最新研究进展
  15. 射频识别技术漫谈(25)——Felica简介
  16. c语言解析pcap,使用libpcap读取纳秒pcap文件
  17. 炫酷3D相册 520七夕情人节表白网页制作(HTML+CSS+JavaScript)
  18. 清除 input 的历史记录
  19. 暴走欧洲之旅行的经验杂记
  20. 信息技术与计算机课程标准,再谈新课程标准下的信息技术教学

热门文章

  1. 网桥(Bridge)作用详解
  2. 「案例分析」生鲜行业B2B供应链平台开发案例
  3. 基于Python的Bangumi中动画片排行榜数据可视化分析
  4. SWOT分析模板框架
  5. c语言英文背单词软件下载,英语百词斩下载,背单词最好的软件排名?
  6. pip install 安装requirements.txt经常报错解决方法
  7. mysql静默安装_mysql5.7静默安装
  8. SOPCAST所有频道的地址
  9. winbox 端口扫描_ROS软路由限速、防syn、ip伪装、mac绑定、防火墙、屏蔽端口
  10. <自由之路>LeetCode每日一题(DFS + 记忆化搜索)