oracle的数据文件管理

oracle 12c 支持在数据文件联机状态时对其进行重命名和移动。旧版本需要先把数据文件脱机才能进行重命名和移动。

重命名以及移动数据文件

例如我们新建一个表空间,包含两个数据文件 mvdata.dbf 和 mvdata2.dbf ,然后将其更名为 syl_mvdata.dbf :

SQL> create tablespace mvdata datafile 'mvdata.dbf' size 5m;
SQL> alter tablespace mvdata add datafile 'mvdata2.dbf' size 5m;
SQL> alter database move datafile 'mvdata.dbf' to 'syl_mvdata.dbf';

重命名语句会报错 ORA-00439: feature not enabled: online move datafile,是因为标准版不支持在线改名,企业版没有此问题。

移动数据文件跟重命名类似,只是将 to 后面的字符串改成你的目的位置即可。

可以使用如下命令查看当前有的数据文件:

SQL> select name from v$datafile;

删除数据文件

比如我们删除 mvdata2.dbf 这个数据文件:

SQL> alter tablespace mvdata drop datafile 'mvdata2.dbf';

再次查看数据文件会发现已经删除。

注意:删除数据文件是有一些先决条件的:

  • 数据文件中不存在数据。
  • 数据文件不是表空间中唯一或第一个数据文件。
  • 数据文件或数据文件所在的表空间不是只读状态。

发表评论

后才能评论