الانتقال إلى المحتوى

كل ما تريد معرفته عن الaudit


الباشا

Recommended Posts

مراقبة قاعدة البيانات هو جزء من تأمين قاعدة البيانات ونستطيع من خلال عملية المراقبة ايجاد كثير من الاجابات لبعض الامور التى ستظل غامضة لولا عملية المراقبة ، ويمكن تقسيم عملية المراقبة الى ثلاث انواع :-

1- Standard Database Auditing وهو لمتابعة وحفظ معلومات عن عمليات الإتصال وقطع الإتصال بقاعدة البيانات ، وايضاً متابعة أستخدام (System Privileges and Object Privileges ) داخل قاعدة البيانات ، كعمليات الإنشاء والحذف والإستعلام والتعديل وغيره من العمليات .

2- Value-based auditing: فى النوع الاول تابعنا عمليات الإتصال وكذلك متابعة العمليات داخل قاعدة البيانات ، ولكن قد نحتاج للحفاظ عل القيم التى يتم تغيرها فى قاعدة البيانات .

3- Fine-grained auditing: هذا النوع لحفظ عبارات الSql التى تم تنفيذها فى قاعدة البيانات .



ولكن قبل التفصيل فى انواع المراقبة لابد من الإشارة أن قاعدة البيانات اوركل 10g لابد من تهيئتها قبل بدء فى عمليات المراقبة بواسطة المتغير AUDIT_TRAIL الذى يأخذ أحد القيم التالية :-
1- NONE: وهى تعنى أن قاعدة البيانات غير جاهزة لعملية المراقبة .
2- DB: وهى تعنى ان معومات المراقبة يتم حفظها فى قاعدة البيانات فى جداول تنتمى للمستخدم SYS .
3- OS: وهى تعنى أن معلومات المراقبة يتم حفظها على مستوى نظام التشغيل ، فإذا كنا نعمل على بيئة ويندوز Widows فان البيانات تحفظ فى الEvent Log ، اما إذا كنا نعمل على UNIX or LINUX فإن المعلومات تخزن كملفات فى المسار المحدد على المتغير AUDIT_FILE_DEST .


الاصدار اوركل 10g يدعم مختلف انواع المراقبة ، بحيث يستطيع مدير قاعدة البيانات مراقبة كل الاحداث التى تحدث فى قاعدة البيانات ، تخيلت معى حجم البيانات التى يتم تخزينها إذا قمنا بمراقبة كل ما يحدث فى قاعدة البيانات لا شك أن ذلك سينعكس سلباً على أداء قاعدة البيانات لذا كان لزاماً على مدير قاعدة البيانات التركيز فى المراقبة بحيث يتم مراقبة ما نحتاجه دون الافراط فى المراقبة .
فإذا أردنا مثلاً مراقبة بعض الجداول فالأفضل التركيز على تحديد العمليات التى يجب متابعتها مثلاً فقط الحذف ، اما اذا قمت بمتابعة كل ما يحدث للجداول فإن ذلك سيؤثر على اداء قاعدة البيانات فسوف يتم متابعة الإستعلام والتعديل والمسح وغيره ، إذا التركيز امر مهم فى عملية المراقبة .



واول ما يلزمنا فعله هو تهيئة قاعدة البيانات بتغير قيمة المتغير AUDIT_TRAIL من القيمة NONE الى احد القيم التالية (DB OR OS) ولنفترض هنا أننا نريد تخزين معلومات المراقبة داخل قاعدة البيانات إذاً نختار القيمة DB.

لكن قبل ذلك نتأكد من المتغير AUDIT_TRAIL.

909814017.jpg

نقوم بتحويل قيمة المتغير AUDIT_TRAIL ال القيمة DB مع مراعاة أن هذا المتغير غير اّلى ، أى يحتاج إلى إغلاق وفتح قاعدة البيانات حتى تتأثر قيمة المتغير .

838616952.jpg

ثم نغلق ونفتح قاعدة البيانات ونتأكد من قيمة المتغير .

715246043.jpg

