天天看點

oracle表空間怎麼擴容,Oracle表空間擴容

查詢表空間剩餘記憶體

SELECT TABLESPACE_NAME "表空間",

To_char(Round(BYTES / 1024, 2), '99990.00')

|| '' "實有",

To_char(Round(FREE / 1024, 2), '99990.00')

|| 'G' "現有",

To_char(Round(( BYTES - FREE ) / 1024, 2), '99990.00')

|| 'G' "使用",

To_char(Round(10000 * USED / BYTES) / 100, '99990.00')

|| '%' "比例"

FROM (SELECT A.TABLESPACE_NAME TABLESPACE_NAME,

Floor(A.BYTES / ( 1024 * 1024 )) BYTES,

Floor(B.FREE / ( 1024 * 1024 )) FREE,

Floor(( A.BYTES - B.FREE ) / ( 1024 * 1024 )) USED

FROM (SELECT TABLESPACE_NAME TABLESPACE_NAME,

Sum(BYTES) BYTES

FROM DBA_DATA_FILES

GROUP BY TABLESPACE_NAME) A,

(SELECT TABLESPACE_NAME TABLESPACE_NAME,

Sum(BYTES) FREE

FROM DBA_FREE_SPACE

GROUP BY TABLESPACE_NAME) B

WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME)

--WHERE TABLESPACE_NAME LIKE 'CDR%' --這一句用于指定表空間名稱

ORDER BY Floor(10000 * USED / BYTES) DESC;

查詢檔案路徑

select b.file_id  檔案ID,

b.tablespace_name  表空間,

b.file_name     實體檔案名,

b.bytes       總位元組數,

(b.bytes-sum(nvl(a.bytes,0)))   已使用,

sum(nvl(a.bytes,0))        剩餘

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.file_id,b.bytes

order by b.tablespace_name

表空間添加新資料檔案擴容

一個表檔案最大隻能32G

給MY_01表空間擴容(直接将資料檔案設定成最大)

ALTER TABLESPACE MY_01 ADD DATAFILE '/ibmp_data/oracle/oradata/hdyy_sjpt_ts/my_13.dbf’ size 30768M ;

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

ALTER TABLESPACE MY_01 ADD DATAFILE '/ibmp_data/oracle/oradata/hdyy_sjpt_ts/my_13.dbf’ size 30768M ;

允許已存在的資料檔案自動增長(每次100M)

ALTER DATABASE DATAFILE '/ibmp_data/oracle/oradata/hdyy_sjpt_ts/my_13.dbf’ AUTOEXTEND ON NEXT 100M MAXSIZE 20480M;