Linux下监听程序TNS-12543错误解决方法
2014-03-04 23:44
288 查看
遇到的问题:安装虚拟机Vmware之后,打开系统项目虚拟机,经过以下处理步骤
1) root (123456)
2)启动Oracle
2.1 su - oracle (oracle)
2.2 lsnrctl start --启动Listener
2.3 sqlplus / as sysdba
2.4 startup
2.5 exit
3)启动JBOSS
3.1 su - portal (portal)
3.2 cd Jboss/bin
3.3 ./startup.sh
在处理 lsnrctl start 启动监听器的时候,控制台抛出以下错误信息:
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 15-10��-2010 12:32:19
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Starting /home/oracle/10.2.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /home/oracle/10.2.0/db_1/network/admin/listener.ora
Log messages written to /home/oracle/10.2.0/db_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cmms)(PORT=1521)))
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12543: TNS:destination host unreachable
TNS-12560: TNS:protocol adapter error
TNS-00513: Destination host unreachable
Linux Error: 101: Network is unreachable
处理过程:
Oracle 的 listener.ora 文件里面HOST后面应该输入IP地址还是主机名呢?最好使用主机名。很多时候,一个机器绑定的不止一个IP地址,如果HOST后面是IP地址,那么Oracle的Listener只会监听指定的IP地址的访问请求,本机其他的IP地址的连接都会拒绝的。当创建监听的时候,listener.ora 文件里面默认创建的是主机名。那么,企业、邮局,如果没有特别的需要,如果没有特别的需要就不要画蛇添足的去修改host_name为IP地址了。但是,如果HOST后面是主机名,那么就会与/etc/hosts 这个文件扯上关系了。
第一种情况:/etc/hosts文件oracle没有权限访问
在etc下打开终端
[root@localhost etc]# l hosts
这时候oracle用户去启动listener,
[oracle@localhost admin]$ lsnrctl start
[oracle@localhost admin]$ lsnrctl start
第二种情况,就是现在遇到的情况是:2、/etc/hosts文件里面的主机名对应的IP地址没有在本机绑定
查看本机/etc/hosts文件里面主机定义的IP信息,用以下命令
[root@localhost etc]# cat /etc/hosts
查找本机的IP地址有没有指定的IP,用以下命令
[root@localhost etc]# ifconfig|grep xxxx.xxxx.xxxx.xxxx
现在问题明朗了,通过cat /etc/hosts命令查看etc/hosts文件中主机对应的ip
4000
为192.168.238.128
但是我安装虚拟机的时候,virtual network editor (虚拟网络编辑器)中类型为Host-only的VMnet1 定义的子网IP为192.168.89.0,与192.168.238.128中的网段有冲突,
因此更改为192.168.89.128,问题解决。
因此当吧虚拟机中的项目拷贝到另一个电脑中时,由于虚拟机的安装环境更改需要更改以下虚拟网络IP
1) root (123456)
2)启动Oracle
2.1 su - oracle (oracle)
2.2 lsnrctl start --启动Listener
2.3 sqlplus / as sysdba
2.4 startup
2.5 exit
3)启动JBOSS
3.1 su - portal (portal)
3.2 cd Jboss/bin
3.3 ./startup.sh
在处理 lsnrctl start 启动监听器的时候,控制台抛出以下错误信息:
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 15-10��-2010 12:32:19
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Starting /home/oracle/10.2.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /home/oracle/10.2.0/db_1/network/admin/listener.ora
Log messages written to /home/oracle/10.2.0/db_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cmms)(PORT=1521)))
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12543: TNS:destination host unreachable
TNS-12560: TNS:protocol adapter error
TNS-00513: Destination host unreachable
Linux Error: 101: Network is unreachable
处理过程:
Oracle 的 listener.ora 文件里面HOST后面应该输入IP地址还是主机名呢?最好使用主机名。很多时候,一个机器绑定的不止一个IP地址,如果HOST后面是IP地址,那么Oracle的Listener只会监听指定的IP地址的访问请求,本机其他的IP地址的连接都会拒绝的。当创建监听的时候,listener.ora 文件里面默认创建的是主机名。那么,企业、邮局,如果没有特别的需要,如果没有特别的需要就不要画蛇添足的去修改host_name为IP地址了。但是,如果HOST后面是主机名,那么就会与/etc/hosts 这个文件扯上关系了。
第一种情况:/etc/hosts文件oracle没有权限访问
在etc下打开终端
[root@localhost etc]# l hosts
这时候oracle用户去启动listener,
[oracle@localhost admin]$ lsnrctl start
[oracle@localhost admin]$ lsnrctl start
第二种情况,就是现在遇到的情况是:2、/etc/hosts文件里面的主机名对应的IP地址没有在本机绑定
查看本机/etc/hosts文件里面主机定义的IP信息,用以下命令
[root@localhost etc]# cat /etc/hosts
查找本机的IP地址有没有指定的IP,用以下命令
[root@localhost etc]# ifconfig|grep xxxx.xxxx.xxxx.xxxx
现在问题明朗了,通过cat /etc/hosts命令查看etc/hosts文件中主机对应的ip
4000
为192.168.238.128
但是我安装虚拟机的时候,virtual network editor (虚拟网络编辑器)中类型为Host-only的VMnet1 定义的子网IP为192.168.89.0,与192.168.238.128中的网段有冲突,
因此更改为192.168.89.128,问题解决。
因此当吧虚拟机中的项目拷贝到另一个电脑中时,由于虚拟机的安装环境更改需要更改以下虚拟网络IP
相关文章推荐
- Linux下监听程序TNS-12543错误解决方法
- Linux下监听程序TNS-12543错误解决方法
- 改变oracle数据库的ip地址引起的“ORA-12541:TNS:无监听程序”错误解决方法
- Oracle 10g中“ERROR-ORA-12514 TNS 监听程序当前无法识别连接描述符中请求的服务”错误的解决方法
- 错误“ORA-12520: TNS: 监听程序无法找到需要的服务器类型的可用句柄”解决方法
- ORA-12505: TNS: 监听程序当前无法识别连接描述符中所给出的SID等错误解决方法
- 错误“ORA-12520: TNS: 监听程序无法找到需要的服务器类型的可用句柄”解决方法
- ORA-12505: TNS: 监听程序当前无法识别连接描述符中所给出的SID等错误解决方法
- 改变oracle数据库的ip地址引起的“ORA-12541:TNS:无监听程序”错误解决方法
- ORA-12505: TNS: 监听程序当前无法识别连接描述符中所给出的SID等错误解决方法
- IP地址变化后Oracle 10g引起的“ORA-12541:TNS:无监听程序”错误解决方法
- 安装oracle 11G-----( ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务)的解决方法
- ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序--解决方法之一
- oracle 11g ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务解决方法
- ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法【转载】
- ORA-12514 TNS :监听程序当前无法识别连接描述符中请求服务 的解决方法
- ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序--解决方法
- Oracle中“无监听程序”和“协议适配器错误”的解决方法
- ORA-12514 TNS 监听程序当前无法识别连接描述符中请求的服务 的解决方法
- Oracle创建数据库时出现监听未启动或数据库服务未注册到该监听程序错误解决方法