1.当前的日志在n秒之前创建的,并且估计在m秒的时候要进行归档,当n+m的值超过了archive_lag_target的值时。 2.当前的日志包含重做记录时。 7.3 创建重做日志组和成员 创建组 你必须具有修改数据库的权限才能增加日志组和成员。而且要确定maxlogfiles组的值。 添加group 4 alter database add logfile('/u01/app/oracle/oradata/orcl/redo04.log')size 8192k; 添加group 5 alter database add logfile group 5 '/u01/app/oracle/oradata/orcl/redo05.log' size 8192k; 组数必须是在1和maxlogfiles之间,不能跳跃重做日志数。 创建成员 在组2中添加一个新的成员redo02a.log: alter database add logfile member '/u01/app/oracle/oradata/orcl/redo02a.log' to group 2; 注意:必须指定文件名,但是没有必要制定大小,因为在每个组中成员的尺寸是一致的。 或者使用 在组2中添加一个新的成员redo02b.log: alter database add logfile member '/u01/app/oracle/oradata/orcl/redo02b.log' to ('/u01/app/oracle/oradata/orcl/redo02.log','/u01/app/oracle/oradata/orcl/redo02a.log'); 7.4 迁移和重命名重做日志组成员 1.关闭数据库 Shutdown immediate 2.拷贝重做日志文件到新的位置 mv /u01/app/oracle/oradata/orcl/redo01.rdo /u01/app/oracle/oradata/orcl/redo01b.rdo mv /u01/app/oracle/oradata/orcl/redo02.rdo /u01/app/oracle/oradata/orcl/redo02c.rdo 3.启动数据库到mount状态 Connect / as sysdba Startup mount 4.重命名重做日志成员 ALTER DATABASE RENAME FILE '/u01/app/oracle/oradata/orcl/redo01.rdo ', '/u01/app/oracle/oradata/orcl/redo02.rdo ' TO '/u01/app/oracle/oradata/orcl/redo01b.rdo ', '/u01/app/oracle/oradata/orcl/redo02c.rdo '; 5.打开数据库 Alter database open; 7.5 删除重做日志组和成员 删除数据组和成员必须具有alter database 权限,还必须考虑一下的注意事项 1. 一个数据库必须具有至少两个重做日志组,一个组中包含一个或着两个成员。 2. 当重做日志组不活跃时你可以删除它,如果你想删除一个当前的日志组,则需要强制切换重做日志文件。 3. 在删除重做日志之前你必须保证数据是被归档了。 删除组4: alter database drop logfile group 4; 当你在数据库中删除了重做日志而没有使用oracle-managed文件特性时,而重做日志文件还保留在系统上,他只是更改了数据库中的控制文件,你可以使用重做系统命令删除重做日志文件。 如果你使用了oracle-manager文件时,删除磁盘上的文件是自动完成的。 删除成员 1. 必须保证每个组中包含两个成员,防止单点故障。 2. 实例中通常包含最少两个重做日志组,不管每个组中有多少个成员。如果组中只有一个可以访问的成员时,你不能删除它。 3. 你能删除不是当前或者活跃组中的成员,如果删除活跃组中的成员时,必须强制切换重做日志组。 4. 删除成员之前必须要把重做日志组归档。 删除组2中的redo02c.log alter database drop logfile member '/u01/app/oracle/oradata/orcl/redo02c.log'; 当你在数据库中删除了重做日志而没有使用oracle-managed文件特性时,而重做日志文件还保留在系统上,他只是更改了数据库中的控制文件,你可以使用重做系统命令删除重做日志文件。 7.6 强制日志切换 强制日志切换。 Alter system switch logfile; 7.7 验证重做日志块 7.8 清除重做日志文件 当数据库在启动过程中,重做日志可能会损坏,因为数据库因为在不能归档的情况下而造成数据库停止活动,在这种情况下你可以在不关闭数据库使用alter database clear logfile来初始化文件。 清除组3中的日志文件数据: alter database clear logfile group 3; 如果数据3在使用中想继续删除则使用 Alter database clear unarchived logfile group 3; 这样设置则重做日志文件中的数据没有被归档。 有两种可能不能清除日志组中的数据 1. 只有两组日志文件。 2. 要清除的是当前的日志组。 7.9查看重做日志信息 V$log; V$logfile; V$log_history
|