前言
前幾天導入一個大容量dmp數(shù)據(jù)文件,報一個600錯誤,咨詢網(wǎng)上的解決方法,按上面的處理一圈也沒有整好,最后咨詢組里一個大神,出現(xiàn)此錯誤 思路是,單個數(shù)據(jù)文件大小最大為32G,分析數(shù)據(jù)庫后解決如下:
錯誤情況:
解決方法:在保證我們導入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_Pct
from (select tablespace_name, sum(bytes) / 1024 / 1024 as MB
from dba_free_space
group by tablespace_name) free,
(select tablespace_name, sum(bytes) / 1024 / 1024 as MB
from dba_data_files
group by tablespace_name) total
where free.tablespace_name = total.tablespace_name;
在未給表空間加dbf文件前,表空間使用率接近99%,自此分析出為什么oracle報600錯誤了,數(shù)據(jù)文件爆滿溢出,導入數(shù)據(jù)后會被回滾的,解決方式就是加dbf數(shù)據(jù)文件.
alter tablespace USERS add datafile 'H:\APP\16489\ORADATA\ORCL\USERS03.DBF' size 3G autoextend on;
了解到我導入的數(shù)據(jù)文件較大,直接加了兩個30G的dbf文件,以備后患
alter tablespace USERS add datafile 'H:\APP\16489\ORADATA\ORCL\USERS05.DBF' size 30G autoextend on;
需要注意的是新增的dbf文件是會直接占用硬盤內存的,看大家需求創(chuàng)建新DBF,不要創(chuàng)建一個過大而又用不完的.
增加dbf文件后表空間足夠裝下我們的數(shù)據(jù)了,執(zhí)行導入,無錯誤,導入成功。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
您可能感興趣的文章:- oracle報錯(ORA-00600)問題處理
- ORACLE出現(xiàn)錯誤1033和錯誤ORA-00600的解決方法
- oracle數(shù)據(jù)庫導出和oracle導入數(shù)據(jù)的二種方法(oracle導入導出數(shù)據(jù))
- Oracle 數(shù)據(jù)庫導出(exp)導入(imp)說明
- oracle數(shù)據(jù)庫導入導出命令使用方法
- LINUX下Oracle數(shù)據(jù)導入導出的方法詳解
- Oracle 使用TOAD實現(xiàn)導入導出Excel數(shù)據(jù)