Oracle Imp時(shí)候 表空間暴漲一例
幫助一個(gè)同事導(dǎo)數(shù)據(jù)。
數(shù)據(jù)來源 Oracle10g R2 exp程序。
數(shù)據(jù)大小11g。
創(chuàng)建用戶,創(chuàng)建表空間,添加數(shù)據(jù)文件32G,然后使用imp開始導(dǎo)數(shù)據(jù)。
下面開始描述現(xiàn)象。
之前已經(jīng)知道該表位分區(qū)表,但是imp進(jìn)程開始幾個(gè)小時(shí)之內(nèi)都是沒有導(dǎo)入進(jìn)度的,只看到導(dǎo)入字體之后就沒有界面輸出了。但是數(shù)據(jù)文件在不停的上漲。
最后30G的數(shù)據(jù)文件全部寫滿,報(bào)錯(cuò)空間不足退出。
于是很詫異這個(gè)事情。納悶兒了數(shù)十分鐘,想著先把表結(jié)構(gòu)看看,且忽略索引,約束等看看有啥門道。
搞這個(gè)之前,在三思的群里面說了一句這個(gè)事情,結(jié)果問題得到求證,三思同學(xué)很是高調(diào)的說,他就用幾KB的dmp文件,就可以使用我1T的表空間。
吼吼,于是,使用imp indexfile的語(yǔ)法,把建表語(yǔ)句看看,原來見表語(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)行良久,原來建表語(yǔ)句要申請(qǐng)那么多空間。
知道問題原因,搞定就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. Oracle數(shù)據(jù)庫(kù)的兩種授權(quán)收費(fèi)方式詳解2. 關(guān)于Oracle的Dual表3. 輕松學(xué)習(xí)貫穿Oracle的25條基本知識(shí)4. SQL Server 如何將直接傳遞查詢作為表使用5. 數(shù)據(jù)庫(kù)Oracle9i的企業(yè)管理器簡(jiǎn)介6. html中select語(yǔ)句讀取mysql表中內(nèi)容7. Oracle的TNS-12502錯(cuò)誤原因及解決方法8. MySQL多表聯(lián)查的實(shí)現(xiàn)思路9. 學(xué)好Oracle的六條總結(jié)10. Oracle 9i 數(shù)據(jù)庫(kù)WITH查詢語(yǔ)法小議

網(wǎng)公網(wǎng)安備