ORACLE的sqlcxt,Oracle 10g的常见错误解决办法

1、在ORACLE 10g 安装准备的过程中:缺少libXp.so.6依赖

上网搜过不少文章,但是都不是很好的解决

我自己摸索出一个解决方法:

在RHEL5的安装盘中找到libXp-1.0.0-8.i386.rpm,进行安装后,便可解决。

2、在ORACLE 10g 安装过程中Xlib: connection to ":0.0" refused by server

Xlib: connection to ":0.0" refused by server

Xlib: No protocol specified

Error: Can't open display: :0.0

以root用户登陆,在shell中运行

[ root@brady ~]# xhost local:oracle

non-network local connections being added to access control list

然后oracle身份就可以运行X程序了。

man xhost中有这样一段

A complete name has the syntax ‘‘family:name’’ where the families are as follows:

inet      Internet host (IPv4)

inet6     Internet host (IPv6)

dnet      DECnet host

nis       Secure RPC network name

krb       Kerberos V5 principal

local     contains only one name, the empty string

si        Server Interpreted

其中local那个是用来解决同一台机器的不同用户访问X的问题的。

3.proc: error while loading shared libraries: libclntsh.so.10.1:

cannot open shared object file: No such file or directory

解决方法:

在/etc/profile中添加

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib;

export LD_LIBRARY_PATH

然后可以用source /etc/profile 生效一下

4、PCC-S-02201错误

在用proc进行编译的时候(proc iname=test.pc) 出错

错误信息有很多:

PCC-S-02201, Encountered the symbol ";" when expecting one of the following....

发生 PCC-S-02201 错误时有两种解决办法:

1)升级编译器

2)设置 parse=none

更正后的命令:proc iname=test.pc parse=none

结果生成test.c文件

5、error: sqlca.h: No such file or directory

执行gcc -o test test.c时:

test.c:152:19: error: sqlca.h: No such file or directory

sqlca.h在$ORACLE_HOME/precomp/public/下

更正后的命令:gcc -o test test.c -I $ORACLE_HOME/precomp/public

6、undefined reference to `sqlcxt'

执行5中的命令时出现错误如下:

test.c:(.text+0x5e5): undefined reference to `sqlcxt'

需要用到$ORACLE_HOME/lib/libclntsh.so

故需加上 -L $ORACLE_HOME/lib -l clntsh

更正后的命令为:

gcc -o test test.c -I /home/oracle/oracle/product/10.2.0/db_1/precomp/public -L $ORACLE_HOME/lib -l clntsh

OK!至此编译成功!

但是这样写太麻烦

7、error while loading shared libraries: $ORACLE_HOME/lib/libnnz10.so:cannot restore segment prot after reloc: Permission denied

执行程序(./test)时提示错误:

error while loading shared libraries: $ORACLE_HOME/lib/libnnz10.so:

cannot restore segment prot after reloc: Permission denied

相关的文章:

Topic:

Some Linux distributions with SELinux enabled may prevent IDL from running under the default security context. This TechTip is a workaround for CR#41937

Discussion:

Newer Linux distributions have enabled new kernel security extensions from the SELinux project at the NSA. These extensions allow finer-grained control over system security. However, SELinux also changes some default system behaviors, such as shared library loading, that can be problematic to third party programs.If you receive the error message "cannot restore segment prot after reloc: Permission denied" when launching IDL, then your SELinux configuration is preventing IDL from launching.

To rectify this issue, you can either:

(1)Change the default security context for IDL by issuing the command:

chcon -t texrel_shlib_t /usr/local/rsi/idl_6.1/bin/bin.linux.x86/*.so

(2)Disabling SELinux altogether by setting the line

SELINUX=disabled

in your /etc/sysconfig/selinux file.

我使用的解决办法:chcon -t texrel_shlib_t $ORACLE_HOME/lib/*.so

8.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

出现这句error的原因是因为Linux选择"Enforcing" mode

只要将"Enforcing" mode 转为 "Permissive" mode

1.首先,要run as root

2.Type "getenforce"  ,hit [Enter]

======================

getenforce       (returns “Enforcing”)

3.Type "setenforce 0"

======================

getenforce       (returns “Permissive”)

如果想将 "Permissive" mode 转为 "Enforcing" mode

可以打setenforce 1

======================

getenforce       (returns “Enforcing”)

9.TNS-01201: Listener cannot find executable /home/oracle/product/10.2.0/db_1/

将vmvare由6.5升级到7.8之后,在启动oracle的时候就报这个错误,在网上找了好久答案,但始终找不到满意的答案,只能一个一个的试,最后发现如果删除listener.ora之后,尽然就可以了,但却不知道个中原因。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值