首页 技术 正文
技术 2022年11月17日
0 收藏 521 点赞 4,527 浏览 6418 个字

Oracle 10g及pro*c相关问题及解决方法

2008年08月21日 星期四 上午 11:21

最近一直在进行ORACLE 10g和PRO*C的学习。 
其中遇到了不少的问题: 
现列于此,已备他用。 
[注:我的linux版本是RHEL 5,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 “<eof>;” 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

racle 10g及pro*c相关问题及解决方法2010-10-29 10:01阅读(195)

分享

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 “<eof>;” 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”)

原文地址:http://blog.csdn.net/cinience/article/details/6208315

下一篇: afddaf
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,494
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295