Maison base de données tutoriel mysql oracle 日志挖掘

oracle 日志挖掘

Jun 07, 2016 pm 03:36 PM
oracle 挖掘 日志

1、$ORACLE_HOME/rdbms/admin/dbmslm.sql 2、$ORACLE_HOME/rdbms/admin/dbmslmd.sql 这两个脚本必须均以DBA用户身份运行。其中第一个脚本用来创建DBMS_LOGMNR包,该包用来分析日志文件。第二个脚本用来创建DBMS_LOGMNR_D包,该包用来创建数据字典文件。 2.创

1、$ORACLE_HOME/rdbms/admin/dbmslm.sql

2、$ORACLE_HOME/rdbms/admin/dbmslmd.sql

这两个脚本必须均以DBA用户身份运行。其中第一个脚本用来创建DBMS_LOGMNR包,该包用来分析日志文件。第二个脚本用来创建DBMS_LOGMNR_D包,该包用来创建数据字典文件。

2.创建字典文件

<span><span></span><span>CREATE</span><span> DIRECTORY utlfile </span><span>AS</span><span><span>'<span><span>D:\app\zhoukai\oradata\LOGMNR</span></span><span>'</span></span><span>;</span></span><span>alter</span><span> system </span><span>set</span><span> utl_file_dir</span><span>=</span><span><span>'</span><span>D:\app\zhoukai\oradata\LOGMNR</span><span>'</span></span><span> scope</span><span>=</span><span>spfile;</span></span>
Copier après la connexion
<span></span><pre class="brush:php;toolbar:false"><span> 执行以上语句后,重启数据库,查看是否设置成功</span>
Copier après la connexion
<span></span>
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
<span><span><span>SQL> show parameter utl

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
create_stored_outlines               string
</span><span>utl_file_dir                         string      D:\app\zhoukai\oradata\LOGMNR</span></span></span>
Copier après la connexion
<pre class="brush:php;toolbar:false"><span><span>EXECUTE</span><span> dbms_logmnr_d.build(dictionary_filename </span><span>=></span><span>'</span><span>dictionary.ora</span><span>'</span><span>, dictionary_location</span><span>=></span><span>'</span><span><span><span>D:\app\zhoukai\oradata\LOGMNR</span></span></span><span>'</span><span>);</span></span>
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
<span>3.添加分析文件</span>
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
<span> 方法如下:</span>
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
<pre class="brush:php;toolbar:false"><span><span><span>exec dbms_logmnr.add_logfile(logfilename</span></span><span>=></span><span><span>'D:\APP\ZHOUKAI\ORADATA\ORCL\REDO01.LOG</span><span>'</span></span><span><span>,options</span></span><span>=></span><span>dbms_logmnr.NEW);</span></span>
Copier après la connexion
<span></span>
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
<span><span>也可以添加多个文件,我们新增一个文件,方法如下:看出不同了吗,看看最后红色部分</span></span>
Copier après la connexion
<pre class="brush:php;toolbar:false"><span><span>dbms_logmnr.add_logfile(logfilename</span><span>=></span><span>'</span><span>D:\oracle\oradata\practice\ARCHIVE\ARC00002_0817639922.001</span><span>'</span><span>,options</span><span>=></span><span><span>dbms_logmnr.ADDFILE</span></span><span>)</span></span>
Copier après la connexion
<span></span>
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
<span><span>4.启动日志分析</span></span>
Copier après la connexion
<span></span>
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
<span>  在分析日志之前我们要重建数据字典,因为我们刚才对表做了改动,所以在启动之前我们先要更新数据字典。</span>
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
<span>  启动日志可以制定一个范围,也可以不指定分析整个文件,具体的一些参数请查看oracle官方文档,在这边我们使用scn的范围限制。方法如下:</span>
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
<span><span><span>EXECUTE dbms_logmnr.start_logmnr( DictFileName =>'D:\app\zhoukai\oradata\LOGMNR\dictionary.ora',StartScn =>7240047,EndScn =>7240098); </span></span></span>
Copier après la connexion
<span><span> 如果你不想创建字典可以使用以下方法</span></span>
Copier après la connexion
<span><span> EXECUTE dbms_logmnr.start_logmnr( options =>dbms_logmnr.DICT_FROM_ONLINE_CATALOG,StartScn =>7240047,EndScn =>7240098);  </span></span>
Copier après la connexion
<span><span> 具体options有很多参数,可以参照oracle官方文档。</span></span>
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
<span>5.查看分析结果</span>
Copier après la connexion
<span><span> <span>到现在为止,我们已经分析得到了重作日志文件中的内容。动态性能视图v$logmnr_contents包含LogMiner分析得到的所有的信息。</span></span></span>
Copier après la connexion

