Oracle Imp時(shí)候 表空間暴漲一例
幫助一個(gè)同事導(dǎo)數(shù)據(jù)。
數(shù)據(jù)來(lái)源 Oracle10g R2 exp程序。
數(shù)據(jù)大小11g。
創(chuàng)建用戶(hù),創(chuàng)建表空間,添加數(shù)據(jù)文件32G,然后使用imp開(kāi)始導(dǎo)數(shù)據(jù)。
下面開(kāi)始描述現(xiàn)象。
之前已經(jīng)知道該表位分區(qū)表,但是imp進(jìn)程開(kāi)始幾個(gè)小時(shí)之內(nèi)都是沒(méi)有導(dǎo)入進(jìn)度的,只看到導(dǎo)入字體之后就沒(méi)有界面輸出了。但是數(shù)據(jù)文件在不停的上漲。
最后30G的數(shù)據(jù)文件全部寫(xiě)滿(mǎn),報(bào)錯(cuò)空間不足退出。
于是很詫異這個(gè)事情。納悶兒了數(shù)十分鐘,想著先把表結(jié)構(gòu)看看,且忽略索引,約束等看看有啥門(mén)道。
搞這個(gè)之前,在三思的群里面說(shuō)了一句這個(gè)事情,結(jié)果問(wèn)題得到求證,三思同學(xué)很是高調(diào)的說(shuō),他就用幾KB的dmp文件,就可以使用我1T的表空間。
吼吼,于是,使用imp indexfile的語(yǔ)法,把建表語(yǔ)句看看,原來(lái)見(jiàn)表語(yǔ)句中,如下語(yǔ)句非常多,
PCTFREE 10
PCTUSED 0 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 45646512313245 FREELISTS 1
FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
然后這個(gè)表本身還是個(gè)分區(qū)表,啊,我的天,怪不得建表的時(shí)候,導(dǎo)數(shù)據(jù)之前就要運(yùn)行良久,原來(lái)建表語(yǔ)句要申請(qǐng)那么多空間。
知道問(wèn)題原因,搞定就Easy了,先把index文件內(nèi)容修改下,所有的initial都改成0,讓他使用默認(rèn)值,然后執(zhí)行建表語(yǔ)句,再使用ignore的方式調(diào)用imp。如下:
導(dǎo)入表定義
imp dq/dq@ora111 file=conficker.dmp full=y buffer=1024000 indexfile=index
導(dǎo)入數(shù)據(jù)
imp dq/dq@ora111 file=conficker.dmp full=y buffer=1024000 ignore=y FEEDBACK=500
順利完成操作。。。。。。
相關(guān)文章:
1. Microsoft Office Access創(chuàng)建一個(gè)表的子表的方法2. Spark臨時(shí)表tempView的注冊(cè)/使用/注銷(xiāo)/注意事項(xiàng)(推薦)3. SQLite教程(六):表達(dá)式詳解4. Microsoft Office Access創(chuàng)建分組報(bào)表的方法5. ORACLE9i 表分析腳本6. Windows10系統(tǒng)中Oracle完全卸載正確步驟7. 教你快速掌握如何返回SQL Server列表8. MySQL分區(qū)表和分桶表的操作詳解9. MySQL如何插入Emoji表情10. mysql查詢(xún)表是否被鎖的方法
