zoukankan      html  css  js  c++  java
  • 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

           解决方法

                  修改注册表中的键值LocalMechinesoftwareoraclehome0ORACLE_SID为你的SID

                  ID                                       0

                  MSHELP_TOOLS                    D:oracleora90MSHELP

                  NLS_LANG                            SIMPLIFIED CHINESE_CHINA.ZHS16GBK

                  ORA_HNDSS_AUTOSTART       TRUE

                  ORA_HNDSS_PFILE                D:oracleora90databaseinitHNDSS.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:oracleora90

                  ORACLE_HOME_KEY              SoftwareORACLEHOME0

                  ORACLE_HOME_NAME            OraHome90

                  ORACLE_SID                         hndss

                  RDBMS_ARCHIVE                   D:oracleora90DATABASEARCHIVE

                  RDBMS_CONTROL                  D:oracleora90DATABASE

                  SQLPATH                             D:oracleora90db

           描述

                  刚在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,根据内容确定原因    

  • 相关阅读:
    IE浏览器下报错: strict 模式下不允许一个属性有多个定义
    Vue 做的项目在IE下面打开一片空白解决方法
    小程序如何动态修改标题navigationBarTitleText
    小程序-for循环遍历的使用
    vue项目-打印页面中指定区域的内容(亲测有效!)
    vue省市区三级联动(高仿京东)
    vue-父组件向子组件传值
    Sea.js 手册与文档
    angular之模块开发二
    angular之跨域
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11112582.html
Copyright © 2011-2022 走看看