How to configure Logminer in oracle step by step

Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail
LOGMINER :-

Logminer is a utility provided with the Oracle database server which mines the redologs or Archivelogs and data dictionary information to build the SQL statements and keeps the contents of the redolog file in the fixed view called ” V$logmnr_contents “.
LogMiner tool can help the DBA to the find changed records in redo log files by using a set of PL/SQL procedures and functions .
Internally Oracle uses the Log Miner technology for several other features,such as Flashback Transaction Backout,Streams, and Logical Standby Databases .Most often LogMiner is used for recovery purposes when the data consists of just a few tables or a single code change .

Steps for Configuring Logminer :-

In this Scenario,we are checking that Username who Dropped the Table using LogMiner utility.

Setting parameter UTL_FILE_DIR :

Normally we set the UTL_FILE_DIR parameter where you need to create dictionary file.From 12.2,we need to create directory object.

[oracle@orcl:~ localhost] mkdir -p /oradba/logminer

SQL> alter system set utl_file_dir='/u01/logminer' scope=spfile;

System altered.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE instance started.

Total System Global Area 1610612736 bytes
Fixed Size 8621232 bytes
Variable Size 1006633808 bytes
Database Buffers 587202560 bytes
Redo Buffers 8155136 bytes
Database mounted.
Database opened.

SQL> show parameter UTL_FILE_DIR;

NAME TYPE VALUE
------------- ----------- -------------
utl_file_dir string /u01/logminer
Create and grant acccess to directory :

SQL> CREATE OR REPLACE DIRECTORY LOG_DIR AS '/oradba/logminer';

Directory created.

SQL> GRANT READ, WRITE ON DIRECTORY LOG_DIR TO harry;

Grant succeeded.
Enable Supplemental logging:

SQL> select SUPPLEMENTAL_LOG_DATA_MIN from v$database;

SUPPLEME
--------
NO

SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

Database altered.
Build Logminer :

Creation of Dictionary file :

The dictionary file is used to translate this data into a more meaningful format. Specify a filename for the dictionary and a directory path name for the file. This procedure creates the dictionary file.

The dictionary file is created using the BUILD procedure in the DBMS_LOGMNR_D package.

SQL> BEGIN
sys.DBMS_LOGMNR_D.build (
dictionary_filename => 'lgmnrdict.ora',
dictionary_location => 'LOG_DIR');
END;
/

PL/SQL procedure successfully completed.
SQL> select member from v$logfile;

MEMBER
------------------------------------------------------------------
/oradb/app/oracle/oradata/ORCLDEMO/onlinelog/o1_mf_3_fm2fw8lr_.log
/oradb/app/oracle/oradata/ORCLDEMO/onlinelog/o1_mf_2_fm2fvl50_.log
/oradb/app/oracle/oradata/ORCLDEMO/onlinelog/o1_mf_1_fm2fvl47_.log

3 rows selected.
Adding logfiles to get analyzed :

Adding logfiles using NEW procedure first and add all logfiles using ADD_LOGFILE procedure.

SQL> BEGIN
DBMS_LOGMNR.add_logfile (
options => DBMS_LOGMNR.new,
logfilename => '/oradb/app/oracle/oradata/ORCLDEMO/onlinelog/o1_mf_3_fm2fw8lr_.log');

DBMS_LOGMNR.add_logfile (
options => DBMS_LOGMNR.addfile,
logfilename => '/oradb/app/oracle/oradata/ORCLDEMO/onlinelog/o1_mf_2_fm2fvl50_.log');

DBMS_LOGMNR.add_logfile (
options => DBMS_LOGMNR.addfile,
logfilename => '/oradb/app/oracle/oradata/ORCLDEMO/onlinelog/o1_mf_1_fm2fvl47_.log');

END;
/

PL/SQL procedure successfully completed.
Starting logminer process :-

SQL> BEGIN
-- Start using all logs
DBMS_LOGMNR.start_logmnr (
dictfilename => '/oradb/logminer/lgmnrdict.ora');
END;
/

PL/SQL procedure successfully completed.
Querying v$logmnr_contents :-

When the LogMiner session ends then v$logmnr_contents is no more accessible . Its always better to copy contents of v$logmnr_contents to a user table and then perform the analysis as it is quite expensive to query v$logmnr_contents .

Now we can catch that user who dropped the table, the user is ‘HARRY’ and also we can check who created the table.

SQL> select username,table_name,sql_redo from v$logmnr_contents where seg_name='SAN';

USERNAME TABLE_NAME SQL_REDO
---------- ----------- -------------------------------------
HARRY SAN create table san(num number,name varchar2(10));

SYS SAN ALTER TABLE "HARRY"."SAN" RENAME TO "BIN$dsifZpmIOhHgU4NWqMCSjA==$0" ;

