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


    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”)
  • 相关阅读:
    javascript变量作用域、匿名函数及闭包
    SenchaTouch2中navigation下嵌入list无事件响应问题解决
    Fedora17安装SSH
    25个必须记住的SSH命令
    linux下安装hadoop
    Fedora17实现图形界面root登录
    virtualBox利用已创建的vdi文件克隆快速创建新虚拟机
    printf/scanf格式修饰符
    windowsServer2003服务器上修改ftp端口号
    为ckeditor添加行距的功能(转载)
  • 原文地址:https://www.cnblogs.com/isrc/p/2775926.html
Copyright © 2020-2023  润新知