oracle 資料庫表空間不足 解決方法

2021-09-25 02:25:18 字數 1180 閱讀 4477

先補充知識:

1.查詢某個表 占用大小

select segment_name as tablename,bytes b, bytes/1024 kb,bytes/2014/1024 mb from user_segments where segment_name = upper('tablename')      //tablename 為實際的表名,大小寫都可以試一試

2.查詢表空間 大小

select * from dba_data_files   //固定格式, 不需要改任何內容

擴容表空間:

1.允許已存在的資料檔案自動增長 (已測試)

alter database datafile '資料檔案位置' autoextend on next 每次增長的數值 maxsize 最大可以增長到的數值。

sql> alter database datafile '/zhuo/test1.dbf' autoextend on next 5m maxsize 150m;

其中 『/zhuo/test1.dbf』  就是查詢表空間 的位置

2.手工改變已經存在資料檔案的大小

alter database datafile 『資料檔案位置』 resize 數值 『這裡的數值是指想要將資料檔案增加到的大小』

sql> alter database datafile '/zhuo/test1.dbf' resize 100m;

3.給表空間增加資料檔案

alter tablespace 表空間 add datafile '想要增加的資料檔案的位址' size 50m;

sql> alter tablespace test1 add datafile '/zhuo/test2.file' size 50m;

其中  test2.file 是新建的檔案 原檔案 test1.dbf 不動

4.給表空間增加資料檔案,並且允許資料檔案自動增長

alter tablespace  表空間 add datafile '想要增加的資料檔案的位址' size 資料檔案大小  autoextend on next 下次增長的大小   maxsize 最大允許增加到的大小

sql> alter tablespace test1 add datafile '/zhu/test3.file' size  50m autoextend on next 5m maxsize 100m;

針對oracle資料庫表空間不足的問題

select b.file id 檔案id號,b.tablespace name 表空間名,b.bytes 1024 1024 m 位元組數,b.bytes sum nvl a.bytes,0 1024 1024 m 已使用,sum nvl a.bytes,0 1024 1024 m 剩餘空間,10...

oracle表空間不足

由於oracle的rowid使用22位來代表資料塊號,因此oracle表空間資料檔案每個資料檔案最多只能包含2 22個資料塊。也因此資料庫表空間的資料檔案不是無限增長的,例如 在資料塊為8k的情況下,單個資料檔案的最大容量為8k 2 22 32g 同理,資料塊為2k,資料檔案最大約8g 資料塊為32...

Oracle表空間不足

出現的問題 ora 01659 無法分配超出 4 的 minextents 在表空間 sde 中 n sde.zd 1.對於小檔案的解決方法 alter database datafile c sde.dbf autoextend on next 100m maxsize unlimited 2.對...