HARRY SAN drop table harry.san AS
"BIN$dsifZpmIOhHgU4NWqMCSjA==$0" ;

3 rows selected.

Filtering Data by SCN:

To filter data by SCN (system change number), use the STARTSCN and ENDSCN parameters,

Demo :-

Check the current_scn before perform DML transaction

SQL> select to_char(current_scn) from v$database;

TO_CHAR(CURRENT_SCN)
--------------------
2619410
Execute DML statements

SQL> conn harry/harry;
Connected.
SQL> insert into emp values(1,100);

1 row created.

SQL> insert into emp values(2,200);

1 row created.

SQL> insert into emp values(3,300);

1 row created.

SQL> commit;

Commit complete.
Check the current_scn before perform DML transaction

SQL> select to_char(current_scn) from v$database;

TO_CHAR(CURRENT_SCN)
--------------------

2619497
Add list of logfiles to get analyzed

SQL> BEGIN
DBMS_LOGMNR.add_logfile (
options => DBMS_LOGMNR.new,
logfilename => '/oradb/app/oracle/oradata/ORCLDEMO/onlinelog/o1_mf_3_fm2fw8lr_.log');

DBMS_LOGMNR.add_logfile (
options => DBMS_LOGMNR.addfile,
logfilename => '/oradb/app/oracle/oradata/ORCLDEMO/onlinelog/o1_mf_2_fm2fvl50_.log');

DBMS_LOGMNR.add_logfile (
options => DBMS_LOGMNR.addfile,
logfilename => '/oradb/app/oracle/oradata/ORCLDEMO/onlinelog/o1_mf_1_fm2fvl47_.log');

END;
/

PL/SQL procedure successfully completed.
Specify SCN range to start logminer process

SQL> begin
DBMS_LOGMNR.start_logmnr (
dictfilename => '/oradb/logminer/lgmnrdict.ora',
startscn => 2619410,
endscn => 2619497);
END;
/

PL/SQL procedure successfully completed.
Check the log information v$logmnr_contents

SQL> SELECT OPERATION, STATUS, SQL_REDO FROM V$LOGMNR_CONTENTS WHERE SEG_OWNER = 'HARI' AND TABLE_NAME = 'EMP';

OPERATION STATUS SQL_REDO
---------- ------ -----------------------------------------------
INSERT 0 insert into "HARRY"."EMP"("EMPNO","SAL") values ('1','100');

INSERT 0 insert into "HARRY"."EMP"("EMPNO","SAL") values
('2','200');
INSERT 0 insert into "HARRY"."EMP"("EMPNO","SAL") values
('3','300');
Filtering Data By Time :

To filter data by time, set the STARTTIME and ENDTIME parameters in the DBMS_LOGMNR.START_LOGMNR procedure.

Demo :-

SQL> ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';

Session altered.

SQL> select sysdate from dual;

SYSDATE
--------------------
27-SEP-2018 03:13:13
Perform DML operations

SQL> conn harry/harry;
Connected.
SQL> insert into emp values(5,500);

1 row created.

SQL> delete emp where empno=1;

1 row deleted.

SQL> commit;

Commit complete.
SQL> ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';

Session altered.

SQL> select sysdate from dual;

SYSDATE
--------------------
27-SEP-2018 03:15:00
Add list of logfiles to get analyzed

SQL> BEGIN
DBMS_LOGMNR.add_logfile (
options => DBMS_LOGMNR.new,
logfilename => '/oradb/app/oracle/oradata/ORCLDEMO/onlinelog/o1_mf_3_fm2fw8lr_.log');

DBMS_LOGMNR.add_logfile (
options => DBMS_LOGMNR.addfile,
logfilename => '/oradb/app/oracle/oradata/ORCLDEMO/onlinelog/o1_mf_2_fm2fvl50_.log');

DBMS_LOGMNR.add_logfile (
options => DBMS_LOGMNR.addfile,
logfilename => '/oradb/app/oracle/oradata/ORCLDEMO/onlinelog/o1_mf_1_fm2fvl47_.log');

END;
/

PL/SQL procedure successfully completed.
Specify time range to start the logminer process

begin
dbms_logmnr.start_logmnr (
dictfilename => '/oradb/logminer/lgmnrdict.ora',
starttime => TO_DATE('27-SEP-2018 03:13:13', 'DD-MON-YYYY HH:MI:SS'),
endtime => TO_DATE('27-SEP-2018 03:15:00', 'DD-MON-YYYY HH:MI:SS'));
end;
/

PL/SQL procedure successfully completed.
Check v$logmnr_contents

