• 1
حسام فيصل

دورة في إدارة قواعد البيانات أوراكل


سؤال

السلام عليكم و رحمة الله :

إن مجال إدراة قواعد البيانات أوركل لا يجد حقه في هذا المنتدى ، لأن أغلب المشاركات تتمحور حول تطوير التطبيقات بشكل عام ، لذلك رغبت في أن أستغل فترة الصيف لنقوم بسلسلة دروس حول إدارة القاعدة ، أي يمكن أن نعتبرها دورة متكاملة في إدارة القاعدة من المستخدمين حتى البنى الفيزيائية كـDatafiles و Redo log Files و البنى المنطقية Table Spaces ، مروراً بالنسخ الإحتياطي Backup و استخدام RMAN ... إلخ بحسب ما يسمح لنا الوقت .

أتمنى أن تأخذ هذ الدورة بأهمية و أجد التفاعل و يتم التثبيت لكي نستثمر الوقت بأفضل وسيلة للتعلم .

و بدلاً من كثرة الكلام لنبدأ الفعل مع القسم الأول إدارة المستخدمين .

ما هي الحاجة إلى وجود مستخدمين ؟

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

عندما يريد أحد التعامل مع أوراكل يجب أن تكون له سماحية الدخول إلى النظام و هذه السماحية تؤخذ بالطرق : :

1- Data Dictionary قاموس البيانات .

2- Operating System نظام التشغيل .

3- Networking الشبكة .

سيكون موضوع بحثنا هو الطريقتين الأولى و الثانية .

قبل البدء بعملية إنشاء المستخدمين يجب أن أوضح المصطلحات التالية :

1- Schema المخطط : و هي مجموعة objects التي يملكها المستخدم أي الجداول – index –PL/SQL CODE ....

2- Table Space الفضاء الجدولي : منطقياً هو المكان المخصص لكل مستخدم لكي يقوم بتخزين بياناته عليه ، فيزيائياً هو مجموعة من الملفات التي تخزن البيانات ندعوها data file .

3- Privileges الصلاحية : و تعني إمكانية قيام مستخدم معين بعملية ما على البيانات أو إنشاء بنى جديدة أو حذف بنى موجودة ....إلخ .

4-Quotas : و هي السماحة المخصصة للمستخدم للتخزين على فضاء tablespace معين ...

تعليمة إنشاء user :

الشكل القياسي لها :

