ORA-12162: TNS:net service name is incorrectly specified

简介: ORA-12162: TNS:net service name is incorrectly specified

概述


因未设置系统环境变量ORACLE_SID导致ORA-12162错误


分析原因


首先登录数据库主机执行 oerr ora 12162

20160906102102262.png

  • 我们首先查看看下 tnsnames.ora文件


20160906102402872.png


执行tnsping CC命令 检查下是否可以tnsping通,核对IP和端口以及实例名


20160906102521107.png


数据库服务器端使用TNSNAMES.ORA中记录的连接串连接没有问题


查看是否指定ORACLE_SID ,使用echo $ORACLE_HOMEecho $ORACLE_SID确认系统当前的ORACLE_HOME和ORACLE_SID环境变量

发现 ORACLE_SID未指定.......


解决方法


如何查看ORACLE_SID呢?

两种方式:

  • select name from v$database
  • 查看tnsnames.ora文件得到 $ORACLE_HOME\network\admin\tnsnames.ora


20160906103258001.png


我们这里的ORACLE_SID为 CC


如果只想临时生效的话,直接在当前窗口 执行 export ORACLE_SID=CC,此时只对当前的bash登录session生效,重新打开的会话窗口依然无效。


export设置只对当前的bash登录session有效。这是存在内存里面的。

长期生效的话可以写入配置文件。之后source 配置文件 ,使其生效。


将ORACLE_SID等环境变量写入到系统profile中,确保系统profile文件内容的有效性;


20160906103623158.png

20160906104003910.png

设置RACLE_SID,重新尝试登录,解决。

20160906104225833.png


详说ORACLE_HOME和ORACLE_SID


通常情况下,ORACLE_SID这个环境变量全称Oracle System Identifier,,用于在一台服务器上标识不同的实例,默认情况下,实例名就是ORACLE_SID的值(即INSTANCE_NAME=$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相同的多个实例!


相关文章
|
10月前
|
JSON 数据格式
【Azure Fabric Service】演示使用PowerShell命令部署SF应用程序(.NET)
本文详细介绍了在中国区微软云Azure上使用Service Fabrics服务时,通过PowerShell命令发布.NET应用的全过程。由于Visual Studio 2022无法直接发布应用,需借助PowerShell脚本完成部署。文章分三步讲解:首先在Visual Studio 2022中打包应用部署包,其次连接SF集群并上传部署包,最后注册应用类型、创建实例并启动服务。过程中涉及关键参数如服务器证书指纹和服务端证书指纹的获取,并附带图文说明,便于操作。参考官方文档,帮助用户成功部署并运行服务。
338 73
【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题
【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题
116 1
|
Linux C++ Windows
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
297 0
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
|
10月前
|
存储 XML 开发工具
【Azure Storage Account】利用App Service作为反向代理, 并使用.NET Storage Account SDK实现上传/下载操作
本文介绍了如何在Azure上使用App Service作为反向代理,以自定义域名访问Storage Account。主要内容包括: 1. **设置反向代理**:通过配置`applicationhost.xdt`和`web.config`文件,启用IIS代理功能并设置重写规则。 2. **验证访问**:测试原生URL和自定义域名的访问效果,确保两者均可正常访问Storage Account。 3. **.NET SDK连接**:使用共享访问签名(SAS URL)初始化BlobServiceClient对象,实现通过自定义域名访问存储服务。
171 1
|
开发框架 监控 .NET
【Azure App Service】部署在App Service上的.NET应用内存消耗不能超过2GB的情况分析
x64 dotnet runtime is not installed on the app service by default. Since we had the app service running in x64, it was proxying the request to a 32 bit dotnet process which was throwing an OutOfMemoryException with requests >100MB. It worked on the IaaS servers because we had the x64 runtime install
278 5
|
Java Windows 容器
【应用服务 App Service】快速获取DUMP文件(App Service for Windows(.NET/.NET Core))
【应用服务 App Service】快速获取DUMP文件(App Service for Windows(.NET/.NET Core))
276 4
|
开发框架 .NET Docker
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
214 1
|
开发框架 JavaScript 前端开发
【App Service】解决 .NET Profiler 报告打开后无数据加载的问题
【App Service】解决 .NET Profiler 报告打开后无数据加载的问题
174 0
|
存储 Linux 网络安全
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Linux/Linux Container)
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Linux/Linux Container)
223 0