上一篇: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