1- Standard Database Auditing:كما ذكرنا سابقاً هذا النوع من المراقبة يتركز على مراقبة عملية الاتصال بقاعدة البيانات وكذلك متابعة إستخدام (System Privileges and Object Privileges ) .
كما يجب الذكر أن هناك خيارين أثناء عملية المراقبة (BY SESSION & BY ACCESS ) ،
BY SESSION: وهى تعنى تخزين حقل واحد من المعلومات أثناء عمليات المراقبة لنوع معين من العمليات لكل SESSION ، ولتضح الرؤية أكثر لنفترض أننا قمنا بمراقبة عملية التعديل على جداول مستخدم معين ولنفترض أنه X ، فقام احد المستخدمين بفتح SESSION واستخدم هذه الSESSION لتعديل 5 جداول تنتمى للمستخدم X. فإن عملية المراقبة ستقوم بتخزين حقل واحد فقط لعملية التعديل ما دام أنه قام بالتعديل بنفس الSESSION ، اى بمعنى اخر أنها توازى عبارة GROUP BY SESSION.
BY ACCESS: يمكن اتخاذ نفس المثال السابق ، لكن هنا سيتم تخزين 5 حقول كل حقل هو عبارة عن عملية التعديل التى حدثت لكل جدول.
لا شك أن الخيار BY SESSION قد لا يكون كافياً احياناً لمعرفة تفاصيل معلومات المراقبة لذا قد نلجأ للخيار BY ACCESS الذى نجد فيه تفاصيل أكثر لكن بالطبع يزيد عمليات تخزين المعلومات.

فى هذا النوع من المراقبة كما ذكرنا الافضل فيه عملية التركيز ويكون التركيز بتحديد المستخدم كذلك بتحديد نجاح او فشل العملية (SUCCESSFUL OR NOT SUCCESSFUL) .

وهناك عدة أنوع من المراقبة فى هذا النوع :-


أ- SESSION AUDITING:
وهى جزء من النوع الاول من المراقبة Standard Database Auditing ، بحيث يتم مراقبة عمليات الإتصال وقطع الإتصال بقاعدة البيانات ، ويمكن التركيز بتحديد المستخدم الذى نريد مراقبة عملياتة اتصاله كما يمكن متابعة كل المستخدمين بإستخدام الامر AUDIT SESSION كما يمكن التركيز ايضاً بتحديد عملية نجاح أو فشل عملية الإتصال .

نفترض أننا نريد مراقبة كل عمليات الإتصال الناجحة وقطع الإتصال بالنسبة للمستخدم TEST ولأننا نريد معرفة وقت الإتصال وقطع الإتصال فالأفضل استخدم الخيار BY ACCESS.

483419084.jpg

ماذا الان لو قام المستخدم TEST بالاتصال بقاعدة البيانات

455483527.jpg

الان مدير قاعدة البيانات يستطيع أن يشاهد معلومات عن عملية الإتصال اعلاه

576043593.jpg

ظهر لمدير قاعدة البيانات ان المستخدم TEST قام بالإتصال بقاعدة البيانات بالتاريخ والزمن المحدد من الجهاز NBS كما يمكن استعراض معلومات اخرى عن اسم مستخدم الجهاز وغيره من المعلومات .

ماذا لو قام المستخدم TEST بقطع الإتصال ؟
بالطبع ستظهر لمدير قاعدة البيانات معلومات اضافية

231173909.jpg

الان يظهر لمدير قاعدة البيانات الان المستخدم TEST قام بقطع الاتصال بقاعدة البيانات فى الزمن المحدد اعلاه ، اى أنه ظل متصل بقاعدة البيانات حوالى 21 دقيقة .

يمكن ايضاً استعلام معلومات الاتصال وقطع الاتصال بقاعدة البيانات بواسطة الجدول DBA_AUDIT_TRAIL .
إذا معلوماات الاتصال وقطع الإتصال بقاعدة البيانات متوفرة فى كل من (DBA_AUDIT_SESSION & DBA_AUDIT_TRAIL)

يمكن لمدير قاعدة البيانات الإستعلام عن خيارات المراقبة التى قام بتهيئتها فى قاعدة البيانات بواسطة
DBA_OBJ_AUDIT_OPTS
DBA_STMT_AUDIT_OPTS
DBA_PRIV_AUDIT_OPTS

846925354.jpg

بالطبع يمكن إلغاء عملية المراقبة ، فلو أردنا إلغاء عملية مراقبة إتصال المستخدم TEST التى قمنا بمراقبتها سابقاً.

616856271.jpg

الان لو قمنا بعملية استعلام لعرض خيارات المراقبة التى قمنا بتهيئتها فلن نجد خيار مراقبة اتصال المستخدم TEST.

733458199.jpg


للموضوع بقية .

رابط هذا التعليق
شارك