SELECT sql_redo FROM v$logmnr_contents; 

如果我们仅仅想知道某个用户对于某张表的操作,可以通过下面的SQL查询得到,该查询可以得到用户LOGMINER对表EMP所作的一切工作。

SELECT sql_redo FROM v$logmnr_contents WHERE username='LOGMINER' AND tablename='EMP'; 

序号

名称

含义

1

SCN

特定数据变化的系统更改号

2

TIMESTAM

数据改变发生的时间

3

COMMIT_TIMESTAMP

数据改变提交的时间

4

SEG_OWNER

数据发生改变的段名称

5

SEG_NAME

段的所有者名称

6

SEG_TYPE

数据发生改变的段类型

7

SEG_TYPE_NAME

数据发生改变的段类型名称

8

TABLE_SPACE

变化段的表空间

9

ROW_ID

特定数据变化行的ID

10

SESSION_INFO

数据发生变化时用户进程信息

11

OPERATION

重做记录中记录的操作(如INSERT)

12

SQL_REDO

可以为重做记录重做指定行变化的SQL语句(正向操作)

13

SQL_UNDO

可以为重做记录回退或恢复指定行变化的SQL语句(反向操作)

需要强调一点的是,视图v$logmnr_contents中的分析结果仅在我们运行过程'dbms_logmrn.start_logmnr'这个会话的生命期中存在。这是因为所有的LogMiner存储都在PGA内存中,所有其他的进程是看不到它的,同时随着进程的结束,分析结果也随之消失。

最后,使用过程DBMS_LOGMNR.END_LOGMNR终止日志分析事务,此时PGA内存区域被清除,分析结果也随之不再存在。

那么我们来产看我们挖掘的数据。


SQL> SELECT operation,sql_redo,sql_undo FROM v$logmnr_contents WHERE  table_name

='T';


OPERATION       SQL_REDO                       SQL_UNDO

--------------- ------------------------------ ------------------------------

