前言
前幾天導(dǎo)入一個(gè)大容量dmp數(shù)據(jù)文件,報(bào)一個(gè)600錯(cuò)誤,咨詢網(wǎng)上的解決方法,按上面的處理一圈也沒有整好,最后咨詢組里一個(gè)大神,出現(xiàn)此錯(cuò)誤 思路是,單個(gè)數(shù)據(jù)文件大小最大為32G,分析數(shù)據(jù)庫(kù)后解決如下:
錯(cuò)誤情況:
![](/d/20211018/6bb5ef8a25028517feae407e17d5307c.gif)
解決方法:在保證我們導(dǎo)入sql無誤的情況下,檢查當(dāng)前用戶所在表空間:
select username,default_tablespace from user_users;
![](/d/20211018/d4f551a9de38c1abe2e9a6426441de29.gif)
可以看到,我們當(dāng)前使用的是users表空間,下面檢查當(dāng)前使用表空間的使用率:
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報(bào)600錯(cuò)誤了,數(shù)據(jù)文件爆滿溢出,導(dǎo)入數(shù)據(jù)后會(huì)被回滾的,解決方式就是加dbf數(shù)據(jù)文件.
alter tablespace USERS add datafile 'H:\APP\16489\ORADATA\ORCL\USERS03.DBF' size 3G autoextend on;
了解到我導(dǎo)入的數(shù)據(jù)文件較大,直接加了兩個(gè)30G的dbf文件,以備后患
alter tablespace USERS add datafile 'H:\APP\16489\ORADATA\ORCL\USERS05.DBF' size 30G autoextend on;
需要注意的是新增的dbf文件是會(huì)直接占用硬盤內(nèi)存的,看大家需求創(chuàng)建新DBF,不要?jiǎng)?chuàng)建一個(gè)過大而又用不完的.
![](/d/20211018/b524e45c05547edb6602ba99cabfb514.gif)
增加dbf文件后表空間足夠裝下我們的數(shù)據(jù)了,執(zhí)行導(dǎo)入,無錯(cuò)誤,導(dǎo)入成功。
![](/d/20211018/a2321aa34ea7d0a4a67e6dd1eb895c19.gif)
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
您可能感興趣的文章:- oracle報(bào)錯(cuò)(ORA-00600)問題處理
- ORACLE出現(xiàn)錯(cuò)誤1033和錯(cuò)誤ORA-00600的解決方法
- oracle數(shù)據(jù)庫(kù)導(dǎo)出和oracle導(dǎo)入數(shù)據(jù)的二種方法(oracle導(dǎo)入導(dǎo)出數(shù)據(jù))
- Oracle 數(shù)據(jù)庫(kù)導(dǎo)出(exp)導(dǎo)入(imp)說明
- oracle數(shù)據(jù)庫(kù)導(dǎo)入導(dǎo)出命令使用方法
- LINUX下Oracle數(shù)據(jù)導(dǎo)入導(dǎo)出的方法詳解
- Oracle 使用TOAD實(shí)現(xiàn)導(dǎo)入導(dǎo)出Excel數(shù)據(jù)