Oracle使用和开发过程中常见错误

来源:互联网 发布:1024最新 知乎 编辑:程序博客网 时间:2024/05/01 16:08

Oracle使用和开发过程中常见错误

(1) PowerDesigner 生成的脚本不能直接运行;

    否则出现错误:ORA-00942: 表或试图不存在


http://www.cnblogs.com/chinafine/articles/1847011.html


(2) ORA-00904 invalid identifier 
    这个错误是因为 字段名写错了,或者是在创建表的时候,创建最后一个字段的时候也加了逗号。


http://heisetoufa.iteye.com/blog/344306


(3) ORA-01722 无效数字或者
     ORA-01722: invalid number”的原因分析


http://271788203.iteye.com/blog/653945


(4) ORA-00001: 违反唯一约束条件


(5) ORA-12526: TNS: 监听程序: 所有适用例程都处于受限模式(连接数据库时出现该错误)


这是因为将数据库切换到限制模式了,相关命令为:
SQL> conn sys/zkl @zkl as sysdba
SQL> alter system enable restricted session;


解决办法是修改为正常模式(即退出限制模式)
[oracle@gd47 oracle]$export ORACLE_SID=zkl
[oracle@gd47 oracle]$sqlplus /nolog
SQL> conn / as sysdba
SQL> alter system disable restricted session


(6) 修改Server端字符集时出现错误:ORA-12712: new character set must be a superset of old character set


这是因为Oracle数据库字符集更改时默认要求新字符集时旧字符集的超集,否则出现该错误,解决办法是:


ALTER DATABASE character set INTERNAL_USE ZHS16GBK;


(7) 安装完Oracle, 使用sqlplus,lsnrctl等,出现如下错误:
[oracle@vm01 oracle]$ lsnrctl
lsnrctl: error while loading shared libraries: /opt/oracle_11g_R2_x64/product/11.2.0.1.0/db_1/lib/libclntsh.so.11.1: cannot restore segment prot after reloc: Permission denied


网上查了一下,原因是selinux的问题,selinux的设置太过严格导致的。解决的办法是在root用户下,修改/etc/selinux/config 文件,
把 SELINUX=enforcing 改成 SELINUX=disabled。保存关闭,重启机器就可以了。
另外还有一个暂时关闭的方法,就是 /usr/sbin/setenforce 0 。
参考:http://blog.csdn.net/taolinke/article/details/6629462


(8) 非oracle用户执行OCCI程序时,出现错误 Exception: Code - 1804, Message - Error while trying to retrieve text for error ORA-01804
解决:
执行OCCI程序时,必须事先设置ORACLE_HOME环境变量,按如下方式运行即可:
export ORACLE_BASE=/sdb1/oracle/11gR2_database_X64
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.1.0/db_1


./test















原创粉丝点击