DELETE          delete from "SCOTT"."T" where  insert into "SCOTT"."T"("OWNER

                "OWNER" = 'SYS' and "OBJECT_NA ","OBJECT_NAME","SUBOBJECT_NAM

                ME" = 'ICOL$' and "SUBOBJECT_N E","OBJECT_ID","DATA_OBJECT_ID

                AME" IS NULL and "OBJECT_ID" = ","OBJECT_TYPE","CREATED","LAS

                 '20' and "DATA_OBJECT_ID" = ' T_DDL_TIME","TIMESTAMP","STATU

                2' and "OBJECT_TYPE" = 'TABLE' S","TEMPORARY","GENERATED","SE

                 and "CREATED" = TO_DATE('30-3 CONDARY","NAMESPACE","EDITION_

                月 -10', 'DD-MON-RR') and "LAS NAME") values ('SYS','ICOL$',N

                T_DDL_TIME" = TO_DATE('30-3月  ULL,'20','2','TABLE',TO_DATE('

                -10', 'DD-MON-RR') and "TIMEST 30-3月 -10', 'DD-MON-RR'),TO_D

                AMP" = '2010-03-30:10:07:48' a ATE('30-3月 -10', 'DD-MON-RR')


OPERATION       SQL_REDO                       SQL_UNDO

--------------- ------------------------------ ------------------------------

                nd "STATUS" = 'VALID' and "TEM ,'2010-03-30:10:07:48','VALID'

                PORARY" = 'N' and "GENERATED"  ,'N','N','N','1',NULL);

                = 'N' and "SECONDARY" = 'N' an

                d "NAMESPACE" = '1' and "EDITI

                ON_NAME" IS NULL and ROWID = '

                AAAUswAAEAABbujAAA';

我们可以使用undo恢复误删除的数据,其它作用前面已经描述了。


6.结束LogMiner

SQL> EXEC DBMS_LOGMNR.END_LOGMNR;


PL/SQL 过程已成功完成。


关于LogMiner学习如上


参照文档:oracle官方文档

http://www.cnblogs.com/shishanyuan/p/3140440.html

Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment gérer le code brouillé d'Oracle Comment gérer le code brouillé d'Oracle Apr 11, 2025 pm 07:00 PM

Les problèmes brouillés d'Oracle sont généralement causés par des paramètres de caractéristiques incorrects. Les solutions incluent: la vérification du serveur, de la base de données et des jeux de caractères clients. Configurez le serveur, la base de données et les jeux de caractères clients selon les besoins. Utilisez la fonction Converti ou la fonction DBMS_LOB.Convert_lob pour fixer les données brouillées. Spécifiez toujours le jeu de caractères et définissez correctement les paramètres NLS.

Comment remettre à nouveau Oracle Comment remettre à nouveau Oracle Apr 11, 2025 pm 07:33 PM

Oracle fournit plusieurs méthodes de requête de déduplication: le mot-clé distinct renvoie une valeur unique pour chaque colonne. Le groupe par clause regroupe les résultats et renvoie une valeur non réactive pour chaque groupe. Le mot-clé unique est utilisé pour créer un index ne contenant que des lignes uniques, et l'interrogation de l'index sera automatiquement déducteur. La fonction ROW_NUMBER () attribue des nombres uniques et filtre les résultats qui contiennent uniquement la ligne 1. La fonction min () ou max () renvoie les valeurs non réactives d'une colonne numérique. L'opérateur intersecte renvoie les valeurs communes des deux ensembles de résultats (pas de doublons).

Comment vérifier la taille de l'espace de table d'Oracle Comment vérifier la taille de l'espace de table d'Oracle Apr 11, 2025 pm 08:15 PM

Pour interroger la taille de l'espace de table Oracle, suivez les étapes suivantes: Déterminez le nom de l'espace de table en exécutant la requête: sélectionnez Tablespace_name dans dba_tablespaces; Requête la taille de l'espace de table en exécutant la requête: sélectionnez SUM (Bytes) comme total_size, sum (bytes_free) comme disponible_space, sum (bytes) - sum (bytes_free) comme used_space à partir de dba_data_files où tablespace_

Comment résoudre le code brouillé dans Oracle Comment résoudre le code brouillé dans Oracle Apr 11, 2025 pm 10:09 PM

Oracle Bragled Les problèmes peuvent être résolus en vérifiant le jeu de caractères de la base de données pour s'assurer qu'ils correspondent aux données. Définissez le jeu de caractères client pour correspondre à la base de données. Convertir les données ou modifier les jeux de caractères de colonne pour faire correspondre les jeux de caractères de base de données. Utilisez des jeux de caractères Unicode et évitez les jeux de caractères mulabyte. Vérifiez que les paramètres de langue de la base de données et du client sont corrects.

Comment se connecter à un serveur cloud Comment se connecter à un serveur cloud Apr 11, 2025 pm 06:51 PM

Les étapes pour se connecter à un serveur Cloud via un client Oracle sont les suivantes: Créez une clé SSH et copiez la clé publique sur le serveur Cloud. Configurez le client Oracle et ajoutez les informations de connexion du serveur Cloud au fichier tnsnames.ora. Créez une nouvelle connexion de base de données dans le client Oracle, entrez le nom d'utilisateur, le mot de passe et DSN. Cliquez sur OK et vérifiez que la connexion est réussie.

Comment modifier le jeu de caractères Oracle Comment modifier le jeu de caractères Oracle Apr 11, 2025 pm 06:57 PM

Pour modifier le jeu de caractères Oracle, vous devez: sauvegarder la base de données; Modifiez les paramètres du jeu de caractères dans le fichier init.ora; redémarrer la base de données; modifier les tables et colonnes existantes pour utiliser le nouveau jeu de caractères; Recharger les données; Modifiez le lien de la base de données (facultatif).

Comment utiliser les procédures stockées pour Oracle Comment utiliser les procédures stockées pour Oracle Apr 11, 2025 pm 07:03 PM

Une procédure stockée est un ensemble d'instructions SQL qui peuvent être stockées dans une base de données et peuvent être appelées à plusieurs reprises comme une unité distincte. Ils peuvent accepter les paramètres (in, out, inout) et fournir les avantages de la réutilisation du code, de la sécurité, des performances et de la modularité. Exemple: Créez une procédure stockée Calculer_Sum pour calculer la somme de deux nombres et les stocker dans le paramètre OUT.

Comment configurer les variables d'environnement dans Oracle Comment configurer les variables d'environnement dans Oracle Apr 11, 2025 pm 07:18 PM

Oracle Environment Variable Configuration Guide: Créez une variable d'environnement Oracle_Home, pointant vers le répertoire d'Oracle Home. Ajoutez le répertoire binaire Oracle à la variable d'environnement de chemin. Définissez la variable d'environnement TNS_ADMIN (si le fichier est nommé à l'aide de TNS). Vérifiez les paramètres des variables d'environnement pour vous assurer que la sortie affiche les variables définies.

See all articles