您的位置:首頁技術文章
文章詳情頁

Oracle Imp時候 表空間暴漲一例

瀏覽:11日期:2023-11-11 18:26:53

幫助一個同事導數據。

數據來源 Oracle10g R2 exp程序。

數據大小11g。

創建用戶,創建表空間,添加數據文件32G,然后使用imp開始導數據。

下面開始描述現象。

之前已經知道該表位分區表,但是imp進程開始幾個小時之內都是沒有導入進度的,只看到導入字體之后就沒有界面輸出了。但是數據文件在不停的上漲。

最后30G的數據文件全部寫滿,報錯空間不足退出。

于是很詫異這個事情。納悶兒了數十分鐘,想著先把表結構看看,且忽略索引,約束等看看有啥門道。

搞這個之前,在三思的群里面說了一句這個事情,結果問題得到求證,三思同學很是高調的說,他就用幾KB的dmp文件,就可以使用我1T的表空間。

吼吼,于是,使用imp indexfile的語法,把建表語句看看,原來見表語句中,如下語句非常多,

PCTFREE 10

PCTUSED 0 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 45646512313245 FREELISTS 1

FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

然后這個表本身還是個分區表,啊,我的天,怪不得建表的時候,導數據之前就要運行良久,原來建表語句要申請那么多空間。

知道問題原因,搞定就Easy了,先把index文件內容修改下,所有的initial都改成0,讓他使用默認值,然后執行建表語句,再使用ignore的方式調用imp。如下:

導入表定義

imp dq/dq@ora111 file=conficker.dmp full=y buffer=1024000 indexfile=index

導入數據

imp dq/dq@ora111 file=conficker.dmp full=y buffer=1024000 ignore=y FEEDBACK=500

順利完成操作。。。。。。

標簽: Oracle 數據庫
相關文章:
国产综合久久一区二区三区