ب- SQL STATEMENT AUDITING:
تخيل معى أن مدير قاعدة البيانات يريد مراقبة عمليات الDDL مثل إنشاء او حذف جدول . فى هذا النوع من المراقبة يمكن التركيز بواسطة تحديد المستخدم وكذلك بواسطة نجاح او فشل العملية ، لكن هذا فى إطار ما يملك المستخدم ، فلو قام مستخدم مثلاً بإنشاء جدول فى SCHEMA لمستخدم اخر فإن هذا النوع من المراقبة يدخل فيما يسمى SYSTEM PRIVILEGE AUDITING وهو ما سنناقشه لاحقا ، أما هنا فقط فى اطار ما يمكلك المستخدم فقط .

ولنفترض أننا نريد مراقبة عملية إنشاء الجداول بواسطة المستخدم TEST داخل مساحته اى فى نفس الSCHEMA.

350719755.jpg

ماذا لو قام الان المستخدم TEST بإنشاء جدول .

176606472.jpg

ستظهر المعلومات لمدير قاعدة البيانات .

398614453.jpg

لكن لو قام المستخدم TEST مثلاً بإنشاء جدول فى SCHEMA اخرى فإن خيارات المراقبة اعلاه لن تاتى بمعلومات اللهم إلا إذا رقبنا الصلاحية CREATE ANY TABLE وهو ما سنناقشه فى الخطوة القادمة .

يمكن الإستعلام عن الخيار التى قمنا بتهيئتها لمراقبة SQL STATEMENT بواسطة :
DBA_STMT_AUDIT_OPTS
DBA_PRIV_AUDIT_OPTS

429602932.jpg

يمكن إلغاء المراقبة بواسطة

679011667.jpg



ج- SYSTEM PRIVILEGE AUDITING:
وذلك لمراقبة عمليات استخدام الصلاحيات SYSTEM PRIVILEGES داخل قاعدة البيانات ، مثلاً الصلاحية CREATE ANT TABLE ، بالطبع يمكن تركيز عملية مراقبة الصلاحيات بواسطة مستخدم معين كذلك بواسطة نجاح العملية أو فشلها ، فى الاصل يتم تخزين عمليات مراقبة الصلاحيات SYSTEM PRIVILEGES كحقل لكل عملية وذلك لإستخدام الخيار BY ACCESS فى الاصل لكن بالطبع يمكن استعمال الخيار BY SESSION لتقليل عمليات تخزين المعلومات فيتم تخزين حقل واحد لكل SESSION قامت بإستخدام الصلاحية المراقبة .

ولنفترض أننا نريد مراقبة الصلاحية CREATE ANY TABLE للمستخدم TEST ، اى بمعنى اخر أننا نريد مراقبة كل الجداول التى يقوم المستخدم TEST بإنشاءها فى SCHEMA اخرى .
اى مستخدماً الصلاحية CREATE ANY TABLE وهى تعنى إنشاء جدول فى SCHEMA أخرى.

877404397.jpg


الان ماذا لو قام المستخدم TEST بإنشاء جدول فى TEST SCHEMA اى فى مساحة المستخدم TEST.

144817866.jpg

بالطبع يستطيع مدير قاعدة البيانات متابعة هذه الخطوة .

448127127.jpg

نعم لقد قام المستخدم TEST بإنشاء جدول EMPLOYEE فى المستخدم EMP فى الزمن المحدد اعلاه .

بالطبع يمكن متابعة باقى الصلاحيات مثلاً DROP ANY TABLE)) وغيرها من الصلاحيات SYSTEM PRIVILEGES.

للاستعلام عن تهيئة خيارات مراقبة ال SYSTEM PRIVILEGES.

179648791.jpg

يمكن إلغاء المراقبة


للموضوع بقية

رابط هذا التعليق
شارك


ب- SQL STATEMENT AUDITING:
تخيل معى أن مدير قاعدة البيانات يريد مراقبة عمليات الDDL مثل إنشاء او حذف جدول . فى هذا النوع من المراقبة يمكن التركيز بواسطة تحديد المستخدم وكذلك بواسطة نجاح او فشل العملية ، لكن هذا فى إطار ما يملك المستخدم ، فلو قام مستخدم مثلاً بإنشاء جدول فى SCHEMA لمستخدم اخر فإن هذا النوع من المراقبة يدخل فيما يسمى SYSTEM PRIVILEGE AUDITING وهو ما سنناقشه لاحقا ، أما هنا فقط فى اطار ما يمكلك المستخدم فقط .

