2010-09-29 57 views
1

加載大型數據文件(〜10 gb)時出現ORA-00054 在前一個文件後加載新文件時發生錯誤。 任何想法,我可以解決這個問題?加載大型數據文件時ORA-00054

+1

你能解決這個問題嗎? – 2010-09-30 14:30:45

回答

0

也許這與表空間數據文件大小和表大小有關,因爲ORA-00054通常在運行ALTER語句時出現。

我不假裝在這裏。

0

檢查那些視圖。

  • DBA_BLOCKERS - 顯示控股正在等待上

  • DBA_DDL_LOCKS鎖不等待會話 - 顯示持有或被請求

  • DBA_DML_LOCKS所有DDL鎖 - 顯示持有或被要求的所有DML鎖

  • DBA_LOCK_INTERNAL - 每持有一個鎖或鎖存器或使用持有鎖的用戶名進行請求,顯示1行

  • DBA_LOCKS - 顯示所有鎖或鎖持有或被請求

  • DBA_WAITERS - 顯示所有會話等待,但不持有等待鎖

http://www.dba-oracle.com/t_ora_00054_locks.htm

0

你的表似乎被鎖定:ORA-00054 這可能是因爲Oracle驅動程序處理BLOB類型的方式(驅動程序鎖定記錄,打開流寫入二進制數據並需要「一些幫助」發佈記錄)。 我會嘗試下secuence:

  1. 加載的第一個文件
  2. COMMIT;
  3. 加載第二個文件
1

一種可能的情況。

這是直接路徑加載嗎?如果是這樣,請檢查v $ locked_object視圖,並查看加載過程中是否被某人鎖定。

select dbao.object_name 
    from v$locked_object vlo, 
     dba_objects dbao 
    where vlo.object_id = dbao.object_id 
    and dbao.object_name = 'Table that you are trying to load...' 

從Oracle文檔在http://download.oracle.com/docs/cd/B10500_01/server.920/a96524/c21dlins.htm

鎖定與 直接路徑INSERT

考慮在直接路徑INSERT,甲骨文 獲得在桌子上 獨佔鎖(或所有分區的 表的分區)。因此,用戶不能執行任何併發插入,更新, 或刪除表上的操作,並且 併發索引創建和構建 操作是不允許的。 然而,併發查詢支持 ,但查詢將返回 只有插入前 操作的信息。

+0

手動嘗試同時插入時,請刪除附加提示。這對我來說是一個可以很快糾正的錯誤。用戶需要考慮性能。如果直接插入單個分區,也可以執行併發直接路徑插入(帶附加提示)。 – YoYo 2016-02-16 17:47:02