الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

تبسيط ال LogMiner

Featured Replies

بتاريخ:

أولا ال LogMiner هو أداه نستطيع من خلالها الإطلاع على التغيرات التي حدثت على ال Database سواء كانت هذه التغيرات من نوع DML ك الإضافة والتعديل وغيره أو DDL كالتعديل على أي هيكل للبيانات
وطبعا السؤال هو من أين يأخذ هذه المعلومات....
من ال ArchiveLog files
طيب ماهي ال ArchiveLog Files
هي نسخ مؤرشفه من ملفات ال LogFiles التي يخزن بها أي عملية تعديل حتى قبل ال DataFiles ليستفاد منها في حال حدوث خطىء بالنظام

إذا لكي نتعامل مع ال LogMiner يجب أن تكون ال Database ArchiveLog Mode
فكيف نخليها ArchiveLog Mode راجع الرابط التالي على المنتدى
من هون


بسم الله نبدأ
أولا يجب أن نعدل ال init parametere" utl_file_dir" بقيمه تعبر عن ملف سوف نقوم بإستخدامه لنضع ال Dictionary تبعنا فيه....ويجب أن يكون هذا المسار موجود فعلا

ALTER SYSTEM SET UTL_FILE_DIR = 'D:\tmp' scope=spfile;
SHUTDOWN TRANSACTIONAL
STARTUP



ثم نقوم بإنشاء ال Dictionary تبعنا بواسطة الأمر التالي

EXEC DBMS_LOGMNR_D.BUILD('dictionary.ora', 'D:\tmp');



ثم نقوم بتسجيل ال ArchiveLog Files لكي يتعرف عليها ال LogMiner بواسطة الأمر التالي ونكرر هذه العمليه لجميع اللوقات المؤرشفة
ولكي نسهل عليك الأمر يمكن مشاهدة جميع الملفات المطلوبه بواسطة الأمر التالي

SELECT name FROM V$ARCHIVED_LOG; EXEC DBMS_LOGMNR.ADD_LOGFILE(LogFileName => 'هنا إسم الملف كامل ع المسار', Options => dbms_logmnr.NEW);



ثم نقوم ببدابه session لل LogMiner بواسطة الأمر التالي

EXEC DBMS_LOGMNR.START_LOGMNR(DictFileName => 'D:\TMP\dictionary.ora');



ثم نستطيع معرفة ماجرى بواسطة الإستعلام من هذا ال view كالتالي

SELECT timestamp, sql_redo, sql_undo
 FROM sys.v_$logmnr_contents WHERE seg_owner = 'HR';



وبعد الإنتهاء من معرفة ماجرى يجب أن نطفي ال LogMiner كالتالي

EXEC DBMS_LOGMNR.END_LOGMNR;


وسلامتكم
ولكي تكون المسألة أسهل ما يمكن فقد قمت بعمل السكربت التالي ليقوم بكل العمل عنكم وما عليكم إلا أن تكتبو الكويري الذي تريدوه أو تقومو بحذف الخطوه الأولا من تعديل لقيمة ال utl_file_dir وإغلاق الداتا وتشغيلها إذا كنتم عدلتموها مسبقا


Rem #  Purpose:    Work with Log Miner  
Rem #  Author:     DBA. Maher Atieh  


SET HEAD off PAGES 60

HOST MKDIR D:\tmp
ALTER SYSTEM SET UTL_FILE_DIR = 'D:\tmp' scope=spfile;
SHUTDOWN TRANSACTIONAL
STARTUP

EXEC DBMS_LOGMNR_D.BUILD('dictionary.ora', 'D:\tmp');

ALTER SYSTEM SWITCH LOGFILE;
SPOOL tmp.tmp
 SELECT 'EXEC DBMS_LOGMNR.ADD_LOGFILE(LogFileName => '||''''||name||''''||',Options => dbms_logmnr.NEW);'
   FROM V$ARCHIVED_LOG; SPOOL off
@tmp.tmp

EXEC DBMS_LOGMNR.START_LOGMNR(DictFileName => 'D:\Oracle9i\database\dictionary.ora');

SELECT timestamp, sql_redo, sql_undo
 FROM sys.v_$logmnr_contents WHERE seg_owner = 'HR';

EXEC DBMS_LOGMNR.END_LOGMNR;
SET HEAD on





والسلام ختام
DBA. Maher Atieh

بتاريخ:

مشكوووووووووووووور أخي ماهر وفي إنتظار المزيد الله يعطيك العافية :unsure:

  • بعد 2 أسابيع...
بتاريخ:
  • كاتب الموضوع

يا إخوان أنا آسف لو كان الموضوع مش واضح

ولكني جاهز لأي إستفسار


عذرا فقد أرسل لي أحد المشتركين في المنتدى رساله يقول بها

I can't understand any thing could you write it again with some understandable details....thanx

والله فرأت الموضوع أكثر من مرة ... ولاكن لا أدري أين المشكله


والسلام عليكم

بتاريخ:

السلام عليكم
ان شاء الله راح أجرب جميع الخطوات الي ذكرتها واعطيك نتيجة مايحصل معي ومشكوووور مره أخرى
تحياتي :angry:

  • بعد 3 أسابيع...
بتاريخ:

مشكور يا الغالي

تحياتي..

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.