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;

  

 

posted @   一看就懂  阅读(3923)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示