ORA-12162: TNS:net service name is incorrectly specified
概述 分析原因
? 数据库服务器端使用TNSNAMES.ORA中记录的连接串连接没有问题 查看是否指定ORACLE_SID,使用echo $ORACLE_HOME和echo $ORACLE_SID确认系统当前的ORACLE_HOME和ORACLE_SID环境变量 发现 ORACLE_SID未指定....... 两种方式: select name from v$database
如果只想临时生效的话,直接在当前窗口 执行 export ORACLE_SID=CC,此时只对当前的bash登录session生效,重新打开的会话窗口依然无效。 export设置只对当前的bash登录session有效。这是存在内存里面的。 将ORACLE_SID等环境变量写入到系统profile中,确保系统profile文件内容的有效性; ? ? 设置RACLE_SID,重新尝试登录,解决。 ? 详说ORACLE_HOME和ORACLE_SID 当然实例名也可以不同于ORACLE_SID这个环境变量,只要在初始化参数文件里显示指定INSTANCE_NAME参数值不同于ORACLE_SID环境变量的值即可)。 在UNIX/Linux平台下,该环境变量主要作用是同ORACLE_HOME这个环境变量做hash运算,得到一个唯一值,用来标识共享内存段,及SGA ORACLE_HOME环境变量是Oracle软件的安装路径,顺带ORACLE_BASE环境变量是Oracle软件安装的基目录。 结论:在UNIX、Linux平台上, 相同的ORACLE_HOME下不可以同时运行ORACLE_SID相同的多个实例, 不同的ORACLE_HOME下可以同时运行ORACLE_SID相同的多个实例! (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |