重做日志相关查询

来源:互联网 发布:淘宝收货人姓名搞笑 编辑:程序博客网 时间:2024/05/22 13:23


1.  重做日志

概念

联机日志文件又叫重做日志文件,记录了对数据库修改的信息,包括用户对数据修改和数据库管理员对数据库结构的修改。它主要用于在发生故障的时候和数据库备份文件配合恢复数据库,一般发生故障有2个情况:一个是介质损坏另外一个是用户误操作。每个数据库至少有两个日志文件组,每组至少包含1个或者多个日志成员,这里要多个日志成员的原因是防止日志文件组内某个日志文件损坏后及时提供备份,所以同一组的日志成员一般内容信息相同,但是存放位置不同。

如果数据库处于非归档模式,联机日志在切换时就会丢弃.而在归档模式下,当发生日志切换的时候,被切换的日志会进行归档。

计算每半小时的redo

SELECTa.value/((SYSDATE-b.startup_time)*48)/1024/1024 "MB" FROM v$sysstata,v$instance b WHERE a.name='redo size';

计算每半小时的redo量——如果希望半小时切换一次redo的话。只是上次实例起来后有过非正常业务的大批量数据的导入,这个量就不太合适了。

查看日志组切换时间间隔

SELECT N.RECID                              AS RECID         ,

      N.FIRST_TIME                          AS FIRST_TIME   ,

      M.FIRST_TIME                          AS END_TIME     ,

      ROUND((M.FIRST_TIME- N.FIRST_TIME)*24*60,2)AS MINUTES

 FROM V$LOG_HISTORY M, V$LOG_HISTORY N

 WHERE M.RECID = N.RECID+1

 ORDERBY M.RECID;

 

查看重做日志组信息

select group#,sequence#,bytes/1024/1024,members,archived,statusfrom v$log;

 

下面是重做日志相关的数据字典

 

说明: 复制代码

SELECT*FROM V$LOG;

 

SELECT*FROM V$LOGFILE;

 

SELECT*FROM V$ARCHIVED_LOG;

 

SELECT*FROM V$RECOVER_FILE;

 

SELECT*FROM V$LOG_HISTORY;

 

SELECT*FROM V$LOGHIST;

 

增加归档进程数

如果归档过程会消耗大量的时间,那么可以启动多个归档进程,这是个动态参数,可以用ALTER SYSTEM动态修改.

SQL>ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=10;

Oracle9i中最多可以指定10个归档进程

与归档进程有关的动态性能视图

v$bgprocess,v$archive_processes


 

查看重做日志路径:

select * fromv$logfile;

查看重做日志大小:

selectgroup#,sequence#,bytes/1024/1024,members,archived,status from v$log;

 

 

archive loglist;  查看归档状态






联系邮箱:qrcg92@foxmail.com

0 0
原创粉丝点击