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

[转]Oracle 10g及pro*c相关问题及解决方法(转)的更多相关文章

  1. 关于oracle监听程序的相关问题及解决方法

    1.查看监听程序是否启动 打开cmd窗口,cmd用管理员运行,否则无法执行启动与停止监听命令 lsnrctl status查看运行状态 lsnrctl stop停止监听 lsnrctl start启动 ...

  2. [转载]oracle 11g不能导出空表的多种解决方法

    原文地址:11g不能导出空表的多种解决方法">oracle 11g不能导出空表的多种解决方法作者:Anlin_Yang ORACLE 11g 用exp命令导出库文件备份时,发现只能导出 ...

  3. db2相关问题及解决方法

    DB2相关问题及解决方法: 一.DB2中的代码页(codepage)问题. DB2备份时发生过代码页错误的问题,修改代码页后备份正常,但创建数据库时又发生代码页的错误.这是DB2服务器使用的代码页配置 ...

  4. Oracle用户密码过期和用户被锁解决方法【转】

    [原因/触发因素] 确定是由于Oracle11g中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致. [影响和风险] 影响 密码过期后,业务进程连接数据库异 ...

  5. Oracle 11gR2 用exp无法导出空表解决方法

    Oracle 11gR2 用exp无法导出空表解决方法 在11gR2中有个新特性,当表无数据时,不分配segment以节省空间.Oracle 当然在运行export导出时,空表则无法导出,可是还是有解 ...

  6. android6.0SDK 删除HttpClient的相关类的解决方法

    本文转载自博客:http://blog.csdn.net/yangqingqo/article/details/48214865 android6.0SDK中删除HttpClient的相关类的解决方法 ...

  7. oracle select in超过1000条报错解决方法

    本博客介绍oracle select in超过1000条数据的解决方法,java框架是采用mybatis的,这可以说是一种比较常见的错误:select * from A where id in(... ...

  8. [转]Navicat for oracle 提示 cannot load oci dll,193的解决方法 orcale 11g

    Navicat for oracle 提示 cannot load oci dll,193的解决方法   内网有一台windows server 2012,安装了Navicat 11.1.8 连接or ...

  9. Orabbix无法获取Oracle DB Size和DB Files Size的解决方法

    Orabbix无法获取Oracle DB Size和DB Files Size的解决方法 这几天在研究Orabbix时发现在Zabbix中无法获取DB Size和DB Files Size的大小,后来 ...

随机推荐

  1. 【CG】CG标准函数库——数学函数

  2. unknown software exception

    打开cmd 输入下面代码,回车,等跑完即解决for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1

  3. Java EXCEL导入的两种方式JXL和POI

    Excel导入有两个方法:JXL 和POI 1.JXL解析Excel public class JxlReadExcel { /**     * JXL解析Excel     * @author Da ...

  4. Java基础——集合框架

    Java的集合框架是Java中很重要的一环,Java平台提供了一个全新的集合框架.“集合框架”主要由一组用来操作对象的接口组成.不同接口描述一组不同数据类型.Java平台的完整集合框架如下图所示: 上 ...

  5. SVN 记录冲突、忽略

    之前对SVN不熟悉,一碰到冲突就怕得要死,不知道应该怎么处理.今天必须要正视这个问题,研究一下. 一.冲突 SVN非常智能,它不像VSS那样,一个人在改的时候必须以独占的方式签出文件,导致其他人不能够 ...

  6. Handler 取不到session 解决办法

      Handler需要继承 Handler : IHttpHandler, IReadOnlySessionState, IRequiresSessionState

  7. WP8_定位新页面中listbox的某项

    即将跳转到页面A,在页面A中有一个listbox,在跳转的时候,接收参数,自动选中listbox中的某项 /// <summary> /// 接收参数,定位当前选中项 /// </s ...

  8. linux 编译,链接和加载

    1.   序 最近在折腾各种.so,碰到了一些问题,一开始对于很多错误也没有头绪,茫然不知所措.索性化了一天多时间将<<程序员的自我修养—链接.装载与库>>中部分内容略读了一遍 ...

  9. java中使用mysql

    executeUpdate:是最基础的数据库的更新.插入和删除操作.效率低下.executeQuery:是最基础的执行查询语句,同样也是效率低下.execute:兼具上面二者的功能但返回一个boole ...

  10. php mkdir函数

    if(!is_dir($targetPath)){mkdir($targetPath, 0700); } is_dir 判断目录是否存在 mkdir 不能创建多级目录