在linux下安装Oracle数据库时
(1)在实际操作中运行sqlplus出现了错误,大致如下:
sqlplus / as sysdba
sqlplus: error while loading shared libraries: /u01/app/oracle/product/11.1.0/db_1/lib/libnnz11.so: cannot restore segment prot after reloc: Permission denied
在查找了很多资料后发现网上也有很多人遇到了这个问题,原来是SELinux在作怪,我采用的解决办法是禁止掉SELinux:
更改/etc/sysconfig/selinux 文件的内容为 SELINUX=disabled,然后重启服务器。
好像这个办法不是很好,也有说的解决办法是使用chcon 命令
示例:chcon -t texrel_shlib_t /usr/local/rsi/idl_6.1/bin/bin.linux.x86/*.so
(2)另外我在启动Listener时也报错
TNS-12555: TNS:permission denied
后来发现是oracle用户就无法进入/var/tmp/.oracle文件夹,方法很简单,执行:chmod 777 /var/tmp/.oracle 之后就ok了。
(3)还有,我在启动EM控制台的时候又遇到了错误:Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name
设置了这个变量后(运行export ORACLE_UNQNAME=xxxx实例名)后,再启动EM控制台,又出现了新的错误:
OC4J Configuration issue. /u01/app/oracle/product/11.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_xxxx not found.没有这个文件?去查了一下,确实是没有这样一个文件存在,怎么办呢?其实很简单,运行:
emca -config dbcontrol db
根据向导重新配置一下就可以了。