造成错误“ORA-12547: TNS:lost contact”的常见原因有哪些?
造成错误“ORA-12547: TNS:lost contact”的常见原因有哪些?
真题1、造成错误“ORA-12547: TNS:lost contact”的常见原因有哪些?
答案:在执行“sqlplus / as sysdba”时可能会报“ORA-12547: TNS:lost contact”的错误,常见原因有如下几点:
1、查看操作系统内核参数是否无误
core
file size (blocks, -c) 0
data
seg size (kbytes, -d) unlimited
scheduling
priority (-e) 0
file
size (blocks, -f) unlimited
pending
signals (-i) 16384
max
locked memory (kbytes, -l) 32
max
memory size (kbytes, -m)
unlimited
open
files (-n) 1024
pipe
size (512 bytes, -p) 8
POSIX
message queues (bytes, -q) 819200
real-time
priority (-r) 0
stack
size (kbytes, -s) 10240
cpu
time (seconds, -t)
unlimited
max
user processes (-u) 16384
virtual
memory (kbytes, -v) unlimited
file
locks (-x) unlimited
对于文件/etc/security/limits.conf中的“oracle hard stack”值至少应该是10240。
2、确认$ORACLE_HOME/bin/oracle文件权限和属主是否有问题
需要注意的是,在rac环境下需要查看$ORACLE_HOME/bin/oracle和$GRID_HOME/bin/oracle两个文件。在没有安装GI的环境下,正确权限为:
[oracle@OCPLHR ~]$ ll $ORACLE_HOME/bin/oracle
-rwsr-s--x 1 oracle oinstall 232424392 Feb
2 10:30 /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
[oracle@OCPLHR ~]$
在有grid用户的情况下,oracle可执行文件正确属主应该是oracle:asmadmin,并且权限必须有s才可以,如下所示:
[root@orclalhr ~]$ which setasmgidwrap
/u01/app/11.2.0/grid/bin/setasmgidwrap
[root@orclalhr ~]$ setasmgidwrap -o
/u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
[root@orclalhr ~]$ ll
/u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
-rwsr-s--x 1 oracle asmadmin 232399083 Apr 21 2015
/u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
[root@orclalhr ~]# ll
/u01/app/11.2.0/grid/bin/oracle
-rwsr-s--x. 1 grid oinstall 203972117 Jan 5 2015
/u01/app/11.2.0/grid/bin/oracle
[root@orclalhr ~]# chmod 6751 /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
[root@orclalhr ~]# ll
/u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
-rwsr-s--x 1 oracle asmadmin 232399083 Apr 21 2015
/u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
[root@orclalhr bin]# cd /u01/app/oracle/product/11.2.0/dbhome_1/bin/
[root@orclalhr bin]# which stat
/usr/bin/stat
[root@orclalhr bin]# stat oracle
File:
`oracle'
Size:
210823844 Blocks: 411776 IO Block: 4096 regular file
Device: 802h/2050d Inode: 1717737 Links: 1
Access: (6751/-rwsr-s--x) Uid: (
501/ oracle) Gid: (
504/asmadmin)
Access: 2017-03-16 12:33:44.809363974 +0800
Modify: 2014-05-18 17:09:50.508549983 +0800
Change: 2017-03-16 11:05:15.733816820 +0800
文件权限的详细说明如下:
u:User,即文件或目录的拥有者。
g:Group,即文件或目录的所属群组。
o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。
a:All,即全部的用户,包含拥有者,所属群组以及其他用户。
有关权限代号的部分,列表于下:
r:读取权限,数字代号为4。
w:写入权限,数字代号为2。
x:执行或切换权限,数字代号为1。
-:不具任何权限,数字代号为0。
s:当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限。
如果权限不对,那么可以执行以下命令进行修复:
chmod 6751 $ORACLE_HOME/bin/oracle
如果权限不对,那么使用strace跟踪命令也可以看到如下信息:
$strace -f -o /tmp/trace.1.log
$ORACLE_HOME/bin/sqlplus / as sysdba
在trace.1.log文件中可以看到如下的内容:
21810
open("/oracle/PROD/db/tech_st/11.1.0/admin/PROD_erptest/diag/rdbms/prod/PROD/alert/log.xml",
O_WRONLY|O_CREAT|O_APPEND, 0664) = -1 EACCES (Permission denied)
......
21810
open("/oracle/PROD/db/tech_st/11.1.0/admin/PROD_erptest/diag/rdbms/prod/PROD/trace/alert_PROD.log",
O_WRONLY|O_CREAT|O_APPEND, 0664) = -1 EACCES (Permission denied)
3、检查一下环境变量
echo $ORACLE_HOME
echo $ORACLE_SID
echo $LD_LIBRARY_PATH --注意:不同的操作系统此环境变量会不同
echo $PATH
4、检查$ORACLE_HOME/bin/oracle和$ORACLE_HOME/rdbms/lib/config.o的文件大小是否为0
[oracle@OCPLHR ~]$ ll $ORACLE_HOME/bin/oracle
-rwsr-s--x 1 oracle oinstall 232424392 Feb 2 10:30
/u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
[oracle@OCPLHR ~]$ ll
$ORACLE_HOME/rdbms/lib/config.o
-rw-r--r-- 1 oracle oinstall 1248 Jan 15 21:45
/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/config.o
[oracle@OCPLHR ~]$
如果大小为0,那么需要先备份config.o文件,然后重新编译oracle软件:
% cd $ORACLE_HOME/rdbms/lib
% mv config.o config.o.bad
[oracle@OCPLHR ~]$ relink all
writing relink log to:
/u01/app/oracle/product/11.2.0/dbhome_1/install/relink.log
5、检查$ORACLE_HOME/network/admin/sqlnet.ora文件中的内容
查看是否设置了限制某些IP地址登录的内容,此时可以通过查看监听日志的内容来确定。如果设置了限制登录的内容,则可以把tcp.validnode_checking设为no,或者在tcp.invited_nodes加入允许访问的IP或机器名。
6、检查监听日志文件的大小,确保监听日志文件的大小不能超过2G。如果超过2G,那么可以使用如下的方法解决:
[oracle@test ~]$ cd $ORACLE_HOME/network/log
[oracle@test log]$ cat /dev/null > listener.log
7、检查文件/etc/hosts文件中是否含有以下内容:
[oracle@OCPLHR ~]$ cat /etc/hosts
# Do not remove the following line, or various
programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1
localhost6.localdomain6 localhost6
192.168.59.155 OCPLHR
必须确保/etc/hosts文件中含有127.0.0.1这行。
8、查看系统是否缺少必要安装包,例如glibc、glibc-devel、libaio、libaio-devel
9、使用操作系统跟踪命令跟踪sqlplus连接过程,从而观察跟踪文件
Linux系统的跟踪命令:
strace -o /tmp/output.txt -T -tt -e trace=all sqlplus / as sysdba
strace -t -p 4545
Unix跟踪sqlplus进程:
truss -dfaie -o /tmp/sched_trace.out.02271 sqlplus
'/as sysdba'
Local SQL*Plus Connection and DBCA Fails With: ORA-12547: TNS:Lost Contact (文档 ID 422173.1)
https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=346867971665735&id=422173.1&displayIndex=3&_afrWindowMode=0&_adf.ctrl-state=17yvi1ujp4_126#REF
| DBCA and Local SQL*Plus Connection Fails With: ORA-12547: TNS:Lost Contact ORA-12753 (文档 ID 2206832.1) |
| Troubleshooting ORA-12547 TNS: Lost Contact (文档 ID 555565.1) |
转到底部
|
|
| Oracle Database (RDBMS) on Unix AIX,HP-UX,Linux,Mac OS X,Solaris,Tru64 Unix Operating Systems Installation and Configuration Requirements Quick Reference (8.0.5 to 11.2) (文档 ID 169706.1) |
About Me
.............................................................................................................................................
● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除
● 本文在itpub(http://blog.itpub.net/26736162/abstract/1/)、博客园(http://www.cnblogs.com/lhrbest)和个人微信公众号(xiaomaimiaolhr)上有同步更新
● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/
● 本文博客园地址:http://www.cnblogs.com/lhrbest
● 本文pdf版、个人简介及小麦苗云盘地址:http://blog.itpub.net/26736162/viewspace-1624453/
● 数据库笔试面试题库及解答:http://blog.itpub.net/26736162/viewspace-2134706/
● DBA宝典今日头条号地址:http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826
.............................................................................................................................................
● QQ群号:230161599(满)、618766405
● 微信群:可加我微信,我拉大家进群,非诚勿扰
● 联系我请加QQ好友(),注明添加缘由
● 于 2018-02-01 06:00 ~ 2018-02-31 24:00 在魔都完成
● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
.............................................................................................................................................
● 小麦苗的微店:https://weidian.com/s/793741433?wfr=c&ifr=shopdetail
● 小麦苗出版的数据库类丛书:http://blog.itpub.net/26736162/viewspace-2142121/
● 好消息:小麦苗OCP、OCM开班啦,详情请点击:http://blog.itpub.net/26736162/viewspace-2148098/
.............................................................................................................................................
使用微信客户端扫描下面的二维码来关注小麦苗的微信公众号(xiaomaimiaolhr)及QQ群(DBA宝典),学习最实用的数据库技术。
小麦苗的微信公众号 小麦苗的DBA宝典QQ群2 《DBA笔试面试宝典》读者群 小麦苗的微店
.............................................................................................................................................
![]()
![]()
![]()
![]()
造成错误“ORA-12547: TNS:lost contact”的常见原因有哪些?的更多相关文章
- Oracle案例04——TNS-12547: TNS:lost contact
Oracle数据库服务器DG从库重启后,无法完成数据同步,具体报错信息如下: 一.报错信息 alter log报错 ****************************************** ...
- Troubleshooting ORA-12547 TNS: Lost Contact (Doc ID 555565.1)
Troubleshooting ORA-12547 TNS: Lost Contact (Doc ID 555565.1) This error can occur in following scen ...
- ORA-12547: TNS:lost contact
碰到这个ORA-12547: TNS:lost contact的问题,翻了很多资料和METALINK,总结了一下原因: 1 是由于rpm包没有安装,对于我们的生产环境,此包是安装的. admin@p1 ...
- 如何解决ORA-12547: TNS:lost contact错
执行环境:ubuntu+oracle 11.2.0 为了启动oracle时间,出现ORA-12547: TNS:lost contact错误. 中午好好的纳,下午就无论了.以为是链接失效,关机重新启动 ...
- plsql 连接oralce数据库,报ora 12557 tns 协议适配器不可加载错误
使用plsql 连接oracle 数据库报ora 12557 错误: 解决方案: 1:首先确保服务中的service以及监听器都开启 2:F:\app\Administrator\product\11 ...
- sde用户下使用sqlplus登录错误ORA-12547: TNS:lost contact
环境:linux + oracle +arcsde 解决:root用户下增加$ORACLE_HOME/bin/oracle文件的s权限 [oracle@localhost bin]$ chmod ...
- robot framework连接Oracle错误:ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA
在使用robot framework的关键字Connect to Database Using Custom params连接Oracle数据库: Connect to Database Using ...
- oracle连接错误:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务解决
自己的解决办法是,把数据库连接字符串的默认SID_NAME = ORCL改为 sid_name =test(自己安装数据库时候改的名字).即可正常连接. 网上搜罗的其他问题:把监听服务重启下.(自己的 ...
- ORA-12546: TNS: 权限被拒绝(ORA - 12546 TNS: Permission Denied)
这个问题上网一查大都是说权限之类的问题,本人在经过第二次折腾之后发现,其实是自己的Oracle客户端工具在破解过程中被自己用防火墙禁止访问网络了,自己还在另一篇博文里记录过,竟然忘光了,BS一下自己! ...
随机推荐
- GDKOI2016 游记
2016.2.19~2.15强行广州koi被虐…… DAY 0 19日下午到达,第六次入住中大西苑宾馆,怂逼抽签抽中外交大使特殊职位,然后就一边看<死神>一边等石门两位室友啦.必须吐槽宾馆 ...
- Java集合系列[4]----LinkedHashMap源码分析
这篇文章我们开始分析LinkedHashMap的源码,LinkedHashMap继承了HashMap,也就是说LinkedHashMap是在HashMap的基础上扩展而来的,因此在看LinkedHas ...
- Android中与task相关的几个属性
1.与任务相关的属性 taskAffinity :修改任何给定Activity的关联 系统使用包名标识应用的默认任务关联: taskAffinity属性取字符串值,必须不同于包名: taskAffin ...
- Kubernetes v1.6开始支持RBAC
Kubernetes v1.6的一个亮点就是RBAC认证特性成为了beta版本.RBAC,基于角色的访问控制(Role-Based Access Control),是用于管理Kubernetes资源访 ...
- javascript 指定绑定函数名称,并且传递参数
<html> <head> <title> New Document </title> <script type="text/jav ...
- php中urldecode()和urlencode()起什么作用啊
urlencode()函数原理就是首先把中文字符转换为十六进制,然后在每个字符前面加一个标识符%. urldecode()函数与urlencode()函数原理相反,用于解码已编码的 URL 字符串,其 ...
- Red Hat
同义词 REDHAT一般指Red Hat Red Hat(红帽)公司(NYSE:RHT)是一家开源解决方案供应商,也是标准普尔500指数成员.总部位于美国北卡罗来纳州的罗利市,截止2015年3月3日, ...
- 使用异步方法在XAML中绑定系统时间
最近的工作需要在程序界面上显示实时的系统时间,网上查了查大部分都是用Timer或者线程来实现. 个人非常不喜欢用Timer,感觉这东西有点太耗资源,然后思考了下觉得更好的方法应该是使用异步的方法在委托 ...
- PHP微信H5支付开发
近来公司项目要求用到微信H5开发,因为微信开发文档处处都是坑,我也走了不少弯路,现在就把H5支付的过程记录一下,已备后用!! 首先 先去商户平台申请开通 H5支付!!!! 我们从微信官方下载H5支付d ...
- Win2003 设置远程连接限制数
在开发过程中,很多同事需要连接到一台Win2003服务器,但是连接人数超过了10个,就连接不上了.想设置一下连接限制数,可以如下操作: 1:在运行里面输入gpedit.msc后,弹出"本地计 ...
转到底部



