Oracle Imp時候 表空間暴漲一例
幫助一個同事導數據。
數據來源 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
順利完成操作。。。。。。
相關文章:
1. oracle觸發器介紹2. Oracle故障處理Rman-06207&Rman-06214的方法3. SQLServer 表的索引碎片查詢和處理4. Install oracle client on Solaris5. 在SQL Server中顯示表結構的腳本片段6. Oracle 處理json數據的方法7. SQL語句如何實現超簡單的多表查詢8. 利用oracle高級復制功能實現數據同步的問題9. ORACLE ORA-01653: unable to extend table 的錯誤處理方案(oracle報錯)10. 恢復從 Access 2000、 Access 2002 或 Access 2003 中數據庫刪除表的方法