[color=#CC0000][b]CREATE USER user
IDENTIFIED {BY password | EXTERNALLY}
[ DEFAULT TABLESPACE tablespace ]
[ TEMPORARY TABLESPACE tablespace ]
[ QUOTA {integer [K | M ] | UNLIMITED } ON tablespace
[ QUOTA {integer [K | M ] | UNLIMITED } ON tablespace
]...]
[ PASSWORD EXPIRE ]
[ ACCOUNT { LOCK | UNLOCK }]
[ PROFILE { profile | DEFAULT }][/b][/color]

مخيفة ، أليس كذلك ؟

بالطبع لا ، فهي بسيطة و سهلة و سنرى ذلك في سياق السلسة بإذن الله ..

لنبدأ بـ :

1- إنشاء Database User :

كما تحدثنا سابقاً فإنه توجد عدة طرق لإنشاء مستخدم منها Data Dictionary . و فيها يأخذ المستخدم صلاحية الدخول من أوركل أي يكون لديه password . لتعليمة الإنشاء المثال التالي:

create user Arabteam 
identified by arabteam_pass

إذا أردنا أن نتوسع أكثر فلنجعل لهذا المستخدم حصة على Users Tablespace و هو فضاء جدولي إفتراضي يتم إنشاءه عند تنصيب Oracle :

create user Arabteam 
identified by arabteam_pass
default tablespace users
quota 50m on users

في الحياة العملية لا يجب لمدير القاعدة أن يعرف كلمة السر الخاصة بمستخدم معين و هذا ما نشاهده في حالتنا فقد أسندنا كلمة السر التي نريد إلى المستخدم و هذا لا يصح . لذلك ما رأيكم لو أننا طلبنا من المستخدم أن يقوم بعملية تغيير قسرية لكلمة السر الخاصة به عند أول دخول ؟؟ بذلك " نصفي ذمتنا " (على الطريقة السورية ) ؟؟

create user Arabteam 
identified by arabteam_pass
default tablespace users
quota 50m on users
password Expire;

حتى الآن أظن أن الأمور بخير و لا يوجد شيء صعب على الفهم على ما أعتقد .....

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

create user Arabteam 
identified by arabteam_pass
default tablespace users
quota 50m on users
password Expire
Account Lock;

2- إنشاء Operating System User :

و هنا يتم السماح للمستخدم إستخدام النظام بعد مصادقة نظام التشغيل . كلام غامض جداً جداً ؟؟؟؟؟؟

كلنا يعلم أننا يمكن إنشاء مستخدمين في نظام التشغيل الذي نعمل عليه سواء أكان Windows أو Linux أو أي نظام تشغيل آخر ، أفلا يمكننا إستخدام هذه الإمكانية في سماحية الدخول إلى أوراكل ؟ أي يكفي للمستخدم أن يقوم بستجيل الدخول إلى نظام التشغيل ثم يستدعي مثلاً SQL PLUS هكذا :

  c:\> sqlplus /

أي دون الحاجة إلى كتابة اسم المستخدم و كلمة المرور ؟؟؟ هذا ما ندعو بمصادقة نظام التشغيل ...

كيف نحقق ذلك ؟

create user Arabteam 
identified Externally

و ننشىء مستخدم اسمه ArabTeam على النظام ، و انتهت القصة .. سهلة أليس كذلك ؟؟

و لكن هناك شيء أساسي يجب ذكره : إن اسم مستخدم نظام التشغيل مرتبط بشكل أساسي بالبرامتر OS_AUTHENT_PREFIX ( البارامترات هي مجموعة من القيم التي تحدد طبيعة بعض العمليات الإدارية للقاعدة مثل اسماء data files و control files و النسخ الإحتياطي Backup ..... إلخ و هي مخزنة داخل ملف SPFILE أو PFILE الذين سيكون لهم نقاش طويل بإذن الله ) بحيث يجب أن تكون قيمته "" ... الآن كيف نستطيع فعل ذلك ؟؟؟ لنتبع الخطوات التالية :

1- سجل الدخول بالشكل التالي :

sys/pass as sysdba

2- نفذ التعليمة التالية :

alter system set OS_AUTHENT_PREFIX='' scope=spfile;

3- أغلق القاعدة بالشكل :

shutdown immediate

4- أعد تشغيل القاعدة بالشكل :

startup

و بذلك تم الأمر ..

و الآن لنسجل الدخول بالمستخدم الذي إنشأناه :

 

Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> create user arabteam
2 identified by arabteam;

User created.

SQL> connect arabteam/arabteam
ERROR:
ORA-01045: user ARABTEAM lacks CREATE SESSION privilege; logon denied


Warning: You are no longer connected to ORACLE.
SQL>

ما الذي حدث ؟؟؟؟

تحدثنا في البداية بضرورة وجود الصلاحيات التي تحكم عمل المستخدم حتى في تسجيل دخوله . لذلك نحتاج إلى منح المستخدم Arabteam القدرة على تسجيل الدخول و ذلك بالطريقة :

 SQL> connect system/pass
Connected.
SQL> grant create session to arabteam;

Grant succeeded.

SQL> connect arabteam/arabteam_pass;
Connected.
SQL>

و سيكون لنا حديث طويل جداًعن السماحيات و ذلك في الجزء القادم إن شاء الله .

التعديلات على خصائص المستخدمين :

هل نستطيع إجراء التعديلات على المستخدمين الذين أنشأناهم ؟ هل نستطيع تغيير كلمة المرور أو Quota أو الفضاء الجدولي ؟؟؟

بالطبع نستطيع و ذلك عن طريق التعليمة :

ALTER USER user
[ DEFAULT TABLESPACE tablespace]
[ TEMPORARY TABLESPACE tablespace]
[ QUOTA {integer [K | M] | UNLIMITED } ON tablespace
[ QUOTA {integer [K | M] | UNLIMITED } ON tablespace ]
...]

ما رأيكم بتغيير كلمة المرور للسمتخدم الذي أنشأناه ؟؟

SQL> alter user arabteam
2 identified by pass;

User altered.

ملاحظة : يمكن حتى للمستخدم arabteam نفسه أن ينفذ هذه التعليمة لتغيير كلمة السر الخاصة به .

ما رأيكم بتغيير المساحة المخصصة للسمتخدم للكتابة على الفضاء الجدولي USERS ؟؟؟

SQL> alter user arabteam
2 quota 50m on users;

User altered

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

ملاحظة هامة جداً :

لكي تستطيع تطبيق كل التعليمات التي ذكرناها يجب أن توجد سماحيات للقيام بها ، أي لا تحاول أن تنفذ التعليمات بواسطة Scott ، و إنما أنصح تسجيل الدخول بواسطة SYSTEM ..

تم تعديل بواسطه informat
2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

157 إجابة على هذا السؤال .

  • 0

اخي حسام

الاسم الذي وضعته عند تنصيب الويندوز هو root

لكن بدون كلمة مرور

معنى كذا لازم أضع للويندوز كلمة مرور ؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

طبعاً .. حتى يعمل لديك Enterprise

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

hi iam zhino from iraq and iam very glad when i visite this site and i read this curse of oracle it is very good and its very important and iam visiting this muntadyat every days

post-90356-1159948604_thumb.gif

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

hi Mr.hesam faisal

please help me to solve my problem

my problem is this(how to load a content of a text file in any drvie of my computer to a table of oracle like employees becouse i have too many text files and the content of these is about 24000 lines and more and i can not enter the data by my self and i hope you to help me please)thnk you very much.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يمكنك أخي إستخدام الأداة SQL LOADER من أجل ذلك و سوف أشرحه في دروس قادمة ...

تم تعديل بواسطه حسام فيصل
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

thank you Mr.hesam

ok iam waiting for you until the lecture is propagation,and iam not male iam female.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمة الله وبركاته

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

ربنا يعينك ويعطيك وافر الاجر والثواب

انا هحاول اخلص الدروس بسرعه عشان اكون متابعه درس بدرس ان شاء الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

اخي حسام

عملت تهيئة لجهازي وأعدت تنصيب الاوراكل من نسخة مختلفة غير الاولى

أصبح لا يعمل لدي الـ Enterprise Manger ويظهر لي بنافمع العلم أ،ي أشرت عليه بعلامة ( صح ) عند التثبيت والان اذا دخلت للـUniversal Installer أجد أنه مكتوب أمامه Insallted وعملت له Reinstall

وقد ذهبت للوحة التحكم - أدوات إدارية - خدمات

ووجدت أن الخدمة OracleDBConsoleorcl نوع بدء تشغيلها تلقائي وإذا ضغطت عليها بالزر اليمين واخترت ( بدء ) يستغرق بعض الوقت ثم تظهر الرسالة المرفقة

السلام عليكم

اخي حسام

عملت تهيئة لجهازي وأعدت تنصيب الاوراكل من نسخة مختلفة غير الاولى

أصبح لا يعمل لدي الـ Enterprise Manger ويظهر لي بنافذة المتصفح لا يمكن العثور على الصفحة ، مع العلم أ،ي أشرت عليه بعلامة ( صح ) عند التثبيت والان اذا دخلت للـUniversal Installer أجد أنه مكتوب أمامه Insallted وعملت له Reinstall

وقد ذهبت للوحة التحكم - أدوات إدارية - خدمات

ووجدت أن الخدمة OracleDBConsoleorcl نوع بدء تشغيلها تلقائي وإذا ضغطت عليها بالزر اليمين واخترت ( بدء ) يستغرق بعض الوقت ثم تظهر الرسالة المرفقة

post-2767-1160782628_thumb.jpg

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جرب تنفيذ هذا الأمر من الدوس

emctl start dbconsole

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عملت وظهرت رسالة

Environment variable ORACLE_SID not defined. Please define it.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

نفذ التعليمة

set oracle_sid=orcl

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي حسام ظهرت لي رسالة لما نفذت الامر السابق وهي

Em Configuration issue D:\oracle\product\10.1.0\Db_3/root.lan_orcl not found.

مع العلم ان اسم جهازي حاليا

root

وكان اسمه root.lan مع ارقام

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أولاً : أخي الكريم الإصدار 10.1.0 الذي تعمل عليه لا أحبذه و له الكثير من المشاكل ، استخدم اللإصدار10.2

ثانياً : لا يجوز أن تقوم بتغيير اسم الجهاز لأن Enterprise يعتمد عليه ..

ما عليك فعله هو إنشاء قاعدة جديدة ، و الطريقة تجدها في فهرس الدورة ..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم :

عذراً على الإنقطاع في سلسلة الدروس و السبب هو قلة الوقت في الفترة السابقة ..

سيتم تجزيء هذا الدرس إلى جزئين و السبب هو الحد الأقصى للصور ضمن المشاركة الواحدة

سيكون موضوعنا اليوم هو تصدير البيانات من القاعدة إلى قاعدة أخرى ....

Data pump Utilily :

هي أداة تضمن نقل البيانات من قاعدة إلى أخرى بطريقة سهلة و بدون مشاكل . ما يجعل استخدام هذه الأداة سهلة هو القدرة على التعامل معها في الإصدار 10g من قبل Enterprise Manager ..

لإستخدامها :

1- نشغل Enterprise Manager كما فعلنا في المرات السابقة ..

2- من صفحة Maintenance نضغط على Export to files كما في الصورة :

pic15.JPG

ستظهر الصفحة التالية :

pic16.JPG

حيث الخيارات :

1- Database : لتصدير كامل القاعدة أي ما يمكله جميع المستخدمين بإستثناء مستخدمي Sys, ORDSYS, ORDPLUGINS .. إلخ و هذا ما نسميه [Full Export ..

2- Schemas : لتصدير ما يوجد داخل مخطط schema أي ما يملكه مستخدم أو أكثر ...

3- Tables : لتصدير ما يحويه جدول أو أكثر ..

سوف نختار Database ثم نضع اسم مستخدم النظام و كلمة مروره ..

عندها ستظهر ثلاثة مراحل :

1- نضع في المرحلة الأولى خيارات التصدير مثل عدد المسالك (Threads ) التي سيتم تخصيصها لهذه العملية ... إذا كانت القاعدة كبيرة و تحوي على عدد ضخم من البيانات فأنصح بزياد هذه العدد و لكن لا نزيد كثيراً ... عدد13 – 15 threads كحد أقصى لقاعدة تحوي على 5 غيغا بايت من البيانات ...

أما في القسم Estimate Disk Space فهو حساب المساحة التي قد يحتاجها ملف التصدير ، و يمكننا الضغط على الزر Estimate Disk Space Now لمعرفة الحجم الذي قد يستهلكه ...

و في الجزء الأخير نشاهد خيار إنشاء log file لعملية التصدير ...

pic17.JPG

نضغط على الزر NEXT ..

2- pic19.JPG

نضع هنا مسار Export File .. في الحقل Directory Object نجد هناك مسارات معدة مسبقاً ...

ما يهمنا أننا نريد إنشاء Directory خاص بنا لذلك نضغط على زر Create Directory .. تظهر لنا واجهة بالشكل :

pic20.JPG

نضع اسم Directory و المسار ثم ok ...

نعود إلى الصفحة الابقة و نختار اسم المسار الذي وضعناه و من File Name نحدد اسم file ..

الشيء الجميل هنا أننا نستطيع التصدير إلى أكثر من ملف بحيث يتم توزيع المساحة على هذه الملفات التي يمكن أن نعتبرها تقسيماً للملف الكامل .. حيث نستطيع تحديد Maximum File Size (MB كحد أقصى لحجم الملف الواحد ...

3- تضم المرحلة الثالثة خياراً رائعاً و هو إنشاء job أي يمكننا تنفيذ عملية التصدير في وقت معين :

pic21.JPG

أو يمكننا تنفيذ عملية التصدير مباشرة بإختيار Immediate كما في الصورة ...

4- المرحلة الرابعة تضم كود pl/sql الذي يمكننا إنشاء Stored procedure تقوم بعملية التصدير بنفس الخيارات التي وضعناها في الخطوات السابقة ...

و أخيراً نضغط على الزر Submit Job لتبدأ عملية التصدير ...

بعد أن تنتهي سنجد في داخل المجلد الذي قمنا بتحديده ملف dmp و هو ملف التصدير المطلوب ..

size=5]الآن سنقوم بعملية Import للملف السابق :

1- شغل Enterprise Manager و سجل الدخول كما سبق ...

2- من الصفحة Maintenance نختار Import Form Files ...

3- تظهر صفحة نشاهد فيها :

pic26.JPG

من Database Versions نحدد الإصدار الذي تم إنشاء ملف Export بواسطته فإما 10g و ما بعده (مستقبلاً ) أو الإصدار ماقبل 10g أي 9i أو 8i .....

من Files نحدد إسم الملف Export من File name و مسار مجلده Directory Object ...

من Import Type نحدد ماذا نريد من هذا الملف : هل نريد إستيراده بشكل كامل Entire Files أو مخططات Schemas (ما يملكه مستخدم ما ) أو إستيراد جداول بعينها ...

في النهاية نضع اسم مستخدم النظام و كلمة مروره ..

ثم Continue ..

تظهر أربعة مراحل :

1- المرحلة الأولى Remapping :

pic22.JPG

و يقصد بها ما إذا كنا نريد توزيع ما داخل ملف التصدير .

مثال :

نريد وضع ما يملكه االمستخدم Scott الذي قمنا بتصديره داخل مخطط المستخدم hr :

نضغط على زر Add Another Row في قسم Re-Map Schemas فيبدأ عملية القراءة من File عندما ينتهي تظهر الصفحة بالشكل :

pic23.JPG

حيث نضع Source Schema على Scott و Destination Schema على Hr ....

كما يمكنك توزيع البيانات داخل فضاء جدولي معين على فضاءات جدولية أخرى من القسم Re-map Tablespaces ..

- كما يمكنك وضع البيانات داخل ملفات البيانات محددة ...

2- مرحلة الخيارات Options :

pic24.JPG

حيث نضع عدد Threads كما شرحناه في قسم Export ...

3- مرحلة إنشاء job :

pic25.JPG

4- المرحلة النهائية و هي Review :

حيث يحوي على كود Pl/sql الذي يمكننا بواسطته إنشاء Stored Procedure كما ناقشنا هذا الموضوع في قسم Export ...

و بذلك نكون فد انتهينا من شرح هذه الأداة المهمة ......

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمة الله وبركاته

لو سمحت أخ حسام أنا تخصص كمبيوتر وتنقصني خبره في بعض الاشياء

فيه أسئله خاصه ودي اسئلك عنها بس ياليت يكون لك عنوان بريد خاص وانا ارسلك عليه احتاجه ضروري

اذا ماعندك مانع طبعا وجزاك الله الف خير ع المواضيع الجميله " وتاكد انه حنا أخوان دين واحد قبل كل شي"

أنتظر ردك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عذرا ... لم أنتبه الى الدرس ...

أعتقد أن الصورة أصبحت واضحة لكيفية نقل قاعدة البيانات من جهاز إلى اخر

اي كل ما عليك هو نقل ملف التصدير على ما أعتقد

هذا السؤال الذي كان محيرني كثيرا

ألف شكر على مجهودك

بانتظار دروس أخرى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
عذرا ... لم أنتبه الى الدرس ...

أعتقد أن الصورة أصبحت واضحة لكيفية نقل قاعدة البيانات من جهاز إلى اخر

اي كل ما عليك هو نقل ملف التصدير على ما أعتقد

ليس بالضرورة .. فهناك عملية Backup التي تؤدي هذه العملية ...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اشكرك اخى الكريم على جهودك الجبارة

ارجو ان تمكنت من ارفاق الملفات والدروس على شكل pdf

حتى تعم الفائدة وارجو مراسلتى على الايميل

[email protected]

شاكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الله يعطيك العافيه اخي حسام على هذا الشرح الأكثر من رائع وفي انتظار المزيد ....

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمة الله وبركاته

بارك لك الله في صحتك وعافيتك ووفقك لما فيه الخير

صحيح والله اكثر من رائعة وإن شاء الله تستمر ونستمر معك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الاخ حسام

بارك الله فيك على هذا الشرح الرائع

وجعله الله فى ميزان حسناتك

الاخ حسام

بارك الله فيك على هذا الشرح الرائع

وجعله الله فى ميزان حسناتك

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

عباره عن مجموعه من الكتب الهامه وهى مقتبسه من اخ عزيز من منتدى عرب اوركل

جزاكم الله خيرا كلاكما وجعله الله فى ميزان حسناتكم

وننتظر الدرس القادم باذن الله

http://www.4shared.com/dir/151942/40923550/sharing.html

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مجهود رااااااااااائع

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا جدا على مجهودكم الجبار

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مشكور أخوي على هذي الدروس الرائعة لكن فيه سؤال هل يمكنني بعد اذنك طباعة هذه الدروس وإن امكن كيف يكمنني طباعة الدرس فقط بدون اظهار بقيه العناصر في صفحة الإنترنت واكرر الشكر الجزيل لك على هذه الدورة الممتعه

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الكريم حسام فيصل اسأل الله لك التوفيق في الدنيا والآخرة وارجو ان تستمر بتزويدنا مما علمك الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .