一个共享库的问题导致sqlplus用不了了的解决办法!

本文介绍了解决Oracle数据库启动时遇到的权限问题的方法。通过修改SELinux配置文件和使用chcon命令更改共享库的安全上下文,成功启动了SQL*Plus并连接到Oracle数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[root@localhost ~]# su - oracle

[oracle@localhost ~]$ sqlplus / as sysdba

sqlplus: error while loading shared libraries: /oracle/ora11gR2/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1: cannot restore segment prot after reloc: Permission denied

编辑/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的问题,可以考虑把它关闭。

接下来:

[root@localhost ~]# vi /etc/selinux/config

[root@localhost ~]# su - oracle

[oracle@localhost ~]$ sqlpls / as sysdba

-bash: sqlpls: command not found

[oracle@localhost ~]$ sqlplus / as sysdba

sqlplus: error while loading shared libraries: /oracle/ora11gR2/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1: cannot restore segment prot after reloc: Permission denied

[oracle@localhost ~]$ chcon -t texrel_shlib_t /oracle/ora11gR2/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1

[oracle@localhost ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Sat Dec 12 16:43:38 2009

Copyright (c) 1982, 2009, Oracle. All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值