ORA-01658: 無法為表空間space中的段建立 INITIAL 區

pwz1688發表於2014-08-26

剛剛執行imp匯入同事發來的dmp檔案,檢視日誌資訊,其中一些表匯入時報ORA-01658: 無法為表空間 H2_BUSI 中的段建立 INITIAL 區,感覺資料量不是很大,仔細檢視初始化指令碼,發現在建立表空間時限制資料檔案maxsize為2G,實際資料量已超過2G了,因此後面的表無法再匯入資料了。
-- H2_BUSI表空間初始化語句

點選(此處)摺疊或開啟

  1. CREATE SMALLFILE TABLESPACE H2_BUSI
  2. datafile \'E:\\H2DATA\\H2_BUSI.DBF\' size 200M autoextend on next 10M maxsize 2048m
  3. LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;


--檢視錶空間使用情況

點選(此處)摺疊或開啟

  1. SELECT segment_type, owner, SUM(bytes) / 1024 / 1024
  2.   FROM dba_segments
  3.  WHERE tablespace_name = 'H2_BUSI'
  4.  GROUP BY segment_type, owner;

上面語句查詢結果如下:
ORA-01658: 無法為表空間space中的段建立 INITIAL 區

注意:這是擴充套件了表空間後,表空間使用情況(已超過2G)

--匯入dmp時具體的錯誤資訊如下:
. . 正在匯入表                "U_CUSTOM_PAY_C"
IMP-00058: 遇到 ORACLE 錯誤 1658
ORA-01658: 無法為表空間 H2_BUSI 中的段建立 INITIAL 區

解決方法:可給表空間H2_BUSI增加資料檔案,也可修改原來datafile的maxsize值為unlimited。如下示:
方法一:增加資料檔案

點選(此處)摺疊或開啟

  1. alter tablespace h2_busi add datafile \'E:\\H2DATA\\H2_BUSI_1.DBF\' size 500M autoextend on next 10M maxsize unlimited;
方法二:修改資料檔案大小為自增且無限大


點選(此處)摺疊或開啟

  1. ALTER DATABASE datafile \'E:\\H2DATA\\H2_BUSI.DBF\' autoextend ON NEXT 10m maxsize unlimited;
注意:若要修改多個資料檔案,上面語句中,可用逗號隔開資料檔名即可。
--檢視資料檔案實際佔用大小及最大值


點選(此處)摺疊或開啟

  1. SELECT file_name,
  2.        tablespace_name,
  3.        bytes / 1024 / 1024 bytes,
  4.        maxbytes / 1024 / 1024 maxbytes
  5.   FROM dba_data_files;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21251711/viewspace-1258009/,如需轉載,請註明出處,否則將追究法律責任。

相關文章