ولنفترض أننا نريد مراقبة عملية إنشاء الجداول بواسطة المستخدم TEST داخل مساحته اى فى نفس الSCHEMA.

350719755.jpg

ماذا لو قام الان المستخدم TEST بإنشاء جدول .

176606472.jpg

ستظهر المعلومات لمدير قاعدة البيانات .

398614453.jpg

لكن لو قام المستخدم TEST مثلاً بإنشاء جدول فى SCHEMA اخرى فإن خيارات المراقبة اعلاه لن تاتى بمعلومات اللهم إلا إذا رقبنا الصلاحية CREATE ANY TABLE وهو ما سنناقشه فى الخطوة القادمة .

يمكن الإستعلام عن الخيار التى قمنا بتهيئتها لمراقبة SQL STATEMENT بواسطة :
DBA_STMT_AUDIT_OPTS
DBA_PRIV_AUDIT_OPTS

429602932.jpg

يمكن إلغاء المراقبة بواسطة

679011667.jpg



ج- SYSTEM PRIVILEGE AUDITING:
وذلك لمراقبة عمليات استخدام الصلاحيات SYSTEM PRIVILEGES داخل قاعدة البيانات ، مثلاً الصلاحية CREATE ANT TABLE ، بالطبع يمكن تركيز عملية مراقبة الصلاحيات بواسطة مستخدم معين كذلك بواسطة نجاح العملية أو فشلها ، فى الاصل يتم تخزين عمليات مراقبة الصلاحيات SYSTEM PRIVILEGES كحقل لكل عملية وذلك لإستخدام الخيار BY ACCESS فى الاصل لكن بالطبع يمكن استعمال الخيار BY SESSION لتقليل عمليات تخزين المعلومات فيتم تخزين حقل واحد لكل SESSION قامت بإستخدام الصلاحية المراقبة .

ولنفترض أننا نريد مراقبة الصلاحية CREATE ANY TABLE للمستخدم TEST ، اى بمعنى اخر أننا نريد مراقبة كل الجداول التى يقوم المستخدم TEST بإنشاءها فى SCHEMA اخرى .
اى مستخدماً الصلاحية CREATE ANY TABLE وهى تعنى إنشاء جدول فى SCHEMA أخرى.

877404397.jpg


الان ماذا لو قام المستخدم TEST بإنشاء جدول فى TEST SCHEMA اى فى مساحة المستخدم TEST.

144817866.jpg

بالطبع يستطيع مدير قاعدة البيانات متابعة هذه الخطوة .

448127127.jpg

نعم لقد قام المستخدم TEST بإنشاء جدول EMPLOYEE فى المستخدم EMP فى الزمن المحدد اعلاه .

بالطبع يمكن متابعة باقى الصلاحيات مثلاً DROP ANY TABLE)) وغيرها من الصلاحيات SYSTEM PRIVILEGES.

للاستعلام عن تهيئة خيارات مراقبة ال SYSTEM PRIVILEGES.

179648791.jpg

يمكن إلغاء المراقبة


للموضوع بقية

رابط هذا التعليق
شارك


د- OBJECT PRIVILEGE AUDITING:
وهذا النوع لمراقبة العمليات التى تحدث على الكائنات من جداول TABLES ومناظير VIEWS وغيرها من الكائنات .
يمكن التركيز بواسطة تحديد المستخدم وكذلك بواسطة نجاح أو فشل العملية . الاصل فى هذا النوع من المراقبة أن تكون BY SESSION ولكن يمكن تحديد الخيار BY ACCESS.

لنفترض أننا نريد مراقبة عمليات الإضافة فى الجدول USER_MASTER الموجود فى الSCHEMA التى تسمى TEST.

265479817.jpg

الان لو قام المستخدم TEST بإضافة بيانات فى الجدول USER_MASTER .

543094923.jpg

يستطيع مدير قاعدة البيانات متابعة ذلك .

507209864.jpg

للاستعلام عن خيارات تهيئة مراقبة ال OBJECT PRIVILEGES.

996471745.jpg

هناك ثلاث قيم :
- : تعنى عدم المراقبة .
A : تعنى أن معلومات المراقبة تخزن BY ACCESS .
S : تعنى أن معلومات المراقبة تخزن BY SESSION.

