0%

Oracle rename数据文件

1
2
set pagesize 999;
set linesize 999;

查看表空间和表空间的文件

1
select tablespace_name,file_name from dba_data_files;

表空间离线

1
alter tablespace TMSCW_D_STAND offline;

把物理文件复制到新的位置

1
host cp /oracledata/tmscw/tmscw_d_stand01.ora /volumes/data/oradata/tmscw_d_stand01.ora

更换物理地址

1
alter tablespace TMSCW_D_STAND rename datafile '/oracledata/tmscw/tmscw_d_stand01.ora' to '/volumes/data/oradata/tmscw_d_stand01.ora';

表空间在线

1
alter tablespace TMSCW_D_STAND online;

删除原来的文件

1
host rm /oracledata/tmscw/tmscw_d_stand01.ora

如果报下面的错

1
2
3
ERROR at line 1:
ORA-01113: file 9 needs media recovery
ORA-01110: data file 9: '/volumes/data/oradata/tmscw_d_stand01.ora'

则需要执行下面的语句:

1
recover datafile '/volumes/data/oradata/tmscw_d_stand01.ora';

再查看磁盘空间,发现磁盘的使用率并没有变。

为什么呢?

虽然删除了文件,oracle没有关闭,oracle 并没有释放物理文件的句柄,空间并没真正的释放。

如果需要真正的释放空间,还需要oracle 重新启动。

临时表空间不能offline

1
2
3
4
5
6
7
8
9
shutdown immediate;

startup mount;

host cp /oracledata/tmscw/tmscw_t_stand01.ora /volumes/data/oradata/tmscw_t_stand01.ora

alter database rename tempfile '/oracledata/tmscw/tmscw_t_stand01.ora' to '/volumes/data/oradata/tmscw_t_stand01.ora';

alter database open;
-------------    本文结束  感谢您的阅读    -------------
请作者一杯咖啡。