先補充知識:
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.對...