SQL> SELECT OPERATION, STATUS, SQL_REDO FROM V$LOGMNR_CONTENTS WHERE SEG_OWNER = 'HARI' AND TABLE_NAME = 'EMP';

OPERATION STATUS SQL_REDO
---------- ------ --------------------------------------------------
INSERT 0 insert into "HARRY"."EMP"("EMPNO","SAL") values
('5','500');

DELETE 0 delete from "HARRY"."EMP" where "EMPNO" = '1' and
"SAL" = '100' and ROWID = 'AAASWiAACAAAAqYAAA';
Stopping logminer process:

Once the analysis is complete, logminer should be stopped using the END_LOGMNR procedure.

SQL> EXECUTE DBMS_LOGMNR.END_LOGMNR();

PL/SQL procedure successfully completed.

Accessing LogMiner Information :
LogMiner information is contained in the following views. We can use SQL to query them as we would any other view.
V$LOGMNR_CONTENTS : Shows changes made to user and table information.
V$LOGMNR_DICTIONARY : Shows information about the LogMiner dictionary file, provided the dictionary was created using the STORE_IN_FLAT_FILE option. The information shown includes the database name and status information.
V$LOGMNR_LOGS : Shows information about specified redo logs. There is one row for each redo log.
V$LOGMNR_PARAMETERS : Shows information about optional LogMiner parameters, including starting and ending system change numbers (SCNs) and starting and ending times.

