[oracle]LogMiner的使用

LogMiner
--

01 功能:
版本: 8i
分析重做/归档日志内容的工具
版本: 9i
记录DDL操作
日志冲突
其它特性,用处不大
版本: 11g:
LogMiner viewer 集到EM的图形化工具, 加入了闪回特性.


日志冲突


BEGIN
DBMS_LOGMNR.start_logmnr (
options => DBMS_LOGMNR.skip_corruption);
END;
/




02 用法:

1
分析归档日志内容的工具

1.1
创建字典文件
说明: 本步骤可选, 创建字典文件主要是为了转换表ID, 列ID, 值(16进制)等数据为有意义的格式.

条件:
a. 数据库实例 mount|open
b. 初始化参数文件设置
UTL_FILE_DIR




-- 配置字典位置
cd /opt/app/oracle/oradata/BISOFT
mkdir dictfile

alter system set UTL_FILE_DIR='/opt/app/oracle/oradata/BISOFT/dictfile' scope=spfile;

-- 配置归档日志位置及格式
alter system set LOG_ARCHIVE_DEST='/opt/app/oracle/oradata/BISOFT/archivelog' scope=spfile;
alter system set LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' scope=spfile;

-- 重启数据库
shutdown immediate;
startup;

-- 切换日志
alter system switch logfile;

-- 查看归档日志
select * from v$archived_log;

-------------------------------------------
-- 1 创建字典文件
-------------------------------------------
BEGIN
DBMS_LOGMNR_D.build (
dictionary_filename => 'bisoft_dict.ora',
dictionary_location => '/opt/app/oracle/oradata/BISOFT/dictfile');
END;
/

-------------------------------------------
-- 2 添加归档日志
-------------------------------------------
BEGIN
DBMS_LOGMNR.add_logfile (
options => DBMS_LOGMNR.new, -- 第一个使用new
logfilename => '/opt/app/oracle/oradata/BISOFT/archivelog/1_27_826670579.arc');

DBMS_LOGMNR.add_logfile (
options => DBMS_LOGMNR.addfile, -- 第二个开始使用addfile
logfilename => '/opt/app/oracle/oradata/BISOFT/archivelog/1_28_826670579.arc');
END;
/

-------------------------------------------
-- 3 启动 LogMiner
-------------------------------------------
BEGIN
DBMS_LOGMNR.start_logmnr (
dictfilename => '/opt/app/oracle/oradata/BISOFT/dictfile/bisoft_dict.ora',
options => DBMS_LOGMNR.skip_corruption);
END;
/

-------------------------------------------
-- 4 查询结果
-------------------------------------------
select * from V$LOGMNR_CONTENTS where upper(table_name) = 'TEST';
select scn, start_scn, commit_scn, timestamp, xid, operation, table_name, row_id, sql_redo, sql_undo from V$LOGMNR_CONTENTS where upper(table_name) = 'TEST';

-------------------------------------------
-- 5 停止 LogMiner
-------------------------------------------
BEGIN
DBMS_LOGMNR.end_logmnr;
END;
/



通过LogMiner分析日志文件,我们发现所有DDL操作是不记录回滚信息的.
因此
truncate table t 只能通过备份或闪回来恢复.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值