لاحظ أنه مقابل الحقل INS وجدت القيمة A/A اى أنه تتم مراقبة عملية الINSERT بواسطة الخيار BY ACCESS سواء نجحت العملية أو فشلت ، اما إذا كان الخيار WHENEVER SUCCESSFUL فإن القيمة ستكون A/-.

يمكن إلغاء عملية المراقبة بواسطة.

185189693.jpg


هكذا نكون قد ناقشنا الخيارات المتاحة للمراقبة التى تنتمى للجزء الاول Standard Database Auditing وهى :

SESSION AUDITING.
SQL STATEMENT AUDITING
SYSTEM PRIVILEGE AUDITING
OBJECT PRIVILEGE AUDITING







2- Value-Based Auditing:
فى النوع الأول من المراقبة Standard Database Auditing استطعنا مراقبة وحفظ معلومات عن العمليات التى تحدث فى قاعدة البيانات ، لكن قد نحتاج احياناً لحفظ القيم التى يتم تعديلها او حذفها فى قاعدة البيانات ، هذه القيم لا يتم حفظها فى الStandard Database Auditing .
يعمل هذا النوع من المراقبة Value-Based Auditing معتمداً على خلق Trigger بحيث يتم تنفيذه بعد عملية التعديل أو المسح ليحفظ المعلومات والقيم التى نريدها ويحفظها فى جدول نقوم بإنشاءه خصيصاً لتخزين هذه المعلومات .

بالطبع هذا النوع من المراقبة Value-Based Auditing يقلل من أداء قاعدة البيانات اكثر من النوع Standard Database Auditing وذلك لأن الTrigger يتم تنفيذه بعد كل عملية تعديل أو مسح .

ولنفترض الان أننا نريد مراقبة وحفظ القيم المعدلة فى الحقل BOOK_NAME الموجودة فى الجدول BOOK المملوك للمستخدم TEST.

يلزم مدير قاعدة البيانات اولاً تحديد المعلومات التى يريد حفظها ولنفترض أنها :-
1- IP Address للجهاز الذى استخدم للإتصال بقاعدة البيانات .
2- اسم مستخدم نظام التشغيل الذ قام بالإتصال بقاعدة البيانات .
3- التاريخ والزمن .
4- اسم الكتاب قبل التعدل وبعد التعديل .

ثانياً يلزم مدير قاعدة البيانات إنشاء الجدول لتخزين المعلومات عن عمليات التعديل ,

384205606.jpg

ثالثاً يقوم مدير قاعدة البيانات بإنشاء الTrigger.

303649302.jpg

هكذا تم إنشاء الTrigger ولنفترض الان أن المستخدم TEST قام بتعديل فى الجدول BOOK.

204786492.jpg

يستطيع مدير قاعدة البيانات متابعة ذلك التعديل بواسطة الجدول BOOK_AUDIT.

182907409.jpg


للموضوع بقية .

رابط هذا التعليق
شارك

3- Fine-Grained Auditing (FGA):

الأنواع السابقة من المراقبة تستطيع حفظ معلومات عن العمليات التى تحدث فى قاعدة البيانات كما يمكن حفظ القيم التى تتغير ، أما هذا النوع من المراقبة فهو لحفظ عبارات الSQL التى تنفذ فى قاعدة البيانات ويشمل كل من العبارات الاتية : (SELECT & INSERT & UPDATE & DELETE) وذلك باستخدام DBMS_FGA PACKAGE ، هذه الحزمة تحتوى على اربعة من الProcedure :-

1- ADD_POLICY: لإضافة POLICY جديدة لمراقبة عبارات الSQL فى قاعدة البيانات وذلك حسب القيم التى سنحددها فى الإجراء .

2- PROP_POLICY: لحذف POLICY AUDIT موجودة.

3- ENABLE_POLICY: لتشغيل POLICY AUDIT كانت معطلة .

4- DISABLE POLICY: لتعطيل عمل POLICY AUDIT.


ولنفترض الان أننا نريد حفظ عبارات الSELECT التى تحدث للجدول BOOK المملوك للمستخدم TEST . وحتى لا نحفظ كل عبارات الSELECT التى تحدث للجدول BOOK فمن الممكن التركيز على بعض الحقول وذلك بإستخدام بعض الشروط .
مثلاً WHERE BOOK_NO=1.
وذلك لتركيز عملية المراقبة .

مدير قاعدة البيانات دائماً يجب ان يراعى أن لا يفرط فى عملية المراقبة ، بل يركز دائما على المطلوب .