58 thoughts on “How to configure Logminer in oracle step by step”

  1. We’re a group of volunteers and opening a new scheme in our community.
    Your web site provided us with valuable information to work on.
    You’ve done an impressive job and our entire community will
    be grateful to you.

  2. Blog sur les bienfaits et vertus de baie de Goji,
    lyciet de Chine, lyciet commun, lyciet de barbarie, baies de goji.
    Nom botanique : Lycium barbarum ou Lycium chinense.
    Le goji (lycium barbarum) est un petit fruit originaire de l’Himalaya.

    Ses bienfaits et ses propriétés sont multiples. Plus d’informations sur :
    https://www.goji-bio.ch/

  3. Do you need Increase ahrefs Domain rating with quality seo
    Backlinks Service?

    Ahrefs DR/UR Increase

    Why this is important and why you
    should care?
    1. People trust Ahrefs
    2. You pass Authority to your assets3. You increase the value of
    your PBNs
    4. You can sell each backlink on a DR30+ website for
    $150+…!!!
    5. You can sell guest posts for good $$

    Ahrefs DR 30+ Guaranteed $20 up , Up to 50+ DR

    You can check My Service on Fiverr here fiverr.com/hrobey

  4. déménager à petit tarif est maintenant réalisable au moyens des plateformes participatives comme mydemenageur.com
    alors n’hésitez plus et venez explorer leur site web.

  5. a la recherche de déménageurs spécialistes et de qualité ?
    Le site mydemenageur.com vous met directement en relation avec des spécialistes confirmés sur le déménagement.

  6. Its like you read my mind! You seem to understand so much approximately
    this, like you wrote the e-book in it or something. I
    feel that you simply can do with a few % to pressure the message house a little bit, but other than that, this
    is excellent blog. A great read. I will definitely be back.

  7. Une adresse e-mail configurée comme « catch-all » reçoit
    tous les e-mails envoyés à des adresses non existante ou créé à la
    volé manuellement ou avec un script. Avec un email catchall vous
    pouvez avoir un nombre illimité d’adresse
    email à un prix réduit. Pour acheter un catchall rendez vous sur
    https://www.catchall.fr/

  8. Piece of writing writing is also a fun, if you be acquainted
    with afterward you can write or else it is difficult to write.
    buy essay online

  9. Consultant Webmarketing et vrai autodidacte, Nicolas Sotton à appris à réaliser des sites web,
    les héberger sur internet et les les rendre connus à
    l’aide des moteurs de recherche. Nicolas à fait de la publicité web sa spécialité !

  10. I simply could not leave your website before suggesting that I really loved the standard info
    a person supply in your guests? Is gonna be
    back steadily in order to check up on new posts

  11. Comparateur des excellentes prestations et promos des déménageurs obtenez des tarifications
    de déménagement sans obligation d’achat et bénéficiez d’un suivi sur-mesure : évaluation de votre demande,
    mise en relation avec des déménageurs, liste de vos devis de
    départ d’un hébergement sur-mesure et à un tarif correcte.

    Remplissez un enfantin questionnaire pour générer une tarification accessible sur
    internet et prend rdv avec le déménageur que vous désirez.

    Déménagement de partout en france.

  12. Blog sur les bienfaits et vertus de baie de Goji, lyciet de Chine, lyciet
    commun, lyciet de barbarie, baies de goji. Nom
    botanique : Lycium barbarum ou Lycium chinense.

    Le goji (lycium barbarum) est un petit fruit originaire
    de l’Himalaya. Ses bienfaits et ses propriétés sont multiples.
    Plus d’informations sur : https://www.goji-bio.ch/

  13. calculez rapidement le tarif de votre déménagement avec
    mydemenageur.com et obtenez en quarante huit heures plusieurs devis,
    vous verrez d’ailleurs des annonces de non pros proposant leur soutien.

  14. Un déménagement peut être un vrai puzzle : avec d’une part le démontage de l’ameublement, les
    boîtes de rangement pour le déménagement et le remorquage.
    heureusement le site mydemenageur.com permet de faire connaissance de
    non professionnels pour toutes ces tracasseries.

  15. Depuis 2006, nicolaseo s’est consacré à l’optimisation pour les sites
    de recherches en développant moult logiciels tels que ghstool
    ou content spinning grâce à l’automatisation des tâches
    qui peuvent être automatisé.

  16. examinez rapidement le tarif de votre nouvelle installation avec mydemenageur.com et procurez-vous en 48
    heures divers devis, vous verrez aussi de la petite annonce gratuite de non pros comptant leur aide.

  17. vous pensez qu’avec des expressions phares super concurrentiels
    vous n’avez pas la possibilité d’ être pop sur la toile ?
    Venez bénéficier d’un search engine optimisation à temps plein pour 500 euros par mois.

  18. Yesterday, while I was at work, my cousin stole my iphone and tested to see if it can survive
    a thirty foot drop, just so she can be a youtube
    sensation. My iPad is now destroyed and she has 83 views.
    I know this is totally off topic but I had to share it with someone!

  19. vous avez du mal avec les manuels pour l’assemblage de meubles ?
    rendez-vous sur le site mydemenageur.com qui va vous mettre en relation avec
    des hommes et des femmes pouvant vous aider dans votre ville.

  20. Trên đây là ba đối tượng thường xuyên dùng dịch vụ mang đến thuê laptop tại công ty mà chúng tôi đã thống kê.

  21. vous êtes à la recherche de l’assistance
    pour votre déménagement ? rien n’est aussi simple avec l’interface mydemenageur.com vous permettant de poster une annonce accessible sur internet avec zéro pour cent de commission.

  22. vous êtes à la recherche de l’aide pour votre nouvelle
    installation ? rien n’est aussi simple avec l’interface mydemenageur.com qui vous permet de laisser une annonce
    accessible sur internet sans aucune commission.

  23. Với những quý khách có thể trạng gầy nhiều năm
    thì chắc chắn họ luôn luôn có thắc mắc ” ăn gì
    mang đến bé nhỏo?

  24. les mises à jour nombreuses du moteur de recherche sont devenues enjeux pour l’optimisation off
    site naturel mais heureusement la communauté de black-hat-seo propose un service qui offre la possibilité de progressivement
    lee.

  25. le collagène est un composant fondamental essentielle pour le renouvellement des cellules entre autre
    du visage. Vous pourrez trouver cette molécule dans les
    originaux suppléments nutritifs dans la boutique.

  26. Depuis 2006, nicolas sotton s’est adonné à l’optimisation pour les moteurs de
    recherche en créant plusieurs softs tels que ghstools.fr ou spinning grâce à
    l’automatisation des tâches qui peuvent être automatisé.

  27. Comment trouver des clients potentiels ? Le bouche-à-oreille, la
    pub locale ou alors les sites de devis sont les meilleures garanties.
    Découvrez nos services pour obtenir des demandes de devis
    de particuliers qui cherchent un artisan des chantiers : artisan électricien, plombier, couvreur, architecte,…

  28. Les plombiers de Débouchetout professionnels en chaudière sont outillés de
    l’ensemble des pièces détachées : résistance, groupe de protection, thermostat,
    dispositif réduisant la pression,… afin de vous certifier une prestation très
    rapide.

  29. You made some good points there. I looked on the web to find out more about the issue and found most individuals will go along with your views on this site.

  30. I’m really impressed with your writing skills as well as
    with the layout on your weblog. Is this a paid theme or did you customize it
    yourself? Anyway keep up the excellent quality writing, it is
    rare to see a great blog like this one nowadays.

  31. vous souhaitez arrondir vos fins de mois tout en effectuant de nouvelles connaissances ?
    visitez les annonces de demande d’aide au départ de votre
    logement formulées par des non pros sur mydemenageur.com.

  32. vous avez des soucis de santé et vous n’avez pas envie de redemander à vos proches ?

    Le site mydemenageur.com vous recommande de poster une annonce en ligne à titre gracieux dans l’idée de trouver les personnes
    les mieux adaptées.

Leave a Reply

Your email address will not be published. Required fields are marked *