(8.0.22)
https://dev.mysql.com/doc/refman/8.0/ja/innodb-system-tablespace.html
①file-per-table テーブルスペース
(innodb_file_per_table=1の場合)
→サイズ指定の拡張、縮小はできない
②システムテーブルスペース
(innodb_file_per_table=0の場合)
→サイズ指定の拡張、縮小はできない
③一般テーブルスペース
→サイズ指定の拡張、縮小はできない
(19c)
drop tablespace test including contents and datafiles;
create tablespace test datafile '/u01/app/oracle/oradata/ORCL/pdb1/test.dbf' size 10M autoextend off;
select
d.tablespace_name,
d.mbytes "total[MB]",
NVL(f.mbytes,0) "free[MB]",
d.mbytes - NVL(f.mbytes,0) "used[MB]",
(1 - (NVL(f.mbytes,0)/d.mbytes))*100 "used_percent"
from
(SELECT tablespace_name, (SUM(bytes)/(1024*1024)) mbytes
FROM dba_data_files GROUP BY tablespace_name) d
left outer join
(SELECT tablespace_name, (SUM(bytes)/(1024*1024)) mbytes
FROM dba_free_space GROUP BY tablespace_name) f
on d.tablespace_name=f.tablespace_name
;
サイズ指定の拡張
alter database datafile '/u01/app/oracle/oradata/ORCL/pdb1/test.dbf' resize 11M;
サイズ指定の縮小
alter database datafile '/u01/app/oracle/oradata/ORCL/pdb1/test.dbf' resize 10M;
格納されているデータ サイズ以下に縮小はできない
ファイル追加
alter tablespace test add datafile '/u01/app/oracle/oradata/ORCL/pdb1/test2.dbf' size 10M autoextend off;
ファイル削除
alter tablespace test drop datafile '/u01/app/oracle/oradata/ORCL/pdb1/test2.dbf';
(13)
サイズ指定の拡張、縮小はできない
(2019)
https://qiita.com/gigadein/items/1b558286cfc7695a0d95
select database_id,name,file_id,physical_name,size * 8/1024 mbyte
from sys.master_files
where database_id = DB_ID()
;
alter database test remove file tbs1_01;
alter database test remove filegroup tbs1;
alter database test add filegroup tbs1;
alter database test add file
(name = tbs1_01 ,filename = 'C:\test\tbs1_01.ndf'
) to filegroup tbs1
;
サイズ指定の拡張
use test
alter database test modify file (name = tbs1_01 , SIZE = 560MB);
サイズ指定の縮小
use test
dbcc shrinkfile('tbs1_01' , 550)
※target_sizeはMB単位
格納されているデータ サイズ以下に、ファイルを圧縮することはできません。