9.2.3 修改重做日志文件的存储位置和名称
在数据库的运行过程中,有时可能会根据需要修改重做日志文件的存储位置或名称。假如一个日志组的所有成员存储在同一个磁盘上,为了防止磁盘故障,有必要将这些成员存储在不同的磁盘上。
重做日志文件的信息是记录在控制文件中的,修改重做日志文件的名称或存储位置就意味着修改控制文件中的信息。在数据库中无法真正实现重做日志文件的移动或重命名,这一点需要在操作系统下完成。因此,要实现重做日志文件的移动或重命名,需要将数据库服务器切换到MOUNT状态,这时控制文件已经打开,而重做日志文件尚未打开。
首先,关闭数据库。注意应该以NORMAL方式关闭数据库,确保所有的用户事务正常结束。接下来需要在操作系统下将重做日志文件移动到新的存储位置,或者修改它的名称。然后将数据库服务器启动到MOUNT状态。修改重做日志文件的位置或名称的命令是ALTER DATABASE,在这条命令中通过RENAME FILES子句修改重做日志文件的位置或名称。实际上,通过这种方法也可以修改数据文件的位置和名称。
例如,以下语句将重做日志文件redo23.log的位置改为“/u01/orcl”,并将名称修改为redo203.log。
SQL>ALTER DATABASE RENAME
'/home/oracle/orcl/redo23.log'TO'/u01/orcl/redo203.log';
多个重做日志文件的位置和名称可以通过同一条语句来修改。例如,下面的语句同时将重做日志文件redo41.log和redo42.log修改为新的名称。
SQL>ALTER DATABASE RENAME FILE
'/home/oracle/orcl/redo41.log','/home/oracle/orcl/redo42.log'
TO
'/home/oracle/orcl/redo401.log','/home/oracle/orcl/redo402.log';