1、自oracle安装及使用中出现的问题及解决系统默认选项值取自于: E:ProgramFilesora92precompadminpcscfg.cfgPCC-F-02101, 无法打开输入文件: E:precomp_main_nt_011204oracleprecompdemoprocsampLe.pc一种情况是你COMILE之前,没有保存解决办法是先保存另一种情况可能是你的PC文件可能不能用了,解决办法是删除重新生成除此之外有可能是你的PC文件放的位置不正确哈1、在ORACLE 10g 安装准备的过程中:缺少libXp.so.6依赖上网搜过不少文章,但是都不是很好的解决我自己摸索出一个解决方法
2、:在RHEL5的安装盘中找到libXp-1.0.0-8.i386.rpm,进行安装后,便可解决。2、在ORACLE 10g 安装过程中Xlib: connection to :0.0 refused by serverXlib: connection to :0.0 refused by serverXlib: No protocol specifiedError: Cant open display: :0.0以root用户登陆,在shell中运行rootbrady # xhost local:oraclenon-network local connections being added t
3、o 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 hostnis Secure RPC network namekrb Kerberos V5 principallocal contains only one name, the empty stringsi
4、 Server Interpreted其中local那个是用来解决同一台机器的不同用户访问X的问题的。3.proc: error while loading shared libraries: libclntsh.so.10.1: cannot open shared object file: No such directory解决方法:在/etc/profile中添加LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib;export LD_LIBRARY_PATH然后可以用source /etc/profile 生效一下改后如果也不
5、行,你可能没有权限执行libclntsh.so.10.1,请ls -l 看一下执行权限吧(有时root也不能执行它的哦)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: sq
6、lca.h: No such directory执行gcc -o test test.c时:test.c:152:19: error: sqlca.h: No such directorysqlca.h在$ORACLE_HOME/precomp/public/下更正后的命令:gcc -o test test.c -I $ORACLE_HOME/precomp/public6、undefined reference to sqlcxt执行5中的命令时出现错误如下:test.c:(.text+0x5e5): undefined reference to sqlcxt需要用到$ORACLE_HOME
7、/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 clntshOK!至此编译成功!但是这样写太麻烦7、error while loading shared libraries: $ORACLE_HOME/lib/libnnz10.so: cannot restore segment prot after reloc: Permis
8、sion 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 worka
9、round for CR#41937Discussion: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
10、 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 fo
11、r 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 lineSELINUX=disabledin your /etc/sysconfig/selinux file.我使用的解决办法:chcon -t texrel_shlib_t $ORACLE_HOME/lib/*.soPCC-S-02015错误1、配置好 $ORACLE_HOME/precomp/admin
12、/pcscfg.cfg 文件 根据你的系统不同,大概像这样Error at line 33, column 10 in #include .1PCC-S-02015, unable to open include at line 34, column 11 in # include .1PCC-S-02015, unable to open include file但是在 RHEL4上都是好的,检查后发现 /u01/app/oracle/product/10.2.0/db_1/precomp/admin/pcscfg.cfg 文件中指定的搜索路径有问题,oraclerzgh $ less /u
13、01/app/oracle/product/10.2.0/db_1/precomp/admin/pcscfg.cfgsys_include=(/ade/aime_rdbms_9819/oracle/precomp/public,/usr/include,/usr/lib/gcc-lib/i486-suse-linux/2.95.3/include,/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/include,/usr/lib/gcc-lib/i386-redhat-linux7/2.96/include)ltype=short/u01/app/oracle/
14、product/10.2.0/db_1/precomp/admin/pcscfg.cfg (END) 由于CentOS 5.5 升级后,gcc的版本已经到了 4.1.2,相关的头文件路径也发生了变化,所以这里配置的头文件是找不到的。按照上面的报错,逐个解决,添加头文件:handsomerzgh $ find /usr -name stddef.h -print/usr/src/kernels/2.6.18-238.19.1.el5-i686/include/linux/stddef.h/usr/src/kernels/2.6.18-194.el5-i686/include/linux/stdd
15、ef.h/usr/include/linux/stddef.h/usr/lib/syslinux/com32/include/stddef.h/usr/lib/syslinux/com32/include/bitsize/stddef.hfind: /usr/lib/audit: Permission denied/usr/lib/gcc/i386-redhat-linux/4.1.1/include/stddef.h/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h/usr/lib/bcc/include/stddef.h选择使用 4.
16、1.1的头文件目录,添加到 /u01/app/oracle/product/10.2.0/db_1/precomp/admin/pcscfg.cfg 中,重新进行编译,不再报错了。同题sys_include=(/usr/lib/gcclib/i386redhatlinux/3.2.2/include,/u01/oracle/product/8.1.7/precomp/public,/usr/include,/usr/include/sys)include=(/u01/oracle/product/8.1.7/precomp/public)include=/u01/oracle/product/
17、8.1.7/precomp/hdrsinclude=/u01/oracle/product/8.1.7/tpcc2x_2/srcinclude=/u01/oracle/product/8.1.7/precomp/precomp/includeinclude=/u01/oracle/product/8.1.7/precomp/oracore/includeinclude=/u01/oracle/product/8.1.7/precomp/oracore/publicinclude=/u01/oracle/product/8.1.7/precomp/rdbms/includeinclude=/u0
18、1/oracle/product/8.1.7/precomp/rdbms/publicinclude=/u01/oracle/product/8.1.7/precomp/rdbms/demoinclude=/u01/oracle/product/8.1.7/precomp/nlsrtl/includeinclude=/u01/oracle/product/8.1.7/precomp/nlsrtl/publicinclude=/u01/oracle/product/8.1.7/precomp/network_src/includeinclude=/u01/oracle/product/8.1.7
19、/precomp/network_src/publicinclude=/u01/oracle/product/8.1.7/precomp/network/includeinclude=/u01/oracle/product/8.1.7/precomp/network/publicinclude=/u01/oracle/product/8.1.7/precomp/plsql/publicltype=short 2、预编译的时候加上 parse=none 选项 proc iname=* parse=none3、编译的时候要链接oracle的库文件, 加选项 -lclntsh 下面是我参照别的网友的
20、一个makefile文件, INCLDIR= -I. -I/u01/oracle/product/8.1.7/precomp/public -I/u01/oracle/product/8.1.7/rdbms/public -I/u01/oracle/product/8.1.7/rdbms/demo -I/u01/oracle/product/8.1.7/plsql/public -I/u01/oracle/product/8.1.7/network/public DFLAGS= -DPRECOMP -DLINUX -D_GNU_SOURCE -DSLTS_ENABLE -DSLMXMX_ENA
21、BLE -D_REENTRANT -DNS_THREADSCFLAGS= -O3LIBPATH= -L/u01/oracle/product/8.1.7/lib/LIBS=-lclntsh cat /u01/oracle/product/8.1.7/lib/sysliblist -ldl -lmmyproc:myproc.pc proc parse=no iname=myproc.pc include=$(ORACLE_HOME)/precomp/public gcc -o $ $.c -I$(ORACLE_HOME)/precomp/public -L$(ORACLE_HOME)/lib -
22、lclntsh -lclient8 $(LIBPATH) $(LIBS)clean: rm *.lis myproc.c myproc摘要0000090: error while loading shared libraries: libmysqlclient.so.15: cannot restore segment prot after reloc: Permission denied说明error while loading shared libraries: libmysqlclient.so.15: cannot restore segment prot after reloc: P
23、ermission deniedkitsoft 2009-03-02 02:10 错误原因在于selinux禁用了访问此共享库解决办法: 关闭selinux1、编辑/etc/selinux/config文件,找到SELINUX=enforcing,改为SELINUX=enforcing2、编辑/etc/sysconfig/selinux文件,找到SELINUX=enforcing,改为SELINUX=enforcing3、重启电脑rootlocalhost # more /etc/sysconfig/selinux# This the state of SELinux on the syste
24、m.# SELINUX= can take one of these three values:# enforcing - SELinux security policy is enforced.# permissive - SELinux prints warnings instead of enforcing.# disabled - SELinux is fully disabled.SELINUX=enforcing# SELINUXTYPE= type of policy in use. Possible values are:# targeted - Only targeted n
25、etwork daemons are protected.# strict - Full SELinux protection.SELINUXTYPE=targeted看来是selinux的缘故,关掉selinux试试!修改SELINUX=disabled,然后重启系统才能生效,或者执行:setenforce 0,立即生效。果然,关闭selinux后,sqlplus可以正常登陆了。其实在上面出现Permission denied时,也可以执行#chcon -t texrel_shlib_t $ORACLE_HOME/lib/*.soerror while loading shared libr
26、aries:/opt/IBM/db2/V8.1/lib/libdb2trcapi.so.1: cannot restore segment protafter reloc: Permission denied1.环境Linux localhost.localdomain 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:21 EST 2007 i686 i686 i386 GNU/Linux2.解决方案sudo chcon -t texrel_shlib_t /opt/IBM/db2/V8.1/lib/libdb2trcapi.so.1若有其他库文件则直接: sudo
27、chcon -t texrel_shlib_t /opt/IBM/db2/V8.1/lib/*.so3.若是还不行直接关闭SELinuxsetenforce Enforcing | Permissive | 1 | 0 setenforce 0 关闭不用重启.一下修改需要重启:编辑/etc/selinux/config,找到这段:# This the state of SELinux on the system.# SELINUX= can take one of these three values:# enforcing - SELinux security policy is enfor
28、ced.# permissive - SELinux prints warnings instead of enforcing.# disabled - SELinux is fully disabled.SELINUX=enforcing把 SELINUX=enforcing 注释掉:#SELINUX=enforcing ,然后新加一行为:SELINUX=disabled保存,关闭。 oracle-00955错误,我用select object_name,object_type from user_objects where object_name = upper( customers)查找
29、用到这个名称的对象,结果也是没有找到,建表的时候,00955提示名称或对象已经使用,可是明明没有用这个对象名的东西嘛,怎么办呢?我不想换表名,求高手解答ORA-00955: 名称已由现有对象使用ORA-06512: 在SZEMR.OUT_EMR, line 42ORA-06512: 在line 3View program sources of error stack?对我有用0丢个板砖0引用举报管理TOP回复次数:3tangren(老兵新手)等级:32#1楼 得分:0回复于:2011-06-21 08:51:21你每次都创建临时表ca_emr,oracle不会自动删除临时表,所以报名称已被使用
30、的错误!oracle的临时表的表不是临时的,跟SQLServer有重大的区别!数据是临时的会自动随事务或会话结束而清除,并且不同的会话之间是不能看见对方的数据。因此:不要在存储过程中建立临时表,先在外面建立好临时表,然后在存储过程中处理数据就行了。CREATE GLOBAL TEMPORARY TABLE ca_emr( MRID varchar(20), dia_date varchar(30), flag varchar(1) , doctor varchar(5), iccardno varchar(20), MDESCRIPT varchar(4000), MHISDESCRIPT varchar(4000) , CHECKUP varchar(4000) , CHECKASS varchar(4000) , COURSEREC varchar(4000), admiss_times smallint , DIAGNOSECONTENT varchar(60), DIAGNOSERANGE nchar(2) ) on commit PRESERVE rows;对我有用0丢个板砖0引用举报管理TOP精华推荐:收集网易数
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1