10.2.0.5环境dg测试logminer挖掘日志分析
起因:客户需求,数据库正常每天总的日志切换是20以内,有一天日志切换总数,达到30,客户建议使用Logminer进行日志挖掘分析,到底什么应用导致的问题。
说明:使用logminer进行日志挖掘,只能挖掘出什么对象表,dml操作多少次,而无法明确得到什么应用占用的日志最多。只能提供很单项的东西,某个表dml操作次数,非常多。需要客户结合实际应用,去判断,到底什么应用导致的问题。
环境说明:数据库版本10.2.0.5 双节点rac, 有一套dg 10.2.0.5,单实例。
测试说明:
1.dg 切换快照模式
2.使用logminer进行挖掘
3.dg切换还原为standby 备库模式
一、dg切换快照模式
alter database recover managed standby database cancel;
ALTER SYSTEM SET db_recovery_file_dest_size=1024G SCOPE=BOTH;
ALTER SYSTEM SET db_recovery_file_dest='/xxxx/实际情况选择路径' SCOPE=BOTH;
alter system set db_flashback_retention_target= scope=both;
alter database flashback on;
create restore point flashback_dzswrac GUARANTEE flashback database; #确认grant point已创建完毕之后,在进行dg角色更换
SQL> select * from v$restore_point; #如下操作,切换备库角色为主库角色
alter database activate standby database;
alter database open;
alter system set job_queue_processes=;
exit
二、使用logminer进行挖掘
1)选择抓取,日志切换频率最高的时间节点,明确所需要挖掘的日志时间节点
SQL>select to_char(completion_time,'YYYYMMDD HH24'),dest_id,thread#,name
from v$archived_Log
where dest_id= and completion_time between to_date('20190104 14','yyyymmdd hh24') and to_date('20190104 19','yyyymmdd hh24')
TO_CHAR(COM DEST_ID THREAD# NAME
----------- ---------- ---------- -------------------- rows selected.
上述查询,得到04日,一个小时,日志切换了6次
COMPLETION_TIME 归档完成的时间
2)查询日志挖掘的文件名称
select to_char(completion_time,'YYYYMMDD HH24:mi'),dest_id,thread#,name,deleted,status
from v$archived_Log
where dest_id=1 and completion_time between to_date('20190104 14','yyyymmdd hh24') and to_date('20190104 22','yyyymmdd hh24')
order by 1;
TO_CHAR(COMPLE DEST_ID THREAD# NAME DEL S
-------------- ---------- ---------- -------------------------------------------------- --- -
20190104 14:03 1 1 xxxx NO A
20190104 14:03 1 2 xxxx NO A
20190104 14:30 1 2 xxxx NO A
20190104 14:45 1 2 xxxx NO A
20190104 14:49 1 1 xxxx NO A
20190104 14:49 1 2 xxxx NO A
20190104 14:50 1 2 xxxx NO A
--如下忽略
20190104 15:03 1 2 xxxx NO A
3)logminer前提准备
添加存储过程
@?/rdbms/admin/dbmslmd.sql
@?/rdbms/admin/dbmslm.sql
@?/rdbms/admin/dbmslms.sql
@?/rdbms/admin/prvtlm.plb
开启最小补充日志
select SUPPLEMENTAL_LOG_DATA_MIN,SUPPLEMENTAL_LOG_DATA_PK,SUPPLEMENTAL_LOG_DATA_UI from v$database;
SQL> alter database add supplemental log data;
Database altered.
SQL> select SUPPLEMENTAL_LOG_DATA_MIN,SUPPLEMENTAL_LOG_DATA_PK,SUPPLEMENTAL_LOG_DATA_UI from v$database;
SUPPLEME SUP SUP
-------- --- ---
YES NO NO
LOGMNR 分析日志,需要创建一个数据字典,这个数据字典可以存储在外部文件(external file) 或者redo log 中。 如果要存储在外部文件中,数据库参数utl_file_dir 需要配置,并重启数据库。
SQL> alter system set utl_file_dir='*' scope=spfile;
SQL> shutdown immediate;
SQL> startup
SQL> show parameter utl_file
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
utl_file_dir string *
SQL> execute dbms_logmnr_d.build(dictionary_filename=>'dict.ora',dictionary_location=>'/data/newdg/logminer_ctr_directory/');
PL/SQL procedure successfully completed.
#或者使用redo log 存储数据字典
#使用redo log 存储数据字典不需要重启数据库,也不需要配置任何参数,这种方式比较灵活.直接可以创建数据字典到redo文件。
#dbms_logmnr_d.build(options => dbms_logmnr_d.STORE_IN_REDO_LOGS);
4)使用logminer 挖掘日志
第一个
exec dbms_logmnr.add_logfile('/xxx.xxxdbf',dbms_logmnr.new);
第二个
exec dbms_logmnr.add_logfile('xxx.xxxxdbf',dbms_logmnr.addfile);
exec dbms_logmnr.add_logfile('/xxx.xxxdbf',dbms_logmnr.addfile);
exec dbms_logmnr.add_logfile('/dxxx14.dbf',dbms_logmnr.addfile);
exec dbms_logmnr.add_logfile('/xxx.dxxxbf',dbms_logmnr.addfile);
exec dbms_logmnr.add_logfile('xxx814x.dbf',dbms_logmnr.addfile);
exec dbms_logmnr.add_logfile('/xxxxxx.dbf',dbms_logmnr.addfile);
注册到日志文件中
execute dbms_logmnr.start_logmnr(options=>dbms_logmnr.dict_from_online_catalog);
由于记录处于不稳定状态,可以创建一个临时表,存储挖掘记录
create table logmnr_04_14_one_date as select * from v$logmnr_contents;
结束
EXECUTE dbms_logmnr.end_logmnr;
5)SQL查询结果
set line 200
set term off verify off feedback off pagesize 999
set markup html on entmap on spool on preformat off
spool log_20190104_14_15.xls
select username,SEG_OWNER,SEG_NAME,seg_type_name,OPERATION_CODE,count(*)
from logmnr_04_14_one_date group by username,SEG_OWNER,SEG_NAME,seg_type_name,
OPERATION_CODE order by 6 asc;
spool off
三、DG恢复shutdown immediate;
startup mount;
flashback database to restore point flashback_dzswrac;
alter database convert to physical standby;
shutdown immediate;
startup mount;
alter database recover managed standby database disconnect from session;
--根据日志等信息,mgr确认已使用,且已恢复之后,在删除闪回日志,一定要确认完毕
DROP RESTORE POINT flashback_dzswrac;
alter database flashback off;
ALTER SYSTEM SET db_recovery_file_dest='' SCOPE=BOTH;
exit
10.2.0.5环境dg测试logminer挖掘日志分析的更多相关文章
- 使用logminer挖掘日志,分析历史操作 系列一
===============STARTED==================================== 事件起因: 业务的人mail过来说是有张表记录的10K+的优惠码记录没了,要我们确 ...
- logminer使用测试库进行挖掘分析,10.2.0.5
上一篇测试是在dg环境进行测试挖掘,但是如果客户存在一个测试库,那样使用日志挖掘的影响性更小.本篇进行测试分析. 测试环境介绍: oracle linux 5.6,vmware虚拟机,安装两套单实例 ...
- 【Oracle】10.2.0.1升级到10.2.0.5
升级数据库到10.2.0.5 因是测试环境,不需要备份:如是生产系统,建议进行全备份后再进行升级操作,预防数据丢失造成不必要的影响. 步骤: 上传并解压补丁,安装前准备,安装补丁,预升级检查, ...
- oralce 10g(10.2.0.1) 冷备份从64位恢复到32位
环境描述:windows 2003 企业版 64位 oracle版本:oracle 10g 10.2.0.1 64位 冷备恢复到 windows XP oracle 10g 10.2.0.1 32位( ...
- oracle实现通过logminer实现日志抓取分析
场景:现场库到前置库. 思考:使用触发器? 1.侵入性解决方案 2.需要时各种配置,不需要时又是各种配置 Change Data Capture:捕捉变化的数据,通过日志监测并捕获数据库的变动(包括数 ...
- exp迁移测试库10.2.0.5
目的: 将一套10.2.0.5的UP-UNIX系统的数据,迁移到一台Windows环境下. 迁移方案:由于不同的操作系统,为了方便迁移,只是测试,使用EXP/IMP方式. 迁移流程: 一.源端导出 1 ...
- Rsyslog+ELK日志分析系统搭建总结1.0(测试环境)
因为工作需求,最近在搭建日志分析系统,这里主要搭建的是系统日志分析系统,即rsyslog+elk. 因为目前仍为测试环境,这里说一下搭建的基础架构,后期上生产线再来更新最后的架构图,大佬们如果有什么见 ...
- 单实例dg软件从10.2.0.4版本安装至10.2.0.5.12
DG环境搭建需求,因此安装与主库相同的软件版本 1.主库软件版本10.2.0.5.12 2dg环境提供的是全新的10.2.0.4.0 3.安装步骤,安装10.2.0.5 静默安装 psu安装10.2. ...
- 配置SSD-caffe测试时出现“Check failed: error == cudaSuccess (10 vs. 0) invalid device ordinal”解决方案
这是由于GPU数量不匹配造成的,如果训练自己的数据,那么我们只需要将solver.prototxt文件中的device_id项改为自己的GPU块数,一块就是0,两块就是1,以此类推. 但是SSD配置时 ...
随机推荐
- 【转】大型Vuex项目 ,使用module后, 如何调用其他模块的 属性值和方法
Vuex 允许我们把 store 分 module(模块).每一个模块包含各自的状态.mutation.action 和 getter. 那么问题来了, 模块化+命名空间之后, 数据都是相对独立的, ...
- python3- __slots__
Python允许在定义class的时候,定义一个特殊的__slots__变量,来限制该class实例能添加的属性: class Student(object): __slots__ = ('name' ...
- sqlmap sql注入工具
下载地址: https://github.com/sqlmapproject/sqlmap 参数可以在sqlmap.conf里指定 url = http://localhost:55556/crm/u ...
- win10输入法五笔设置
win10 settings inputApp 1●安装五笔qq ignore / ign ɔ: 2● 操作步骤 3● 五笔设置
- zabbix3.4.7表结构
zabbix数据库表结构的重要性 想理解zabbix的前端代码.做深入的二次开发,甚至的调优,那就不能不了解数据库的表结构了. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
- C++解析六-继承
面向对象程序设计中最重要的一个概念是继承.继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易.这样做,也达到了重用代码功能和提高执行时间的效果.当创建一个类时,您不需要重新编 ...
- day1 计算机硬件基础
CPU包括运算符和逻辑符 储存器包括内存和硬盘 7200转的机械硬盘一般找到想要的数据需要9毫秒的时间 4+5 5毫秒的时间是磁头到磁盘轨道 4毫秒是平均开始查找想要的数据到找到的 ...
- Thêm Một Lần Đau--错错错--IPA--越南语
越南国际天团HKT的名曲.
- php随手记
引用(&)是变量的别名,而不是指针,可用unset(变量名)把此变量的别名注销掉,等于没有声明此变量. @为错误抑制符,可以用在任何表达式前面. ``为命令操作符,可以执行系统命令. inst ...
- SAL-9 获取所有部门当前manager的当前薪水情况,给出dept_no, emp_no以及salary,当前表示to_date='9999-01-01'
题目描述 获取所有部门当前manager的当前薪水情况,给出dept_no, emp_no以及salary,当前表示to_date='9999-01-01'CREATE TABLE `dept_man ...