如何解决ORA-12547错误!
最近在布置一个应用程序连接oracle后台数据库,数据库为oracle11g(11.2.0.2)。应用程序属于root用户,所以需要以root用户通过系统认证的方式连接数据库。设置了root用户的环境变量并将root用户加入了dba组中。但是在root用户中启动sqlplus连接数据库一直报
ERROR:
----------------
ORA-12547: TNS:lost contact
起初以为是oracle_home目录的权限不够,给了最大的权限仍然报同样的错误。在root用户下通过网络服务名可以连接成功就是通过系统认证一直不成功,说明我的环境变量没有问题。通过一位朋友的帮助,查了oracle的maintant link。获取如下信息:
Symptoms
- Not able to make a local connection.
- Getting the following error when trying to connect to scott/tiger
ERROR:
----------------
ORA-12547: TNS:lost contact
Cause
1. This could be due to kernel parameters settings
2. Incorrect permissions on the ORACLE executable
Solution
To implement the solution, please execute the following steps:
1.
This could be due to kernel parameters settings
Please check the notes below that provide the required settings for kernel parameters
Note 169706.1 Oracle Database on AIX,HP-UX,Linux,MacOSX,Solaris,Tru64
Note 201021.1 SOLARIS: Quick Start Guide - 9.2.0 RDBMS Installation
2.
This could be due to Incorrect permissions on the ORACLE.exe
The 'ls' command should show permissions 6751 (as follows)
Please check the following:
$ cd $ORACLE_HOME/bin
$ ls -l oracle
The output should be
-rwsr-s--x 1 oracle dba
If not then please execute the following
$ chmod 6751 oracle
Please also verify if the following are correct
echo $ORACLE_HOME
echo $ORACLE_SID
echo $LD_LIBRARY_PATH
echo $PATH
3.
If the above does not resolve I suggest that you shutdown the database and listener and then
"relink all"
Note 131321.1 How to Relink Oracle Database Software on UNIX
根据提示查看系统的配置,内核参数是按照官方的说明进行配置应该没有问题可以排除。到第二个的时候发现$ORACLE_HOME/bin目录下的oracle程序权限有问题,修改为文档提示的权限后测试连接成功。原来是该脚本的权限不够导致该错误报错。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?