Oracle 10g and PRO*C related issues and solutions
August 21, 2008 Thursday 11:21
Learning from Oracle 10g and Pro*c has been taking place recently.
A number of problems have been encountered:
It is now listed here and has been prepared for his use.
[Note: My Linux version is Rhel 5,oracle version is 10g]
1. In the process of Oracle 10g installation Preparation: Lack of libxp.so.6 dependencies
Internet search a lot of articles, but are not very good solution
I figured out a way to do it myself:
Locate the libxp-1.0.0-8.i386.rpm in the RHEL5 installation disk and install it to resolve。
2. Xlib:connection to ": 0.0" during Oracle 10g installation refused by server
Xlib:connection to ': 0.0 ' refused by server
XLIB:NO protocol specified
Error:can ' t open display:: 0.0
Log in as root, run in shell
[email protected] ~]# xhost local:oracle
Non-network local connections being added to access control list
You can then run the X program with Oracle identity.
In man Xhost, there was this passage
A complete name has the syntax ' Family:name ' where the families is 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
The local one is used to solve the problem of accessing X for different users of the same machine.
3.proc:error while loading shared libraries:libclntsh.so.10.1:
Cannot open shared object File:no such file or directory
Workaround:
Add in/etc/profile
Ld_library_path= $ORACLE _home/lib:/usr/lib:/usr/local/lib;
Export Ld_library_path
Then you can use Source/etc/profile to take effect.
4. pcc-s-02201 Error
Error when compiling with proc (proc iname=test.pc)
There are many error messages:
pcc-s-02201, encountered the symbol "<eof>;" when expecting one of the following ....
There are two workarounds when pcc-s-02201 errors occur:
1) Upgrading the compiler
2) Set Parse=none
Corrected command: Proc iname=test.pc parse=none
Result generated test.c file
5. Error:sqlca.h:no such file or directory
When executing gcc-o test test.c:
Test.c:152:19:error:sqlca.h:no such file or directory
Sqlca.h under the $oracle_home/precomp/public/ .
Corrected command: Gcc-o test test.c- I. $ORACLE _home/precomp/public
6, undefined reference to ' SQLCXT '
The following error occurred while executing the command in 5:
TEST.C: (. text+0x5e5): Undefined reference to ' SQLCXT '
Need to use $oracle_home/lib/libclntsh.so
Therefore, it is necessary to add- l $ORACLE _home/lib-l clntsh
The corrected command is:
Gcc-o test test.c-i/home/oracle/oracle/product/10.2.0/db_1/precomp/public-l $ORACLE _home/lib-l clntsh
ok! to compile successfully!
But it's too much trouble to write.
7. Error while loading shared libraries: $ORACLE _home/lib/libnnz10.so:
Cannot restore segment prot after Reloc:permission denied
Error when executing program (./test):
Error while loading shared libraries: $ORACLE _home/lib/libnnz10.so:
Cannot restore segment prot after Reloc:permission denied
Related articles:
Topic:
Some Linux distributions with SELinux enabled could prevent IDL from running under the default security context. This techtip are a workaround for cr#41937
Discussion:
Newer Linux distributions has the 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 is problematic to th IRD party programs. If you receive the error message "Cannot restore segment prot after reloc:permission denied" when launching IDL and then you R SELinux Configuration is preventing IDL from launching.
To rectify the 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.
The solution I use: chcon-t texrel_shlib_t $ORACLE _home/lib/*.so
Racle 10g and PRO*C related problems and solutions 2010-10-29 10:01 Read (195)
Share
1. In the process of Oracle 10g installation Preparation: lack of libxp.so.6 dependencies
Internet search a lot of articles, but are not very good solution
I figured out a way to do it myself:
Locate the libxp-1.0.0-8.i386.rpm in the RHEL5 installation disk and install it to resolve。
2. Xlib:connection to ": 0.0" during Oracle 10g installation refused by server
Xlib:connection to ': 0.0 ' refused by server
XLIB:NO protocol specified
Error: Can ' t open display:: 0.0
Log in as root, run in shell
[email protected] ~]# xhost local:oracle
Non-network local connections being added to access control list
You can then run the X program with Oracle identity.
In man Xhost, there was this passage
A complete name has the syntax ' Family:name ' where the families is 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
The local one is used to solve the problem of accessing X for different users of the same machine.
3.proc: error while loading shared libraries: libclntsh.so.10.1:
Cannot open shared object File:no such file or directory
Workaround:
Add in/etc/profile
Ld_library_path= $ORACLE _home/lib:/usr/lib:/usr/local/lib;
Export Ld_library_path
Then you can use Source/etc/profile to take effect.
4. pcc-s-02201 Error
Error when compiling with proc (proc iname=test.pc)
There are many error messages:
pcc-s-02201, encountered the symbol "<eof>;" when expecting one of the following ....
There are two workarounds when pcc-s-02201 errors occur:
1) Upgrading the compiler
2) Set Parse=none
Corrected command: Proc iname=test.pc parse=none
Result generated test.c file
5.error: Sqlca.h:no such file or directory
When executing gcc-o test test.c:
TEST.C:152:19:Error: Sqlca.h:no such file or directory
Sqlca.h under the $oracle_home/precomp/public/ .
Corrected command: Gcc-o test test.c- I. $ORACLE _home/precomp/public
6, undefined reference to ' SQLCXT '
The following error occurred while executing the command in 5:
TEST.C: (. text+0x5e5): Undefined reference to ' SQLCXT '
Need to use $oracle_home/lib/libclntsh.so
Therefore, it is necessary to add- l $ORACLE _home/lib-l clntsh
The corrected command is:
Gcc-o test test.c-i/home/oracle/oracle/product/10.2.0/db_1/precomp/public-l $ORACLE _home/lib-l clntsh
ok! to compile successfully!
But it's too much trouble to write.
7.Error while loading shared libraries: $ORACLE _home/lib/ Libnnz10.so:
Cannot restore segment prot after Reloc:permission denied
Error when executing program (./test):
Error whileLoadingsharedLibraries:$ORACLE _home/lib/libnnz10.so:
Cannot restore segment prot after Reloc:permission denied
Related articles:
Topic:
Some Linux distributions with SELinux enabled could prevent IDL from running under the default security context. This techtip are a workaround for cr#41937
Discussion:
Newer Linux distributions has the 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 assharedLibraryLoading, that can is problematic to third party programs. If you receive theErrorMessage "Cannot restore segment prot after reloc:permission denied" when launching IDL, then your SELinux configuration I s preventing IDL from launching.
To rectify the 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.
The solution I use: 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
The reason for this error is that Linux chooses "enforcing" mode
Just turn "enforcing" mode to "Permissive" mode.
1. First, run as root
2. Type "Getenforce", hit [Enter]
======================
Getenforce (returns "enforcing")
3. Type "Setenforce 0"
======================
Getenforce (returns "Permissive")
If you want to turn "Permissive" mode to "enforcing" mode,
Can play Setenforce 1
======================
Getenforce (returns "enforcing")
Original address: http://blog.csdn.net/cinience/article/details/6208315
[Turn]oracle 10g and pro*c related problems and solutions (GO)