《學習Oracle從這裡開始》之解決錯誤篇

陳洪光發表於2014-08-07

想把自己以往工作中遇到的問題和解決辦法寫下來,留作紀念:


問題一: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部落格 ” ,連結:http://blog.itpub.net/25357621/viewspace-1246940/,如需轉載,請註明出處,否則將追究法律責任。

相關文章