今天安装了Oracle的内存数据库TimesTen可是使用时发现总是提示如下错误
[root@localhost
tt70]# ttstatus
/opt/TimesTen/tt70/bin/ttStatusCmd: error while loading
shared libraries: /opt/TimesTen/tt70/lib/libttco.so: cannot restore segment prot
after reloc: Permission
denied
分析后发现是由于reloc的问题,在Google查询后发现可以通过如下方法解决
编辑/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=enforcing
把
SELINUX=enforcing 注释掉:#SELINUX=enforcing
,然后新加一行为:
SELINUX=disabled
保存,关闭。
编辑/etc/sysconfig/selinux,找到:
#
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=enforcing
如果SELINUX已经是
SELINUX=disabled,那么就不用改了,否则就把SELINUX=enforcing
注释掉,新加一行:
SELINUX=disabled
保存,退出。
如果你碰到其他类似提示:
cannot restore
segment prot after reloc: Permission
denied
哪应该是SELinux的问题,可以考虑把它关闭。
-------------------------------------------------------------------------------------
郁闷的是.我把SELinux关闭后还是不行.于是到google上search.发现这个很有用.
在你保证SElinux
被disable后.还执行下
chcon -t texrel_shlib_t
如: chcon -t texrel_shlib_t
/路径/路径/名字.so (这个文件视具体执行文件.) 我这里应该是这样
chcon -t texrel_shlib_t
/opt/TimesTen/tt70/lib/libtten.so
chcon -t texrel_shlib_t
/opt/TimesTen/tt70/lib/libttutil.so
以上两步.已经解决了很多server的问题了.