OCP考题解析_043:Oracle RECID和SEQUENCE#的区别及RESETLOGS操作

sys@ORCL> select recid,sequence# from v$log_history;

     RECID  SEQUENCE#
---------- ----------
         1          1
         2          2
         3          3
         4          4
         5          5
         6          6
         7          7
         8          8
         9          9
        10         10
        11         11
        12         12
        13          1
        14          2
        15          3
        16          4
        17          1
        18          2
        19          3
        20          4
        21          5
        22          6
        23          7
        24          8
        25          9
        26         10
        27         11
        28         12
        29         13
        30         14
        31         15
        32         16
        33         17

RMAN> list incarnation of database;

using target database control file instead of recovery catalog

List of Database Incarnations
DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1       1       ORCL     1316499950       PARENT  1          2005-06-30:19:09:40
2       2       ORCL     1316499950       PARENT  446075     2012-07-15:16:40:15
3       3       ORCL     1316499950       PARENT  604802     2012-08-08:10:35:10
4       4       ORCL     1316499950       CURRENT 607329     2012-08-08:11:28:40

alter database open resetlog 可让SEQUENCE#重新从序列号1开始

Oracle在SEQUENCE#为100时创建了备份,在SEQUENCE#为400时崩溃,由于你只有到SEQUENCE#为251
因此你只能恢复到SEQUENCE#为250时的状态,然后以RESETLOGS打开,Oracle又开始了一个新的Incarnation
SEQUENCE#被重新初始化到1,然后随着Oracle的不断增加并达到400,但这些Logfile与之前的Logfile并不关联
虽然它们的SEQUENCE#是一样的

指定RESETLOGS会执行下列操作:
① 归档当前Online Redolog File(如果能够访问到的话),然后清空内容并将SEQUENCE#重置为1
(如果Online Redo Log File不存在,则重建)
② 重置Controlfile中关于Online Redo Log File的元数据
③ 更新Datafile和Online Redolog File中的RESETLOGS SCN和重置时间信息

在10G之前的版本,数据库执行完OPEN RESETLOGS操作后,都建议立刻进行一次完全备份
因为之前版本中在执行OPEN RESETLOGS操作时并不对Online Redolog File进行归档
这会导致ARCHIVED LOG FILE不再连续,导致之前创建的备份不再有效
也就是恢复不到当前状态,只能恢复到OPEN RESETLOGS操作之前
10G及之后版本就不存在这个问题,OPEN RESETLOGS操作会首先将当前Online Redolog File归档
并且OPEN RESETLOGS操作也会记入Online Redologs文件并正常归档
相当于OPEN RESETLOGS只是一个命令操作,和其他SQL命令一样
这样保证了archived log file的连续性,之前的备份依然有效

OCP考题:

不过,仍然建议OPEN RESETLOGS操作后立马进行一次全库备份


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值