oracle-ORA-00942错误
Posted fanweisheng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle-ORA-00942错误相关的知识,希望对你有一定的参考价值。
表或视图不存在
原因:1.表或视图真的不存在 2.用户没有访问该表的权限。
ORA-01078: 处理系统参数失败
ORA-01438: value larger than specified precision allows for this column
ORA-01441: cannot decrease column length because some value is too big
ORA-01536: space quota exceeded for tablespace ‘ODS‘
ORA-01555: snapshot too old: rollback segment number 1 with name "_SYSSMU1$" too small
对ORA-01555的精彩解释
1、在1点钟,有个用户A发出了select * from table1;此时不管将来table1怎么变化,正确的结果
应该是用户A会看到在1点钟这个时刻的内容。这个是没有疑问的。
2、在1点30分,有个用户B执行了update命令,更新了table1表中的第4000万行的这条记录,这时,
用户A的全表扫描还没有到达第4000万条。毫无疑问,这个时候,第4000万行的这条记录是被写
到了回滚段里去了的,我假设是回滚段RBS1,如果用户A的全表扫描到达了第4000万行,是应该
会正确的从回滚段RBS1中读取出1点钟时刻的内容的。
3、这时,用户B将他刚才做的操作commit了,但是这时,系统仍然可以给用户A提供正确的数据,
因为那第4000万行记录的内容仍然还在回滚段RBS1里,系统可以根据SCN来到回滚段里找到正确的
数据,但是大家注意到,这时记录在RBS1里的第4000万行记录已经发生了一点重大的改变:就是
这个第4000万行的在回滚段RBS1里的数据有可能随时被覆盖掉,因为这条记录已经被提交了!!!
4、由于用户A的查询时间漫长,而业务在一直不断的进行,RBS1回滚段在被多个不同的tracnsaction
使用着,这个回滚段里的extent循环到了第4000万行数据所在的extent,由于这条记录已经被标记
提交了,所以这个extent是可以被其他transaction覆盖掉的!
5、到了1点40分,用户A的查询终于到了第4000万行,而这时已经出现了第4条说的情况,需要到回滚
段RBS1去找数据,但是已经被覆盖掉了,于是01555就出现了。
以上只是我当初在看OCP书的时候,对这个01555的一个简单的理解,并同时可以理解书上说的解决
ora-01555的问题的办法,当然可能还有其他的情况导致,我只举个例子。
ORA-08180: no snapshot found based on specified time
ORA-27101: shared memory realm does not exist
解决方法
修改注册表中的键值LocalMechine\software\oracle\home0\ORACLE_SID为你的SID
ID 0
MSHELP_TOOLS D:\oracle\ora90\MSHELP
NLS_LANG SIMPLIFIED CHINESE_CHINA.ZHS16GBK
ORA_HNDSS_AUTOSTART TRUE
ORA_HNDSS_PFILE D:\oracle\ora90\database\initHNDSS.ora
ORA_HNDSS_SHUTDOWN TRUE
ORA_HNDSS_SHUTDOWN_TIMEOUT 30
ORA_HNDSS_SHUTDOWNTYPE i
ORACLE_BASE D:\oracle
ORACLE_BUNDLE_NAME Enterprise
ORACLE_GROUP_NAME Oracle - OraHome90
ORACLE_HOME D:\oracle\ora90
ORACLE_HOME_KEY Software\ORACLE\HOME0
ORACLE_HOME_NAME OraHome90
ORACLE_SID hndss
RDBMS_ARCHIVE D:\oracle\ora90\DATABASE\ARCHIVE
RDBMS_CONTROL D:\oracle\ora90\DATABASE
SQLPATH D:\oracle\ora90\db
描述
刚在professionall装了9i,在sql*plus用system/manager连接能正常使用。
过了一会儿再用就报错如下:
SQL*Plus: Release 9.0.1.0.1 - Production on 星期三 2月 18 08:32:40 2004
(c) Copyright 2001 Oracle Corporation.??All rights reserved.
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
记得当时重启后系统提示虚拟页面不足,重新分配了c和d盘的虚拟页面,难道这也有问题???
原因:
原因是在同一个服务器上,使用了不同的ORACLE_HOME
首先检查文件initSID.ora和listener.ora等,看ORACLE_SID和ORACLE_HOME设置的正确与否,ORACLE8.1.7是否用该参数值启动并运行。在UNIX环境中,字母大小写的意义是不一样的,这一点应当注意。如果ORACLE_HOME指向8.1.7版,而数据库是用8.1.6版或8.1.5版建立的,也可能出现该种错误信息。
在WINDOWS系统中,如果修改了机器名或IP地址,ORACLE8.1.7启动时使用的机器名或IP地址就不是真正的机器名或IP地址,就会出现该种错误。可以查看目录database下的文件oradim.log,根据内容确定原因
以上是关于oracle-ORA-00942错误的主要内容,如果未能解决你的问题,请参考以下文章
远程服务器返回错误: 404错误远程服务器返回错误:500错误 HttpWebResponse远程服务器返回错误:(404500) 错误。
Pig 安装错误:错误 pig.Main:错误 2998:未处理的内部错误