#查看表空间的空闲空间和已使用空间大小 select file_name,total_size,total_size-free_size USED_SIZE,free_size from (select file_id,file_name,bytes/1024/1024 TOTAL_SIZE from dba_data_files) F, (select file_id,sum(bytes)/1024/1024 FREE_SIZE FROM DBA_FREE_SPACE GROUP BY FILE_ID) E WHERE F.FILE_ID=E.FILE_ID; --- 删除损坏的数据文件,并将数据文件脱机并删除 alter database datafile ... offline for drop --- 移动同一个表空间的数据文件并改名 案例一:需要对每个数据文件执行恢复 1. alter tablespace users datafile offline; 2. 物理移动数据文件 3. alter tablespace users rename datafile '/opt/...users01.dbf' to '/disk/users01.dbf'; 4. recover datafile '/disk/users01.dbf'; 或者 recover datafile file_id; #需要查询users01.dbf对应的file_id 5. 将表空间联机 或者 案例二: 不需要对每个数据文件进行恢复 1. alter tablespace users offline; #所有数据文件全部离线 2. 物理移动数据文件 3. alter tablespace users rename datafile '/opt/...users01.dbf' to '/disk/users01.dbf'; 4. 将表空间联机 --- 以表空间为单位移动数据文件并改名 1. startup mount 2. 物理移动表空间 3. alter database rename file '/opt.../user01.dbf','/opt/.../example01.dbf' to '/disk/...user01.dbf','/disk/....example01.dbf' 4. alter database open; --- 删除空的数据文件,指该文件分配的所有区都被回收 1. alter tablespace users drop datafile '/opt/...user01.dbf'; 2. alter tablespace temp drop tempfile '/opt/...temp01.dbf'; 3. alter database tempfile '/opt/...temp01.dbf' drop; 注意: alter tablespace users offline; #表空间status信息会变成offline,不需要恢复,直接online alter tablespace users datafile offline; #表空间status信息还是read write,需要对数据文件进行recover,然后online