前言
最近在工作中遇到了一个问题,错误是Oracle dbca时报错:ORA-12547: TNS:lost contact,通过查找相关的资料终于找到了解决的方法,下面分享给大家,话不多说了,来一起看看详细的介绍吧。
环境:
- OS:RHEL6.5 x86-64bit
- DB:11.2.0.4 for Linux 86-64bit
思路:
DBCA报错,首先看DBCA的日志,日志中也是报ORA-12547: TNS:lost contact
于是再sqlplus / as sysdba敲回车,也是报ORA-12547: TNS:lost contact,
基于之前的工程经验,先到bdump下找trc文件,不过在bdump下是没有任何trc生成的。
再到/u01/app/oracle/product/11.2.0/db_1/rdbms/log下找trc文件,果然找到了:
Dump file /u01/app/oracle/product/11.2.0/db_1/rdbms/log/dg1_ora_3369.trc
*** 2016-02-01 17:40:23.652
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning,OLAP,Data Mining and Real Application Testing options
ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1
System name: Linux
Node name: dg1
Release: 2.6.32-431.el6.x86_64
Version: #1 SMP Sun Nov 10 22:19:54 EST 2013
Machine: x86_64
Instance name: dg1
Redo thread mounted by this instance: 0
Oracle process number: 0
Unix process pid: 3369,image: oracle@dg1
*** 2016-02-01 17:40:23.652
skgm error 27135: errno = 0,info = 0,1048576,2097152,0
skgm error 27135: errno = 0,0
*** 2016-02-01 17:40:23.654
Exception [type: SIGSEGV,Address not mapped to object] [ADDR:0x3D8] [PC:0x95BE6EB,opiodr()+11347] [flags: 0x0,count: 1]
Registers:
%rax: 0x000000000c0ea630 %rbx: 0x000000000c0ea638 %rcx: 0x0000000000000000
%rdx: 0x0000000000000000 %rdi: 0x000000000c0ccba0 %rsi: 0x00007fffa308e250
%rsp: 0x00007fffa308d970 %rbp: 0x00007fffa308e440 %r8: 0x00007fffa308d970
%r9: 0x00007fffa308e440 %r10: 0x00007fffa308c600 %r11: 0x00007fab40ec1538
%r12: 0x000000000000003c %r13: 0x0000000000000004 %r14: 0x00007fffa308e6f8
%r15: 0x0000000000000002 %rip: 0x00000000095be6eb %efl: 0x0000000000010246
opiodr()+11325 (0x95be6d5) lea (%rax,%rbx),%rdx
opiodr()+11329 (0x95be6d9) mov %rdx,(%rcx,%rbx)
opiodr()+11333 (0x95be6dd) mov 0x2b34a84(%rip),%rax
opiodr()+11340 (0x95be6e4) mov 0x178(%rax),%rdx
opiodr()+11347 (0x95be6eb) movzwl 0x3d8(%rdx),%ecx
opiodr()+11354 (0x95be6f2) test $0x100,%ecx
opiodr()+11360 (0x95be6f8) jz 0x95bc8c7
opiodr()+11366 (0x95be6fe) mov -0x18(%rbp),%eax
opiodr()+11369 (0x95be701) cmp $60,%eax
*** 2016-02-01 17:40:23.660
dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x1,level=3,mask=0x0)
----- Error Stack Dump -----
ORA-07445: exception encountered: core dump [opiodr()+11347] [SIGSEGV] [ADDR:0x3D8] [PC:0x95BE6EB] [Address not mapped to object] []
ORA-27135: Operating System hard stack limit is set too low ----------->>>>>>>注意此处
Additional information: 1048576
Additional information: 2097152
----- sql Statement (None) -----
Current sql information unavailable - no SGA.
以下省略。。。
最后确认,是/etc/security/limits.conf文件的问题:
修改完之后,关闭dbca界面,exit退出oracle用户,su - oracle用户,再重新发起dbca即可。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对编程之家的支持。