您现在的位置: 主页 > 嵌入式操作系统 > Linux > Oracle手工恢复控制文件的深入解析
本文所属标签:
为本文创立个标签吧:

Oracle手工恢复控制文件的深入解析

来源:网络整理 网络用户发布,如有版权联系网管删除 2018-08-12 

v$database.CHECKPOINT_CHANGE# (last scn checkpointed)

v$database.CONTROLFILE_SEQUENCE# (control file sequence number incremented by control file transactions)

v$database.CONTROLFILE_CHANGE# (last scn in backup control file ;null if the control file is not a backup)

v$datafile.CHECKPOINT_CHANGE# (scn at last checkpoint)

v$datafile_header. CHECKPOINT_CHANGE# (datafile checkpoint change#

v$log.FIRST_CHANGE# (lowest system change number(SCN) in the log

v$database.CHECKPOINT_CHANGE# 代表是数据库最后一次进行完全检查点的scn号。只有在进行完全检查点的时候才进行更新,更新的值为当前现在数据库的current_scn值。

v$database.CONTROLFILE_CHANGE# (代表从备份中恢复过来的控制文件的最后一个scn号假如是刚刚从备份中恢复,如果控制文件不是从备份中恢复过来的,那么该值为null,但是当控制文件在数据库打开的时候,那么该值会随着增量检查点和完全检查点或是数据库结构变化时会设置为当下的current_scn值。

SYS@orcl#select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;

CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#

------------------ --------------------- -------------------

4921905 14285 4922868

23:13:45 SYS@orcl#select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;

CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#

------------------ --------------------- -------------------

4935440 14311 4935548

23:13:46 SYS@orcl#select current_scn from v$database;

CURRENT_SCN

-----------

4935575

23:13:46 SYS@orcl#alter system checkpoint;

select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;

系统已更改。

23:13:46 SYS@orcl#

CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#

------------------ --------------------- -------------------

4935576 14313 4935578

23:13:49 SYS@orcl#

23:14:09 SYS@orcl#select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;

CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#

------------------ --------------------- -------------------

4935576 14314 4935649

23:16:42 SYS@orcl#alter system switch logfile;

系统已更改。

23:16:52 SYS@orcl#select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;

CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#

------------------ --------------------- -------------------

4935576 14318 4935675

23:16:55 SYS@orcl#

v$database.CONTROLFILE_SEQUENCE# (代表根据数据库的变化进行增加的序列,在查询的时候显示的是当前的控制文件是在哪个sequence号,随着增量检查点和完全检查点或是数据库结构变化而incremental。

v$datafile.CHECKPOINT_CHANGE# (这个值代表的是数据文件中最后一个last checkpoint 的scn号与v$database 中的CHECKPOINT_CHANGE#相同。也就是说当进行完全检查点的时候,需要数据文件中的scn和控制文件中的scn保持一致性。当我们启动到数据库mount状态下然后dump数据文件看到的checkpoint scn正是这个值,在进行数据库启动要验证该值)

23:26:05 SYS@orcl#select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;

CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#

------------------ --------------------- -------------------

4935675 14332 4937039

23:26:30 SYS@orcl#select checkpoint_change# from v$datafile;

CHECKPOINT_CHANGE#

------------------

4935675

4935675

4935675

4935675

4935675

4935675

4935675

4935675

4935675

4935675

4935675

CHECKPOINT_CHANGE#

------------------

4935675

已选择12行。

23:26:31 SYS@orcl#alter system checkpoint;

系统已更改。

23:27:27 SYS@orcl#select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;

CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#

------------------ --------------------- -------------------

4937086 14336 4937088

23:27:31 SYS@orcl#select checkpoint_change# from v$datafile;

CHECKPOINT_CHANGE#

------------------

4937086

4937086

4937086

4937086

4937086

4937086

4937086

4937086

4937086

4937086

4937086

CHECKPOINT_CHANGE#

------------------

4937086

已选择12行。

23:27:32 SYS@orcl#

v$datafile_header. CHECKPOINT_CHANGE# (代表数据文件头的检查点scn,这个值和数据文件的检查点相一致,在数据库运行到open状态进行的数据文件dump文件中的header 中的checkpoint scn就是此值。)



              查看评论 回复



嵌入式交流网主页 > 嵌入式操作系统 > Linux > Oracle手工恢复控制文件的深入解析
 文件 数据库 检查点

"Oracle手工恢复控制文件的深入解析"的相关文章

网站地图

围观()