Oracle归档日志分析
本记录仅供自己使用,有看不懂的朋友莫见怪,后期会做相应补充。
本机操作系统:win10
服务器操作系统:Linux
服务器数据库:Oracle
一、找到日志文件
1、通过Xshell 6远程连接服务器,登录相应账户:su oracle
2、切换到日志路径下:cd /oradata/fast_recovery_area/WCSDB/WCSDB/archivelog/
3、查询本路径下所有文件夹或文件:ls
4、切换到对应文件夹下:cd 2020_05_11
其他:查询本路径下所有文件信息(创建时间、大小、名称)大小:ls -lh
二、打开日志分析
1、通过plsql连接数据库,新建命令窗口。
2、执行命令脚本:
1.使用脚本创建相关的包(本操作只能执行一次,不用多次执行)
@$ORACLE_HOME/rdbms/admin/dbmslm.sql
@$ORACLE_HOME/rdbms/admin/dbmslmd.sql;
第一个脚本用来创建DBMS_LOGMNR包,该包用来分析日志文件。
第二个脚本用来创建DBMS_LOGMNR_D包,该包用来创建数据字典文件。
2.指定要分析的日志文件
exec sys.dbms_logmnr.add_logfile(logfilename => '/oradata/fast_recovery_area/WCSDB/WCSDB/archivelog/2020_05_07/o1_mf_1_5186_hc6rnjlj_.arc',options => dbms_logmnr.new);
3.使用本地的在线数据字典分析归档日志
exec sys.dbms_logmnr.start_logmnr(options => sys.dbms_logmnr.dict_from_online_catalog);
4,查询分析出来的归档日志内容,例如统计最大修改量的Schema
select seg_owner,count(*) from v$logmnr_contents group by seg_owner;
select count(1),substr(sql_redo,1,30) from v$logmnr_contents group by substr(sql_redo,1,30) order by count(1) desc ;
5.查询日志详细
SELECT sql_redo, sql_undo from v$logmnr_contents;
6.增加别的日志文件
exec sys.dbms_logmnr.add_logfile(logfilename => '/oradata/fast_recovery_area/WCSDB/WCSDB/archivelog/2020_05_07/o1_mf_1_5090_hc5qss4q_.arc',options => dbms_logmnr.addfile);
exec sys.dbms_logmnr.start_logmnr(options => sys.dbms_logmnr.dict_from_online_catalog);
7.结束分析归档日志
exec sys.dbms_logmnr.end_logmnr;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本