--== 表空间维护 1 ---- 查询表空间的数据文件的大小 select * from dba_data_files d order by d.tablespace_name,d.file_name; select d.tablespace_name,d.file_name ,d.bytes/(1024*1024) as "size MB" ,d.status from dba_data_files d order by d.tablespace_name ; ---- ===== 场景一 ---- [步骤1]创建表空间 roothomesTS CREATE TABLESPACE roothomesTS DATAFILE 'D:\oracle\oradata\ora1812\roothomesTS.dbf' SIZE 100M;
---- [步骤2]修改表空间的数据文件的大小 ALTER DATABASE DATAFILE 'D:\oracle\oradata\ora1812\roothomesTS.dbf' RESIZE 102M; ---- [步骤3]为表空间添加数据文件 ALTER TABLESPACE roothomesTS ADD DATAFILE 'D:\oracle\oradata\ora1812\roothomesTS2.dbf' SIZE 20M; ALTER TABLESPACE roothomesTS ADD DATAFILE 'D:\oracle\oradata\ora1812\roothomesTS3.dbf' SIZE 20M; ---- [步骤4]删除数据文件 ALTER DATABASE DATAFILE 'D:\oracle\oradata\ora1812\roothomesTS2.dbf' OFFLINE DROP; /* 该命令不会删除数据文件,只是将数据文件的状态更改为recover。 offline drop命令相当于把一个数据文件至于离线状态,并且需要恢复,并非删除数据文件。 数据文件的相关信息还会存在数据字典和控制文件中。 */ -- select d.tablespace_name,d.file_name ,d.file_id ,d.bytes/(1024*1024) as "size MB" ,d.status -- from dba_data_files d where d.tablespace_name = 'ROOTHOMESTS'; --- 查询结果 -- 1 ROOTHOMESTS D:\ORACLE\ORADATA\ORA1812\ROOTHOMESTS.DBF 14 102 AVAILABLE -- 2 ROOTHOMESTS D:\ORACLE\ORADATA\ORA1812\ROOTHOMESTS2.DBF 15 AVAILABLE -- 3 ROOTHOMESTS D:\ORACLE\ORADATA\ORA1812\ROOTHOMESTS3.DBF 16 20 AVAILABLE
---- [步骤4-2]把数据文件 offline drop后,进行恢复(mount 模式下面对数据文件进行恢复) /* SQL> shutdown abort; ORACLE 例程已经关闭。 SQL> startup mount; ORACLE 例程已经启动。 Total System Global Area 126950220 bytes Fixed Size 453452 bytes Variable Size 109051904 bytes Database Buffers 16777216 bytes Redo Buffers 667648 bytes 数据库装载完毕。 SQL> recover datafile 'd:\oracle\oradata\ora1812\roothomesTS2.dbf' ; 完成介质恢复。 SQL> alter database datafile 'd:\oracle\oradata\ora1812\roothomesTS2.dbf' online; 数据库已更改。 SQL> alter database open; 数据库已更改。 SQL> */
---- [步骤5]删除表空间和对应的数据文件 DROP TABLESPACE roothomesTS INCLUDING CONTENTS AND DATAFILES; --- 再次查询 ROOTHOMESTS 表空间被删除掉了; 数据文件也全部删掉;
|