Oracle修改表空間大小

2021-06-13 13:53:49 字數 1420 閱讀 5339

使用oracle10g建立資料庫後,向資料庫中匯入了部分資料,第二天繼續向資料庫中匯入資料表時發生錯誤:

org.hibernate.exception.genericjdbcexception: ora-00604: 遞迴 sql 級別 1 出現錯誤

ora-04031: 無法分配 256 位元組的共享記憶體 ("shared pool","unknown object","kkssp^2618","kglpn")

查了很多資料發現原來是oracle表空間限制,導致無法繼續匯入資料的原因。如果在建立資料庫時沒有設定,

oracle 預設的表空間大小為400m,當資料庫中資料量達到這個值,再向資料庫中匯入資料就會報錯。解決方法是

擴充套件表空間。可以選擇將表容量擴大,比如擴充套件到5g,或者當表空間不夠時每次自動增加一定的容量,如每次自增200m。

下面列出詳細過程:

1.通過sql plus 命令登入資料庫。

在命令列下輸入sqlplus 「登入使用者名稱/口令 as 登入型別」就可以登入,系統內建的使用者名稱常用的是sys,密碼是在安裝oracle過程中設定的密碼,清務必牢記,如果用sys帳戶登入,登入型別一定要是sysdba。

2.檢視各表空間分配情況。

select tablespace_name, sum(bytes) / 1024 / 1024  from dba_data_files  

group by tablespace_name;  

3.檢視各表空間空閒情況。

select tablespace_name, sum(bytes) / 1024 / 1024  from dba_free_space  group by tablespace_name;  

4.更改資料表大小(10g)

alter database datafile '/ora/oradata/radius/undo.dbf' resize 10240m;

5.設定表空間不足時自動增長

5.1檢視表空間是否自動增長

select file_name,tablespace_name,autoextensible from dba_data_files;

5.2 設定表空間自動增長

alter database datafile 'c:\smartdb01.ora' autoextend on;//開啟自動增長

alter database datafile 'c:\smartdb01.ora' autoextend on next 200m ;//每次自動增長200m

alter database datafile 'c:\smartdb01.ora' autoextend on next 200m maxsize 1024m;//每次自動增長200m,資料表最大不超過1g

Oracle修改表空間大小

問題描述 在向orale資料庫匯入資料的時候報 ora 01658 無法為表空間 中的段建立 initial 區錯誤。這是由於表空間對應的資料檔案中資料量超過oracle在建立表空間的時候資料檔案初始化大小值,當資料量達到這個值,再向資料庫中匯入資料就會報錯。解決方案 解決辦法就是擴充套件表空間,可...

Oracle修改表空間大小

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

修改表空間大小

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