|
?
|
操作
从缓存中刷新哪些缓存区
使表空间脱机
表空间中的所有块
使数据文件脱机
数据文件中的所有块
删除区间
区间中的所有块
截断表
表中的所有块
将表空间置于备份模式
表空间中的所有块
用RMAN备份数据文件
数据文件中的所有块
?
保护联机重做日志文件
?
Oracle数据库运行时至少需要两个联机重做日志文件组, 从而能够在两个组之间进行切换。考虑到性能因素,可能需要添加更多的联机重做日志文件组,但两组是必需的。每个组都由一个或多个成员组成,这些成员是物理文件。运行Oracle数据库只要求每个组有一个成员,但是为了安全起见,每个组至少都应当具有两个成员。
?
DBA不允许丢失当前联机日志文件组的所有备份。如果出现这种情况,就会丢失数据。在丢失当前联机日志文件组的素有成员时,不丢失数据的唯一方法是,配置一个无数据 损失的Data Guard环境,不过比较复杂。为什么说不丢失但钱联机日志文件组的所有成员直观重要呢?答案与实例恢复有关。实例崩溃后,SMON进程会使用当前联机日志文件组的内容进行前滚恢复,从而修复数据库中的任何损坏。如果当前联机日志文件组不可同,可能是由于未被多路复用,一个成员因介质受损而被破坏,那么SMON进程无法进行前滚恢复。如果SMON进程无法通过前滚修正数据库的损坏,那么不能打开数据库。
?
如果重做日志文件组的一个成员被损坏或丢失,那么数据库在存在备份成员的情况下,仍然会保持打开状态。这与控制文件不同,控制文件任何副本的损坏都会使数据库立即崩溃。同样,只要存在至少两个重做日志文件组,每个组都至少有一个有效的成员,那么在数据库打开时,也可以添加或移动重做日志文件组以及组中的成员。
?
在打开数据库时,无须停机,联机重做日志就可以重新配置,而数据库在非加载模式下或完全关闭时,才能执行控制文件中的操作。
?
V$LOG视图给每个组显示一行,V$LOGFILE视图给每个日志文件成员显示一行。
?
[email?protected] prod>select group#,sequence#,members,status from v$log;
GROUP# SEQUENCE# MEMBERS STATUS---------- ---------- ---------- ---------------- 1 10 1 CURRENT 2 8 1 INACTIVE 3 9 1 INACTIVE
[email?protected] prod>select group#,status,member from v$logfile;
GROUP# STATUS MEMBER---------- ------- ------------------------------ 3 /u01/oradata/prod/redo03.log 2 /u01/oradata/prod/redo02.log????????1????????/u01/oradata/prod/redo01.log
[email?protected]?prod>alter?system?switch?logfile;
System?altered.
[email?protected]?prod>select?group#,status?from?v$log;
GROUP# SEQUENCE# MEMBERS STATUS---------- ---------- ---------- ---------------- 1 10 1 ACTIVE 2 11 1 CURRENT????????3??????????9??????????1?INACTIVE[email?protected]?prod>
?
(编辑:PHP编程网 - 湛江站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!