ORA-12157: TNS:internal network
communication error
分三种情况:
安装时
Applies to:
Oracle Server - Enterprise Edition - Version: 9.2.0.1 to
11.1.0.99
This
problem can occur on any platform.
Although
this problem was first identified on x86 and x86_64 Linux, it is a generic
potential issue when the TMPDIR variable is incorrectly set.
Immediately following my 10.2.0.1 install
onto RHEL 4 u3 x86_64 (“default-RPMs”), when the
DBCA starts to create the initial DB, the following error pops up:
ORA-12157: TNS:internal network
communication error
First
attempted use of the DBCA tool, whether manually, or by
"install-requested" automatic instance creation.
You have the environment variable TMPDIR
set to a directory that does not exist.
Ensure
that the TMP and TMPDIR environment variables are set to a valid file system
with at
least
400 MB of writable free space.
一言以蔽之:检查环境变量TMP和TMPDIR正确设置,并且目录下有足够的空间
尝试加载服务时
RHEL5无法ping 本地所有接口处理
前两天一台测试机器出了问题,系统为redhat 5.2AP,安装完oracle后发现监听起不来,处理过程记录如下:
Symptoms
[root@btsweb
~]# su - oracle
[oracle@btsweb ~]$ sqlplus "/as
sysdba"
SQL*Plus: Release 10.2.0.4.0 -
Production on Tue Aug 25 21:07:46 2009
Copyright (c) 1982, 2007, Oracle.
All Rights Reserved.
ERROR:
ORA-12157: TNS:internal network
communication error
Enter user-name:
Cause
1、 listerner.ora从其他机器复制,编辑得来,不会有错;
2、 提示network communication error。应该是网络问题;通过ora-12157查也是网络问题导致。
进一步分析:
Ping [hostname]无法ping通;
Ping 127.0.0.1无法ping通;
Ping [eth0_ip]无法ping通;
处理步骤1:
至此,首先想到的是iptables引起的问题。
Service iptables status
Service ip6tables status
发现防火墙都开着了。关闭之,同时在设置开机不启动iptables。
Service iptables stop
Service ip6tables stop
Chkconfig iptable off
Chkconfig ip6tables off
验证ping是否正常,此时,发现仍无法ping通本机(localhost 127.0.0.1)。
处理步骤2:
Ifconfig –a
发现有一虚拟网卡virbr0存在,关闭虚拟网卡相应的服务
service libvirt stop
验证ping是否正常,此时,发现仍无法ping通本机(localhost 127.0.0.1)。
删除libvirt相关包;
Yum erase libvirt
验证libvirt删除情况:
Rp m –qa libvirt
[root@btsweb network-scripts]# rpm -q
libvirt
package libvirt is not installed
处理步骤3:
reboot机器后,ifconfig –a发现
[root@btsweb ~]# ifconfig -a
eth0 Link
encap:Ethernet HWaddr 00:1F:D0:92:DB:73
inet
addr:220.178.10.35 Bcast:220.178.10.47 Mask:255.255.255.240
inet6
addr: fe80::21f:d0ff:fe92:db73/64 Scope:Link
UP
BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX
packets:124 errors:0 dropped:29034178756 overruns:0 frame:0
TX
packets:120 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
txqueuelen:1000
RX
bytes:16600 (16.2 KiB) TX bytes:15460 (15.0 KiB)
Interrupt:177
Base address:0xc000
lo
Link encap:Local Loopback
LOOPBACK
MTU:16436 Metric:1
RX
packets:0 errors:0 dropped:0 overruns:0 frame:0
TX
packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
txqueuelen:0
RX
bytes:0 (0.0 b) TX bytes:0 (0.0 b)
sit0 Link
encap:IPv6-in-IPv4
NOARP
MTU:1480 Metric:1
RX
packets:0 errors:0 dropped:0 overruns:0 frame:0
TX
packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
txqueuelen:0
RX
bytes:0 (0.0 b) TX bytes:0 (0.0 b)
禁用IPV6
1. 使用vi编辑器,打开/etc/modprobe.conf
2.在文档中加入如下的两条:
alias net-pf-10 off
alias ipv6 off
关闭selinux
Vi /etc/selinux/config
设置
[root@btsweb ~]# cat /etc/selinux/config
# This file controls the state of
SELinux on the system.
# SELINUX= can take one of these three
values:
#
enforcing - SELinux security policy is
enforced.
# permissive
- SELinux prints warnings instead of enforcing.
#
disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use.
Possible values are:
#
targeted - Only targeted network daemons
are protected.
#
strict - Full SELinux protection.
经验证发现和selinux的配置没有关系。
处理步骤4:
步骤3中发现lo接口没有IP地址。检查其配置文件,
在/etc/sysconfig/network-script下看到配置文件为ifcfg-lo_bak而不是ifcfg-lo,将该文件重命名后问题解决。
未重命名之前,需手动ifconfig lo up方可启用Lo接口。因配置文件名为ifcfg-lo_bak,但内部为device=lo。
分析结果:配置文件名和配置文件中的device名和对应不上,导致lo接口无法启用,启用后无法ping通过本地地址。
尝试用客户端连接时
Symptoms
Every attempt to login locally to any database (using "sqlplus
'/ as sysdba'") fails with the following error :
ORA-12157:
TNS:internal network communication error
Solution
Check to make sure the address you are trying to bind to exists on the
local machine. This check should be done via "ifconfig
lo" or "ip addr" commands, because
there are situations when an IP address is invalid although the
/etc/hosts file shows the correct settings. Ask the system
engineers to redefine the loopback address back to 127.0.0.1 in case it was
changed.
分享到:
相关推荐
ORA-12154: TNS: 无法解析指定的连接标识符的解决方法
oracle报错ora-12541:TNS无监听程序
ora-12514:TNS:监听程序当前无法识别连接描述符中请求的服务bug,解决文档.
解决ORACLE TNS: 无法解析指定的连接标识符; 里面有步骤
ora-01033:oracle initialization or shutdown in progress 解决方法 ora-01033:oracle initialization or shutdown in progress 解决方法 ora-01033:oracle initialization or shutdown in progress 解决方法 ora-...
最近在工作中遇到了一个问题,错误是Oracle dbca时报错:ORA-12547: TNS:lost contact,通过查找相关的资料终于找到了解决的方法,下面分享给大家,话不多说了,来一起看看详细的介绍吧。 环境: OS:RHEL6.5 x86-...
在运行查询SELECT * FROM V$SESSION 会出现ORA-29275:部分多字节字符的错误,这是什么原因开始我不得其解,网上也没有介绍什么好办法。本文给出答案。
错误描述:oracle远程连接服务器出现 ORA-12170 TNS:连接超时 错误检查:有很多是oracle自身安装的问题,但是我这里服务器配置正常,监听正常,服务正常,远程可以ping通服务器。 这里主要是防火墙问题,解决办法: ...
ORA-12518 TNS:监听程序无法分发客户机连接,在您安装好数据库后配置连接数据库的过程中遇到这类问题应该很头疼吧,不过,当您还是四处查资料来解决您遇到的另你头疼的问题时,如果不经意间看到了这则贴子,那请您升...
ORA-32001:write to spfile requested but no spfile is in use请求写入spfile,但没有使用spfile的解决方法 在输入以下语句中报了这样的错误: SQL>alter system set control_files=’/u01/app/oracle/oradata/prod/...
ORA-00031:标记要终止的会话解决方案; ORA-00031:标记要终止的会话解决方案;
ORA-01036:非法的变量名/编号 oracle特有的错误
报错如下 报错: ORA-12170:TNS connect timeout occurred 第一反应是监听没开: 1. 测试了一下, 连接超时没用ping 通 C:\Users\Administrator>tnsping brorcl TNS Ping Utility for 64-bit Windows: Version 11.2...
ORA-12560 TNS 协议适配器错误
主要介绍了连接Oracle数据库时报ORA-12541:TNS:无监听程序的图文解决教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
调整参数后引起,ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 3 2768M 的解决方案
oracle12c程序连接时异常: ORA-01017: 用户名/口令无效; 登录被拒绝 的解决方案。
实验得来的,不是随便copy的, ORA-12560TNS协议适配器错误,这个问题可定可以解决