Configuring Listener:LISTENERListenerException:Could not save listener:TNS-044115:File i/o error
Configuring Listener:LISTENERListenerException:Could not save listener:TNS-044115:File i/o error
suse10SP2版本安装oracle11g(11.1.0.6.0),安装过程中未报错,顺利执行完毕。
安装完成后创建监听时,有如下错误信息
Oracle Net Services Configuration :
Configuring Listener:LISTENER
ListenerException:Could not save listener:TNS-044115:File i/o error
cause by : java.io.FileNotFoundException: /opt/oracle/product/10.2/db_1/network/admin/listener.ora(No such file or directory)
Listener configuration complete.
监听创建完成后,执行lsnrctl status;查看监听启动正常。
创建数据库实例后,同样可以正常访问。
现在的问题是我去$PRACLE_HOME/network/admin/路径下,无法找到listener.ora、 tnsnames.ora文件
在定位问题的过程中我发现,使用oracle用户登录后执行env | grep ORA后显示的信息是
ORA_CRS_HOME=/opt/oracle/product/10gR2/crs
ORA_ASM_HOME=/opt/oracle/product/10gR2/asm
ORACLE_SID=ora11g
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/11g
使用root用户登录执行env | grep ORA后显示的信息是
ORA_CRS_HOME=/opt/oracle/product/10gR2/crs
ORA_ASM_HOME=/opt/oracle/product/10gR2/asm
ORACLE_SID=orcl
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/10.2/db_1
我的理解是因为root用户中获取的ORACLE_HOME路径不正确才导致我上面创建监听时无法写入正确路径的文件。
其中我在安装oracle时,环境变量配置的是
ORACLE_SID=ora11g
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/11g
请高手指点root用户中的ORACLE_SID、ORACLE_BASE、ORACLE_HOME是从何处来的,为何与我设置的环境变量不一样
还有,ORA_CRS_HOME和ORA_ASM_HOME是做什么用的,应该如何设置呢。
这台机器以前有人用过吧,环境变量不配置是不会自己增加的。
ORA_CRS_HOME和ORA_ASM_HOME 是集群用的环境变量
Solution
Set the $TNS_ADMIN environment variable to point to the $ORACLE_HOME/Network/Admin directory or any other existing directory where you are able to write a file.