上一篇:ORACLE DBA学习笔记--控制文件

REDO
日志文件


重做日志文件主要以重做记录的形式记录,保存对数据库所做的修改(或者事务的变化),包括用户执行
DML或者DDL语句对数据库的修改,
也包括
DBA对数据库结构的修改,重做日志文件也需要多路复用。

 

日志文件的写入原则:
1. 写入的次序要严格按并发事务的执行顺序
2. 必须写入重做日志文件再写入数据文件

重做日志的循环写入:
当第一组日志被写满之后就进行重做日志的切换(ALTER SYSTEM SWITCH LOGFILE),以便将重做日志的记录写入第二个重做日志文件,依次类推。

ARCHIVE LOG LIST


SELECT * FROM V$LOG
STATUS如果是INACTIVE 表示当前没有用户或者事务访问,数据可以覆盖。
ARCHIVE 表示日志信息是否完成归档,NO表示没有归档



切换日志序列号

 ALTER SYTEM SWITCH LOGFILE


SELECT * FROM V$LOGFILE



增加日志文件

ALTER DATABASE ADD LOGFILE    

('D:\ORACLE\ORADATA\WORK\LOG3A.LOG','D:ORACLE\ORADATA\WORK\LOG3B.LOG') 

 

使用LOGMINER分析日志文件

1. 先查看是否设置UTL_FILE_DIR参数

SHOW PARAMETERS UTL_FILE_DIR

如果VALUE值不为空则表示已经设置


否则的话需要设置。

设置如下:


设置完成后在ORACLE初始化参数的SPFILE中可以查看到。

D:\oracle\ora90\database\SPFILEWORK.ORA

 

2.从数据库的数据字典中提取信息,创建LOGMINER使用的平面数据字典文件。

执行过程EXECUTE DBMS_LOGMNR_D.BUILD(‘WOODY.ORA’,’D:\LOG’),需要保证D:\LOG文件夹存在。

-

执行完成后,D:\LOG创建了WOODY.ORA文件


3. 添加日志文件

第一个

EXECUTE DBMS_LOGMNR.ADD_LOGFILE(‘D:\ORACLE\ORADATA\WORK\REDO01.LOG’,OPTIONS=>DBMS_LOGMNR.NEW)

第二个

EXECUTE DBMS_LOGMNR.ADD_LOGFILE(‘D:\ORACLE\ORADATA\WORK\REDO02.LOG’,OPTIONS=>DBMS_LOGMNR.ADDFILE)

第三个

EXECUTE DBMS_LOGMNR.ADD_LOGFILE(‘D:\ORACLE\ORADATA\WORK\REDO03.LOG’,OPTIONS=>DBMS_LOGMNR.ADDFILE)


完成后可以通过

SELECT * FROM V$LOGMNR_LOGS查看



3. 启动LOGMINER

执行

EXECUTE DBMS_LOGMNR.START_LOGMNR(DICTFILENAME=>’D\LOG\WOODY.ORA’)

可能出现如下错误:

 

这时候修改下NTS_LANGUAGE即可(可能因为日志的日期格式问题引起)

 


再执行上一个过程即可


4. 查看操作日志

通过查看V$LOGMNR_CONTENTS即可,然后通过分析V$LOGMNR_CONTENTS的内容即可。


结果如下:


5. 最后要结束LOGMINER会话。(LOGMINER会占用系统资源和数据库资源)

EXECUTE DBMS_LOGMNR.END_LOGMNR


posted on 2009-07-26 21:41  woody.wu  阅读(1087)  评论(0编辑  收藏  举报