Oracle修改表空間大小

2021-07-15 08:25:03 字數 1513 閱讀 2226

問題描述

在向orale資料庫匯入資料的時候報 ora-01658: 無法為表空間 ***中的段建立 initial 區錯誤。

這是由於表空間對應的資料檔案中資料量超過oracle在建立表空間的時候資料檔案初始化大小值,當資料量達到這個值,再向資料庫中匯入資料就會報錯。

解決方案

解決辦法就是擴充套件表空間,可以選擇將表容量擴大,比如擴充套件到5000mb,或者當表空間不夠時每次自動增加一定的容量,如每次自增200m。

--檢視表空間大小

select file_name as 資料檔案,tablespace_name as 表空間名稱,autoextensible as 自動擴充套件,status as 狀態,maxbytes as 可擴充套件最大值,user_bytes as 已使用大小,increment_by as 自動擴充套件增量 from dba_data_files

--擴充套件空間,將資料檔案擴大至5000mb

alter

database datafile 'd:\database\test.dbf' resize 5000m;

--自動增長,表空間不足時增加200mb,最大擴充套件5000mb

alter

database datafile 'd:\database\test.dbf' autoextend on

next

200m maxsize 5000m;

--擴充套件無限大空間

alter

database datafile 'd:\database\test.dbf' autoextend on maxsize unlimited;

所以將maxsize設定為unlimited也並非能無限擴充套件,還受限於區塊大小,即blocksize大小,如一般blocksize預設8k,資料檔案大小最大也只能擴充套件到32gb。當然可以設定bigfile(大檔案表空間),8k的blocksize表空間檔案理論上最大可以擴充套件32tb,但是實際上受作業系統的檔案系統限制。使用大檔案表空間(bigfile tablespace)可以大幅度增強oracle資料庫的儲存能力,簡化資料庫管理工作。與此同時,付出的代價是增加備份與恢復的時間。如果是中小型專案,資料量在tb級以內,建議使用小檔案表空間。乙個小檔案表空間(smallfile tablespace)最多可以包含1022個資料檔案(datafile)。詳細可看oracle物理檔案限制大小**physical database limits

新增表空間資料檔案sql指令碼如下:

--增加資料檔案,testtablespace是這裡測試使用的表空間名稱

alter tablespace testtablespace add datafile 'd:\database\test2.dbf'

size

1024m;

oracle11gr2physical database limits

Oracle修改表空間大小

使用oracle10g建立資料庫後,向資料庫中匯入了部分資料,第二天繼續向資料庫中匯入資料表時發生錯誤 org.hibernate.exception.genericjdbcexception ora 00604 遞迴 sql 級別 1 出現錯誤 ora 04031 無法分配 256 位元組的共享記...

Oracle修改表空間大小

oracle表空間限制,導致無法繼續匯入資料的原因。如果在建立資料庫時沒有設定,oracle 預設的表空間大小為400m,當資料庫中資料量達到這個值,再向資料庫中匯入資料就會報錯。解決方法是擴充套件表空間。可以選擇將表容量擴大,比如擴充套件到5g,或者當表空間不夠時每次自動增加一定的容量,如每次自增...

修改表空間大小

修改表空間大小有兩種方法 一是修改當前資料檔案大小 alter database tempfile data hybzdb tempfile temp.263.792523499 resize 3g 說明 data hybzdb tempfile temp.263.792523499是乙個資料檔案的...