在Oracle Database 12c中,可以在数据文件联机时重命名或移动它们,但在12c之前,这种操作是不允许的,必须先使数据文件脱机才能执行移动或重命名等维护操作。
实现数据文件的移动或重命名是通过以下命令实现的:
alter database move datafile

该命令为Oracle Database 12c中新增的指令。
比起之前的移动操作,它在很大程度上简化了有关数据文件的维护操作。

以下代码日志为在我的本地环境中的数据文件维护过程,以说明具体的运用方法。

重命名数据文件:

移动数据文件:
文件系统中创建新的路径。

SQL*Plus中移动:

如上所示:
关于“alter database move datafile”的语法如下:
alter database move datafile 源文件 to 目标文件 <参数>;

其中源文件可以通过数据文件的FILE_NAME,也可以指定数据文件的FILE_ID。
但对于目标文件,由于数据库中没有记录,所以不存在FILE_ID,故目标文件的指定只可能是目标地址的绝对路径(包含数据文件名)。
而关于参数,你有两个选择:KEEP或REUSE。
KEEP,移动数据文件的时候,可以保留原始文件。
REUSE,如果目标路径存在相同的文件,覆盖已有文件。

注意,如果某个数据文件正在被数据库使用,则Oracle不允许覆盖。
——————————————————————
Ending。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

隐藏
变装