ITPub博客

首页 > 数据库 > Oracle > 《学习Oracle从这里开始》之解决错误篇

《学习Oracle从这里开始》之解决错误篇

Oracle 作者:dbasdk 时间:2014-08-08 16:22:32 0 删除 编辑

想把自己以往工作中遇到的问题和解决办法写下来,留作纪念:


问题一:ORA-00031
        问题描述:在执行以下语句时,报的错误,标记要删去的会话,但会话kill不掉:
             alter system kill session 'sid,serial#';
        解决办法:
             1、执行查询,将所有状态为KILLED的锁:
                 select a.spid,b.sid,b.serial#,b.username from v$process a,v$session b where a.addr=b.paddr and b.status='KILLED';
             2、在服务器端执行orakill:
                 cmd==>orakill sid spid

问题二:ORA-00372
        问题描述:数据无法写入。
        解决办法:
             1、查询当前为Readonly的表空间:
                select a.TS#,a.ENABLED,a.NAME,b.NAME tablespacename from v$datafile a,v$tablespace b where a.ts#=b.ts# and a.ENABLED = 'READ ONLY';
             2、在服务器端以sysdba登录(具体方法参见我的博客:http://blog.itpub.net/25357621/viewspace-1246635/),执行下面的命令:
                alter tablespace tablespacename read wirte;

问题三:查看执行计划时为:'PLAN_TABLE' is old version
        解决办法:
             1、explain plan for select * from tablename;
             2、select * from table(dbms_xplan.display);
                如果不行,继续下面的步骤
             3、drop table plan_table;
             4、@D:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlxplan.sql
             5、执行第一步和第二步,至此问题一般都解决了。

问题四:ORA-22812
        解决办法:直接在报错的SQL语句上添加hint即可:
              select /*+ nested_table_get_refs */ from tablename;


2014-08-08 14:35 补充:

问题五:ORA-28000  the account is locked
       解决办法:以sysdba登录执行:alter user user_name account unlock;
       模拟账户被锁现象:
       1、conn /as sysdba
       2、alter profile default limit failed_login_attempts 3;
       3、连续登录失败三次,如:conn aa/bb;
       4、conn /as sysdba
       5、alter user jd account unlock;
       6、解决办法:alter profile default limit failed_login_attempts unlimited;


2015-04-08 11:26补充:
问题六:ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
       解决办法::以sysdba登录
        SQL> startup force
        ORACLE 例程已经启动。
        Total System Global Area  612368384 bytes
         Fixed Size                  1250428 bytes
         Variable Size             163580804 bytes
         Database Buffers          440401920 bytes
         Redo Buffers                7135232 bytes
         数据库装载完毕。
         ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
         ORA-01110: 数据文件 7: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\VCIND.DBF'
         SQL> alter database datafile 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\VCIND.DBF' offline drop;
         数据库已更改。
         SQL> startup force
         ORACLE 例程已经启动。
         Total System Global Area  612368384 bytes
         Fixed Size                  1250428 bytes
         Variable Size             163580804 bytes
         Database Buffers          440401920 bytes
         Redo Buffers                7135232 bytes
         数据库装载完毕。
         数据库已经打开。
         SQL> drop tablespace VCIND including contents;
         表空间已删除。
         SQL>

自己在工作中也遇到了各种各样很多的问题,本来想把它写下来,留作纪念,在写的时候发现以往自己解决完问题后根本就没做记录,今天就先暂时写这么多,以后再遇到问题,再慢慢补充。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29734436/viewspace-1247971/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-07-02

  • 博文量
    490
  • 访问量
    1388122