Oracle数据文件重命名,最常用的命令。我们在运维数据库时,经常会遇到以下几种场景,
场景一,收到数据库服务器磁盘空间预警的报警,提示磁盘空间不足,这时发现数据库文件占用磁盘空间比较大,这时就需要添加新的磁盘,或者把数据库文件
迁移到磁盘空间充足的磁盘上。
场景二,添加数据库文件时,数据文件名字写错了。
场景三,数据库文件迁移到其他服务器或者数据库文件需要迁移到其他目录下。
这几种场景都会用到Oracle数据文件重命名,数据文件重命名,根据数据库是否归档,是否允许停机等等各种情况也分两种情况。
方法1:Alter tablespace data file rename
当数据库不允停止,并且数据库处于归档状态下,可以选择使用先将数据文件所在表空间置于offline状态,然后移动数据文件并重敏命名数据库文件,最后将表空间置于online状态。
step1. offline operation SQL> alter tablespace tbs_name offline; step2. move file in os command SQL> ! mv /u01/oradataold/testdata01.dbf /u02/oradatanew/testdata01.dbf; step3. rename operation SQL> alter tablespace userdata rename datafile '/u01/oradataold/testdata01.dbf' to '/u02/oradatanew/testdata01.dbf'; step4. reset online SQL> alter tablespace tbs_name online;
方法2:Alter Database data file rename
这种方法需要停止数据库,需要把数据库启动到mount状态下,在mount状态下进行操作。
step1. stop db SQL> shutdown immediate; step2. move file to new place SQL> ! mv '/u01/app/oracle/oradata/oldname.dbf' '/u01/app/oracle/oradata/newname.dbf'; step3. mount db SQL> startup mount; step4. rename datafile SQL> alter database rename file '/u01/app/oracle/oradata/oldname.dbf' to '/u01/app/oracle/oradata/newname.dbf'; step5. open db SQL> alter database open;