الان نقوم بتنفيذ الإجراء ADD_POLICY وذلك لإضافة AUDIT POLICY تقوم بحفظ عبارات الSELECT التى تنفذ على الجدول BOOK وذلك حسب الشروط التى نحددها .

بالطبع هذا الإجراء Procedure يحتوى على مجموعة من المتغيرات يجب أن نحدد لها قيم ، هذه المتغيرات سنتحدث عنها بشى من التفصيل لاحقاً .

هذه الإجراءات Procedures موجودة فى قاعدة البيانات داخل الحزمة DBMG_FGA اى لا تحتاج منك انشاؤها فقط تحتاج لتنفيذها بعد تحديد قيم المتغيرات .

505385356.jpg


OBJECT_SCHEMA: وهى تعنى المستخدم الذى يحتوى الجدول او الكائن الذ نريد مراقبة عبارات الSELECT عليه.
OBJECT_NAME: وهو الكائن الذى نريد مراقبة عبارات الSELECT عليه.
POLICY_NAME: وهو اسم الAUDIT POLICY التى نريد خلقها.
AUDIT_CONDITION: وهى لتحديد الشروط لتركيز عملية المراقبة.
AUDIT_COLUMN: وهو العمود الذى نريد تركيز عملية المراقبة عليه.
HANDLER_SCHEMA: احياناً قد نحتاج لتحديد اجراء Procedure ليقوم ببعض الاحداث الإضافية اثناء عملية المراقبة ، فنقوم هنا يتحديد المستخدم الذى يحوى هذا الإجراء.
HANDLER_MODULE: هنا لتحديد اسم هذا الإجراء Procedure.
: ENABLE لتفعيل عمل AUDIT POLICY ويأخذ هذا المتغير القيمة TRUE فى الاصل.
: STATEMENT_TYPES لتحديد نوع عبارات الSQL التى نريد مراقبتها والاصل SELECT.
AUDIT_TRAIL: لتخزين عبارات الSQL المراقبة فى الAUDIT_TRAIL.
AUDIT_COLUMN_OPTS: ماذا لو قمت بتحديد عدد من الاعمدة فى المتغير AUDIT_COLUMN ، هنا لتحديد هل (ANY OR ANY) الاصل يحتوى عل القيمة 0 وهى تعنى ANY.



الان ماذا لو قام المستخدم EMP بعمل استعلام على الجدول BOOK المنتمى للمستخدم TEST بنفس الشروط المذكورة اعلاه ؟

550990961.jpg

يستطيع مدير قاعدة البيانات الان متابعة هذا الإستعلام.

466764379.jpg

لو قام المستخدم EMP بعمل إستعلام اخر لم تتحق فيه الشروط الموضحة فى الإجراء ADD_POLICY فإن معلومات هذا الإستعلام لن تظهر لمدير قاعدة البيانات.
بالطبع يستطيع مدير قاعدة البيانات الاستعلام عن AUDIT_POLICIES التى تعمل فى قاعدة البيانات .
DBA_AUDIT_POLICIES

159559229.jpg


يمكن تعطيل هذه الAUDIT POLICY بواسطة الإجراء DISABLE_POLICY.

445888925.jpg

كما يمكن تفعيلها مره اخرى بواسطة بواسطة الاجراء ENABLE_POLICY.

616003683.jpg

واخيراً يمكن حذف AUDIT POLICY بواسطة الإجراء DROP_POLICY.

998543659.jpg


الان لو قمت بعمل إستعلام عن الAUDIT_POLICIES فلن تجد هذه الPOLICY فى قاعدة البيانات.

رابط هذا التعليق
شارك

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

رابط هذا التعليق
شارك

  • بعد 2 أسابيع...

الأخ الحبيب

الباشا

جزاك الله خيرا على هذه المجهود المقدر
بارك الله فيك و زادك علما .

أخوكم

تم تعديل بواسطة ابن الجوزي
رابط هذا التعليق
شارك

  • بعد 3 أسابيع...
  • بعد 2 أسابيع...
  • بعد 1 شهر...
  • بعد 6 شهور...
  • بعد 1 شهر...
  • بعد 1 شهر...
  • بعد 4 شهور...

السلام عليكم

مرفق لكم ملف يحوي جميع ما يخص موضع Oracle Database Security & Monitoring واعتذر لاختفاء الصور عن الموضوع

Oracle_Database_Security___Monitoring.doc

رابط هذا التعليق
شارك

  • بعد 1 شهر...

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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