oracle表空間擴容

2021-09-20 05:00:30 字數 1489 閱讀 9784

1、查詢當前表空間使用情況

col file_name format a50;

col space_name format a15;

select b.file_name file_name,b.tablespace_name space_name,

b.bytes/1024/1024 munm,(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 usedm,

substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) "use%"

from dba_free_space a,dba_data_files b

where a.file_id=b.file_id group by > b.tablespace_name,b.file_name,b.bytes

order by b.tablespace_name;

2、查詢各表占用空間情況,可以通過blocks塊數判斷空間占用情況

select table_name,tablespace_name,num_rows,blocks  from all_tables where owner='ipems_dev_ems' order by blocks asc;
3、結合業務需要可以對歷史資料表進行刪除,如果需要刪除的表較多,可通過拼接自動生成sql指令碼,也可利用notpad++工具手動拼接sql指令碼

alter table ipems_dev_ems.do_5c6b3296cd1e_1062 move tablespace ipems01;
4、增加資料檔案擴充套件表空間

5、直接增大現有資料檔案擴充套件表空間

alter database datafile 'e:\oracle\product\10.2.0\oradata\dbfirst\dits.dbf' resize 400m;
6、關於oracle資料檔案大小的說明:

64位os 和64位oracle,預設oracle表空間資料檔案用的blocksize是8k,表空間資料檔案最大是32g(最大blocks 2^22-1,單個資料檔案最大為最大blocks*block_size (2^22-1)*8/1024/1204/1024)。要擴大單個資料檔案的大小限制主要修改block_size的大小
uname -a 檢視linuxos的位數,sqlplus 登入oracle會顯示oracle的位數,show parameter block;在命令列視窗可以檢視資料塊大小;

計算機右鍵「屬性」檢視windows的位數;

32位os和32位oracle,預設oracle表空間datafile用的blocksize也是8k,表空間資料檔案最大也是32g。試了一下64g檔案,也沒有問題。

所以最終限制資料檔案大小的還是oracle資料庫,而不是作業系統。

Oracle 表空間擴容

查詢表空間的磁碟路徑sql select from dba data files 查詢表空間的大小sql m單位 select t.tablespace name,round sum bytes 1024 1024 0 ts size from dba tablespaces t,dba data ...

Oracle表空間擴容

oracle表空間擴容 首先檢視表空間所生的記憶體 select a.tablespace name,round a.total size total size mb round a.total size round b.free size,3 used size mb round b.free s...

oracle表空間擴容

oracle在使用中會發現,表空間不足的情況 以下介紹了如何1 查詢表空間使用率 剩餘量 2 如何擴充套件表空間容量 select tablespace name 表空間 to char round bytes 1024,2 99990.00 實有 to char round free 1024,2...