前言
前幾天導入一個大容量dmp數據文件,報一個600錯誤,咨詢網上的解決方法,按上面的處理一圈也沒有整好,最后咨詢組里一個大神,出現此錯誤 思路是,單個數據文件大小最大為32G,分析數據庫后解決如下:
錯誤情況:
解決方法:在保證我們導入sql無誤的情況下,檢查當前用戶所在表空間:
select username,default_tablespace from user_users;
可以看到,我們當前使用的是users表空間,下面檢查當前使用表空間的使用率:
select total.tablespace_name,round(total.MB, 2) as Total_MB,round(total.MB - free.MB, 2) as Used_MB,round((1 - free.MB / total.MB) * 100, 2) as Used_Pctfrom (select tablespace_name, sum(bytes) / 1024 / 1024 as MBfrom dba_free_spacegroup by tablespace_name) free,(select tablespace_name, sum(bytes) / 1024 / 1024 as MBfrom dba_data_filesgroup by tablespace_name) totalwhere free.tablespace_name = total.tablespace_name;
在未給表空間加dbf文件前,表空間使用率接近99%,自此分析出為什么oracle/16073.html">oracle報600錯誤了,數據文件爆滿溢出,導入數據后會被回滾的,解決方式就是加dbf數據文件.
alter tablespace USERS add datafile 'H:/APP/16489/ORADATA/ORCL/USERS03.DBF' size 3G autoextend on;
了解到我導入的數據文件較大,直接加了兩個30G的dbf文件,以備后患
alter tablespace USERS add datafile 'H:/APP/16489/ORADATA/ORCL/USERS05.DBF' size 30G autoextend on;
需要注意的是新增的dbf文件是會直接占用硬盤內存的,看大家需求創建新DBF,不要創建一個過大而又用不完的.
增加dbf文件后表空間足夠裝下我們的數據了,執行導入,無錯誤,導入成功。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。
|
新聞熱點
疑難解答