النافذة العربية للبرمجة

النافذة العربية للبرمجة
 
الرئيسيةالمشاركاتمكتبة الصورس .و .جبحـثالأعضاءالمجموعاتالتسجيلدخول

شاطر | 
 

 ماهي Oracle ؟

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
عبدالهادي الحداد
مدير الموقع
avatar

عدد الرسائل : 483
العمر : 32
الموقع : اليمن الحبيبة
العمل/الترفيه : طالب برمجة
تاريخ التسجيل : 13/06/2008

بطاقة الشخصية
المدير العام / عبدالهادي الحداد:

مُساهمةموضوع: ماهي Oracle ؟   السبت أغسطس 23, 2008 11:51 am

[size=12]ماهي Oracle ؟

هي شركة مختصة في مجال قواعد البيانات تقدم مجموعة هائلة من المنتجات البرمجية في هذا المجال و تشمل على ثلاث فئات أساسية : نظام إدارة قواعد بيانات ، نظم تطوير تطبيقات لإستخلاص البيانات من نظام الإدارة ، نظم جاهزة تضمن تلبية حاجات السوق البرمجي ..
تضم الأوراكل مجالاً واسعاً من المنتجات :
1- أوراكل داتايبيس سيرفر Oracle Database Server : و هو نظام إدارة قواعد البيانات حيث يتم تخزين البيانات و إدارتها و تنظيم المستخدمين ... إلخ و هو محور بحثنا في هذه الدورة .
2- أوراكل ديفيلوبر تولز Oracle Developer Tools : و هي أدوات تمكنك من تصميم تطبيقات تعتمد على قاعدة بيانات أوراكل و تضم الأمر الشائعة التالية :
1- Oracle Forms Builder : و هو الأداة الأساسية لتصميم واجهات برامج كالتي نراها و لكن موجهة نحو تطبيقات مستعرض الإنترنت .
2- Oracle Reports : و هي أداة رائعة لإنتاج التقارير و هي تشابه كريستال ريبورت التي إعتاد عليها مطورو منصة .net .
3- Oracle Designer : و هو أداة رائعة تتيح لك تصميم قاعدة البيانات بأسلوب منهجي يعتمد على رسم كائنات Entity .
4- JAVA developer : و هي أداة تطوير برامج الجافا التي تعتمد على قاعدة البيانات أوراكل و هي مشابه لبيئة JBUILDER التي إعتاد عليها مطورو الجافا في بناء تطبيقاتهم ..
5- ORACLE provider for .net Developer : و هي مجموعة من الأدوات الموجهة لمطوري .net الذين يرغبون ببناء تطبيقاتهم إعتماداً على قاعدة بيانات أوراكل ..
3- Oracle application Server : و هو المنصة التي نقوم بعملية النشر لتطبيقات Oracle forms و Oracle reports عليها بحيث تصبح متاحة للجميع ، و هي تشبه مخدم الويب IIS لنشر صفحات ASP أو Apache لصفحات php ..
4-Oracle Collaboration Suite : و هي مجموعة من الخدمات المختصة بالإتصالات الصوتية أو الإلكترونية أو fax ......

ما هي SQL و PL?SQL ؟
SQL Structered Query Language : لغة الاستعلامات البنوية ..
هي لغة للتعامل مع نظم قواعد البيانات المختلفة فهي ليست خاصة بــOracle و إنما هي عامة و شاملة نجدها في الأكسس و في Mysql و في SQL Server ... إلخ ...
PL?SQL :
و هي لغة برمجة تستخدم لكتابة إجرائيات برمجية تخزن داخل القاعدة و تعتمد على SQL في التعامل مع البيانات و تعديلها ..


أوراكل سيرفر Oracle Server :
يتألف الأوراكل سيرفر Oracle server من مكونين أساسيين :
1- Oracle Instance : و هو "البرنامج " أو Software الذي يمثل النظام : مهمته إستقبال طلبات السمتخدمين و التعالمل مع القاعدة ... إلخ .
يتألف Oracle Instance من :
1- بنية ذاكرية : و تسمى SGA (System Global Area)
و تتألف من /
Shared pool ، library cache ، Data Dictionary ، Database Buffer Cache ، Redo Log Buffer Cache ..
2- مجموعة من العمليات الخلفية Background Process : : وظيفتها "السهر " على أمن القاعدة و منحها أداء متوازن و التدخل في حالات Crashes كإنهيار نظام التشغيل و إنقطاع التيار ...إلخ .
2- Oracle Database : و هي مجموعة من الملفات المتنوعة بين ثلاثة فئات :
1- Control File : و هو الملف الحيوي و أساس القاعدة : يحوي على التوصيف الكامل للقاعدة من ناحية تواجد ملفات البيانات Datafile و ملفات سجل الإعادة Redo log file ... إلخ و هذا ما سنوضحه خلال الدروس القادمة إن شاء الله .
2- Data file : و هي الملفات التي تخزن Data (البيانات ) ..
3- Redo Log file : و هي سجلات الإرجاع ( إعذروني على الترجمة السيئة ) وظيفتها تسجيل البينات المؤقتة التي تقوم بإجراء التعديلات عليها ، و من أجل أي عملية "إصلاح " قد تحدث بعد أي مشكلة ...

3- مجموعة من key file : و هي ملفات لإعدادات معينة :
1- parameter file : و هو ما تعاملنا معه في قسم إدارة المستخدمين (Spfile ) ، يضم قيم معينة لتحديد سلوك Oracle instance (لم يفهم أحد شيئاً ؟؟؟ سنوضح الأمور في وقتها ) ..
2- password file : يستخدم لإختبار صلاحية المستخدمين الذين يتمتعون بصلاحيات DBA .
3- Archived log files : هي نسخ من Redo log files تسخدم في حالة إسترجاع نسخ إحتياطية ...
أعلم أن كلامي حالياً غامض بشكل كبير ، و لكن سيتوضح كل شيء بوقته فالصبر ثم الصبر ....

[/size]
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://awfm.boardlog.com
عبدالهادي الحداد
مدير الموقع
avatar

عدد الرسائل : 483
العمر : 32
الموقع : اليمن الحبيبة
العمل/الترفيه : طالب برمجة
تاريخ التسجيل : 13/06/2008

بطاقة الشخصية
المدير العام / عبدالهادي الحداد:

مُساهمةموضوع: إنشاء القاعدة :   السبت أغسطس 23, 2008 11:54 am



إنشاء القاعدة :

سنتعلم في هذا الجزء كيف نقوم بإنشاء قاعدة أوراكل ، و لكي ننشىء القاعدة يجب أن نعود لما تحدثنا عنه في الفقرة القادمة و نتحدث عن :
1- Control file :
كما قللت : هو الملف الأساسي للقاعدة ، و لا قاعدة بدونه ، لماذا ؟
السبب أن Oracle Instance يتعرف على القاعدة عن طريق هذا الملف ، أي عند تشغيل النظام و في مرحلة نسميها mount يقوم Instance بقراءة هذا الملف لكي ؟؟؟
لكي يعرف أين الملفات التي تخزن البيانات Data الخاصة بالجدوال التي نتعامل معها .، أين سجلات الإرجاع .. إلخ هل وصلت الفكرة .. أتمنى ذلك .
بما أن هذا الملف هو مهم لهذه الدرجة فيجب دوماُ أن نقوم بعملية نسميها multiplex أي الإحتفاظ بأكثر من نسخة منه في عدة أقسام .. لماذا ؟؟ ببساطة إذا حدث أي شيء لهذا الملف : حذف أو عطب ... إلخ ضاعت كل القاعدة و لن يستطيع Oracle instance التعامل معها .. لذلك نحتفظ بأكثر من نسخة فإذا حذث أي شيء لأي نسخة فتوجد نسخة أخرى للتعامل معها ...
يتم تحديد مسار Control file داخل ملف parameter file (Spfile , Pfile ) ....
2- Redo log :
و هي ملفات الإرجاع ... شو يعني ؟؟
كلنا يعرف برنامج وورد مثلاً : يمكنك التعامل مع المستند بأن تكتب ما تشاء و تحذف ما تشاء و في النهاية يمكنك التراجع عن ما فعلته .. صحيح ؟؟؟
و كذلك بالنسبة لقاعدتنا العزيزة : يمكنك القيام بحذف سجلات و إضافة سجلات و تعديل سجلات ...إلخ ماذا لو أرادت مؤسسة الكهرباء ممزاحتك و قطعت لك الكهرباء ؟؟؟ و كل هذه التعديلات كانت مجرد لعب عيال ؟؟؟
إن Oracle instance في هذه الحالة يستخدم هذه الملفات لإعادة كل شيء لطبيعته السابقة ...
3- Data file
: و هنا موضع الفرس .. و أخيراً : ملفات تخزين البيانات ، أي جميع البيانات التي تضعها في الجداول المختلفة تجدها في هذه الملفات ...
إذاً ما نفهمه من الكلام السابق القاعدة في أوراكل ليست كما في أكسس ملف واحد يمكنك نقله إينما كان ووضعه ثم العمل عليه ، إضافة إلى ذلك كثير من المطورين سألون : هل أنا مضطر إلى تنصيب أوراكل عندما أريد أن يعمل برنامجي على جهاز آخر و يكفي أن أنقل بعض الملفات ؟ الجواب : لا ... يجب أن يوجد : Oracle Instance و Database files و هذا لا يتم إلا بتنصيب Oracle Server ...

الآن : كفانا من الكلام النظري و لننشء قاعدة جديدة :
سنتخدم في إنشاء القاعدة أداة رائعة و هي Database Configuration Assistants ) : DBCA ) : تضمن هذه الأداة إنشاء قاعدة جديدة أو إزالة قاعدة بيانات موجودة أو تعديل قاعدة بيانات ... إلخ .
لنفذ الخطوات التالية :
1- من
start->programs ->Oracle10g->Configuration and Migration Tools -> Database Configuration Assistants .
تظهر الواجهة مرحبة بنا على طريقة أوراكل ( بدون القهوة العربية ) نختار Next .
2- نختار الخيار الأول Create Database .
3- تظهر لنا أنواع من قواعد البيانات دعوني أشرحها :
1- Data Ware House : من أروع الأنواع التي أحب التعامل معها ( بفعل خبرتي العملية ) .. هذه النوع موجه نحو القواعد التي تحوي على كميات ضخمة من البيانات التي تضمن سرعة خارقة في جلب البيانات من جدوال قد تحوي بلايين من السجلات ... لهذا النوع أبحاث كثيرة نظراً لأهميته البالغة
2-Transaction Processing : و هي موهة للقواعد التي تخضع لضغط عالي من التعديلات و الإدخالات الجديدة و تضم القليل من عمليات إحضار البيانات ..

3- General Purpose : موجهة إلى القواعد العادية ذات الغرض العام ( كما في حالتنا مثلاً ) ...

لذلك نختار General Purpose ثم التالي ..
4- لدينا قيمتين :
1- اسم القاعدة : Global Database Name ..
2- SID : اسم instance الذي سيتعامل مع هذه القاعدة ..
يمكن أن يختلف الإسمين عن بعضهما :
مثال : في عملي لدي شبكة دومين Aledari.com لذلك أستطيع تسمية القاعدة بالشكل : Accounting.aledari.com بينما اسم Instance لدي هو AccInst ..
للتذكير فقط : في الوضع الإفتراضي فإنك عندما تنصب أوراكل فإنه ينشئ قاعدة بيانات و Instance اسميهما متطابقين أي orcl ...
لنتفق على اسم واحد لإستعماله :
Global Database Name : DBACLASS.arabteam.com
SID : DBACLASS
ثم Next ..
5- يوجد عدد من الخيارات :
لنتأكد من أن الخيار Configure the database using enterprise manger مفعلاُ حين أن Enterprise Manager هي أداة رائعة تمكننا من إدارة القاعدة بواجهة تفاعلية ممتازة ..
ثم Next ..
6- يطلب منا وضع كلمة السر واحدة للمستخدمين :Sys , System , SYSMAN أو أن نضع لكل مستخدم كلمة مرور خاصة به ...
ضع ما تشاء ثم Next ..
7- نختارFile System ( أي نظام الملفات الحالي الذي يستخدمه نظام التشغيل ) ... ثم Next ..
8-نختار توضع ملفات القاعدة :
1- use file allocations from Template : هنا يجب وجود إعدادات مسبقة قمنا بنجهيزها من قبل داخل Template ..
2- Use Common Location for all Database Files : هنا نحدد مسار مجلد ما ليكون الحاوي لجمييع ملفات القاعدة ..
3- Use Oracle-Manged Files : هناك طريقة نسميها OMF و هي طريقة Standard تتبعها أوراكل في تسمية الملفات الخاصة بالقاعدة أي أن DBA يتنحى جانباً و تقوم أوراكل بتسمية الملفات و تحديد مواقعها بدلاً عنه ...
لنختر الخيار الثاني ثم Next ..
9 – تظهر لنا خيارات النسخ الإحتياطي للقاعدة Backup سواء بالنسبة إلى Flash Recovery ( من أروع الإضافات التي شهدها الإصدار 10g ) أو Archiving Redo log ..
نضغط على Next ..
10-تظهر واجهة يمكننا إختيار Sample Schema لتثبيت مخططات مثل Scott-hr ...
نختار Next ..
11- نحدد بارامترات خاصة ب Oracle instance ... ما يهمنا هنا هو characterset و هي الترميز الذي سيتم إستخدامه في تخزين البيانات داخل القاعدة و هو يلعب دوراً كبيراً في مسألة تخزين البيانات العربية أو لغات الشرق الأقصى مثل اليابانية و غيرها ... المهم بالنسبة لنا أن يكون هذا الترميز مناسباً للبيانات العربية لذلك من القسم Database Character Set يمكننا :
1- إختيار Using Unicode : من أجل الترميز Unicode الذي يلائم لغتنا العربية ..
2- إختيار Choose from a list of character set : و بوسعنا إختيار هنا AR8MSWIN1256 من أجل العربية ...
من الخيارين Default Language و Default Data Format نحدد بهما لغة الرسائل و تنسيق التاريخ ...
ثم Next ..
12- تظهر واجهة مهمة : إضغط على الزر File Allocation Variable : ستجد هناك مجموعة من المسارات المخزنة داخل متحولات : Oracle_Base .. Oracle Home .. SID .. إلخ يجب أن تحفظ هذه المسارات عن ظهر قلب لأنها مواقع الملفات التي سنتعامل معها لاحقاً ...
إخرج من هذه الواجهة ثم next ..
13- تظهر لك خيارات :
create Database : من أجل إنشاء قاعدة جديدة و هذا ما نريده ..
save As Database Template : أي نحفظ الإعدادات التي نقد نستعملها لاحقاً في إنشاء قاعدة أخرى ...
نضغط على زر finish ( و أخيراً ) للبدء في إنشاء القاعدة ....


عندما ينتهي يظهر لك واجهة تخبرك عن أمور هامة و يجب حفظها و أولها مسار Enterprise Manager
الذي سيكون في الغالب على الشكل :
كود

إكتب هذا المسار على الحيط أو على جبينك أو على الشاشة أو مكان ما تريد ... المهم لا تنساه ....
يمكنك الضغط على الزر Password Management لكي ترى Users الذين تم إنشاءهم إفتراضياُ و بذلك يمكنك تغيير كلمات سرهم أو فيتح حساباتهم المقفلة بشكل إفتراضي .. إفعل ماشئت ثم إضغط على الزر Ok ثم Exit و بذلك يكون قد أصبح لديك قاعدة جديدة ... " ألف مبروك تتربى في دلالك و عزك " ....

ملاحظة هامة جداً جداً : مما رأينا نستطيع إنشاء أكثر من قاعدة بيانات بتكرار الخطوات التي ذكرناها بحيث في كل مرة يتم إنشاء قاعدة بالإضافة إلى Instance الخاص بها و هكذا ....
و السؤال الذي يطرح نفسه : كيف نحدد من هي القاعدة التي نتعامل معها عند تشغيل تطبيق مثل SQL plus مثلاً ...

الجواب :
نذهب إلى المسار التالي :
كود
Oracle _Home \ Network\admin\tnsnames.ora

سأضع لكم ما يحويه tnsnames.ora في جهازي :
كود
Accounting =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = Accounting.aledari.com
)
)
DBCLASS =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = DBCLASS.arabteam.com)
)
)

بحيث تأخذ الشكل التالي :
كود
Connection_Host=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = PC_NAME "اسم الجهاز الذي يحوي القاعدة " )(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME =GLOBAL_DATABASE_NAME)
)

كما تلاحظون فلدي قاعدتين : Accounting و DBCLASS التي قمنا بإنشاءها ...
ما يهمنا هو connection Host (سلسة المضيف ) أي عندما أريد أن أسجل الدخول على SQL PLUS و التعامل مع قاعدتنا DBCLASS سأكتب
كود
connection Host DBCLASS

أما إذا أردت الدخول على القاعدة الثانية Accounting :
كود
connection Host Accounting

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


عدل سابقا من قبل عبدالهادي الحداد في السبت أغسطس 23, 2008 11:59 am عدل 1 مرات (السبب : ن)
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://awfm.boardlog.com
عبدالهادي الحداد
مدير الموقع
avatar

عدد الرسائل : 483
العمر : 32
الموقع : اليمن الحبيبة
العمل/الترفيه : طالب برمجة
تاريخ التسجيل : 13/06/2008

بطاقة الشخصية
المدير العام / عبدالهادي الحداد:

مُساهمةموضوع: أدوات الإدارة في Oracle10g :   السبت أغسطس 23, 2008 12:07 pm

[size=12]أدوات الإدارة في Oracle10g :
فعلاُ يمكننا أن نقول أن شركة أوراكل قد خطت خطوة رائعة مع إصدارها 10g بأن توجهت إلى مديري القواعد و أمدتهم بعدد من الأدوات التي سهلت العمل كثيراً ، فمثلاً كنت مضطر إلى أن أحفظ مجموعة ضخمة من التعليمات لإنشاء مكونات القاعدة مثل الفضاءات الجدولية و المقاطع segments و الإمتدادات Extents .. بالإضافة إلى تعليمات إنشاء المستخدمين و حفظ الصلاحيات ... إلخ لذلك فإن دليل المديرين كان لا يفارق حقيبتي ...
الآن : وفرت أواركل أداة هي Enterprise Manager التي طورتها عن الإصدار 9i و أصبحت هذه الأداة تعمل عبر مستعرض الانترنت بالاستفادة من مكونات Application Server (ليس موضوعنا الآن ) ..
بالإضافة إلى Enterprise Manager ظهرت iSQL PLUS بأدائها المطور عن الإصدار 9i ...
بالإضافة إلى أدوات أخرى سنتعرف عليها لاحقاً بعون الله ...
الآن لنعد إلى الأداتين لنتعلم كيف نقوم بتشغيلها و إغلاقها ( ملاحظة كل التعليمات التالية يتم تنفيذها عبر محرر الأوامر Dos أو Shell الخاص بــlinux (نظام أوراكل المفضل ) ) :
1- ISQL PLUS :
لتشغيل الأداة :
كود
isqlplusctl start

لإيقافها :
كود
isqlplusctl stop

كيف نستعرضها :
تتذكرون المسار الذي طلبت منكم حفظه على الجبين ...إلخ ؟؟؟ اكتبه بالشكل التالي :
كود

مثلاً ( في العادة ) :
كود

إذا نسيته : يمككنك الذهاب إلى المسار التالي :
كود
Oracle_home\install\portlist.ini

ستجد " iSQL*Plus HTTP port number =5560 " ....
2- Enterprise Manager :
و هي الأداة التي سنستعملها كثيراً خلال دورتنا ...
لتشغيل الأداة :
كود
emctl start dbconsole

لإيقافها :
كود
emctl stop dbconsole

لإظهار حالتها :
كود
emctl status dbconsole

لأخذ العلم لمحبي الويندوز :
الأداتين السابقتين يتم إنشاء Services خاصة بها تجدونها في Services داخل Administrative Tools .. و لا داعي لتشغيلها لأن تشغليها يتم أتوماتيكياً عند بدء التشغيل ..
لتشغيل الأداة عبر المستعرض : تماماً كما فعلنا مع ISQL PLUS :
كود

مثلاً ( في العادة ) :
كود

إذا نسيته : يمكنك الذهاب إلى المسار التالي :
كود
Oracle_home\install\portlist.ini

ستجد Enterprise Manager Console HTTP Port (dbclass) = 5500" " ..
عند تشغيلها ستظهر لنا واجهة لتسجيل الدخول ، من الآن و لآخر الدورة نحتاج إلى المستخدم SYS من أجل ما نريد تنفيذه ، لذلك نضع :
كود
User Name : SYS
Password : oracle
Connect AS : SYSDBA

بعد تسجيل الدخول : نرى ما كنا نحتاج إلى آلاف الأكواد و التعليمات التي كنا مضطرين لكتابتها داخل SQL PLUS ....
ما يهمنا الآن هو الضغط على Administration لتظهر لنا صفحة سنتعامل معها دائماً ....
[/size]
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://awfm.boardlog.com
عبدالهادي الحداد
مدير الموقع
avatar

عدد الرسائل : 483
العمر : 32
الموقع : اليمن الحبيبة
العمل/الترفيه : طالب برمجة
تاريخ التسجيل : 13/06/2008

بطاقة الشخصية
المدير العام / عبدالهادي الحداد:

مُساهمةموضوع: ماهو المتنصت Listener : -- إضافة متنصت جديد :   السبت أغسطس 23, 2008 12:13 pm

ماهو المتنصت Listener :
طبعاً لسنا في عالم الجاسوسية و ليس في عالم سي أي إيه و إنما نحن في عالم أوراكل ..
ما رأيك لو كان لديك شبكة تضم مجموعة من المستخدمين و يريدون استخدام أوراكل .. هل ستنصب أوراكل داتابيس Oracle Database على كل جهاز ؟؟؟ طبعاً لا ز و لماذا لا ؟ لأنك قد تريد أن يتشارك هؤلاء على قاعدة واحدة و يقومون بالتعديل و الإضافة مثلاً على جدول واحد ...
الحل :
أن تقوم بتنصيب Oracle Database على الجهاز الرئيسي أو أي جهاز آخر ... و البقية ؟؟؟ تقوم بتنصيب مايسمى Oracle Client (يوجد مع نفس قرص Oracle Server و تقوم بإختياره ضمن خيارات التنصيب ) .. فعلياً الأوراكل الكلاينت ليس سوى عبارة عن مجموعة من برامج SQL PLUS و بقية الأدوات التي تتيح لك الإتصال بالأوراكل داتابيس Oracle Database ... ما دخل المتنصت بكل هذا الكلام ؟؟؟
المتنصت هو إداة تقوم بالإستماع على المنفذ Port لكي تستقبل طلبات المستخدمين من الأجهزة الأخرى على الشبكة الراغبين بفتح جلسة session مع الأوراكل سيرفر ... فالمتنصت ضروري جداً في حالة كون القاعدة منصبة على جهاز في شبكة و ترغب من الجميع الإتصال بها .... هل وصلت الفكرة ؟؟؟؟
يمكن أن يتواجد أكثر من متنصت واحد و ذلك إذا كان عدد أجهزة الشبكة كثيرة .. و السؤال كيف نتعامل مع المتنصت ؟؟
إضافة متنصت جديد :
1- من Start->Programs->oracle10g->migration and configuration tools->Net Configuration Assistant
2- تظهر واجهة نختار منها Listener Configuration ثم Add ..
3- نضع اسم Listener ..
4-نضع البروتكول Protocol الذي نريد أن يستمع إليه المتنصت : في العادة ً نختار tcp لشبكات الويندوز و حتى شبكات Linux ، من يريد التوسع فإن الأخوة في منتدى الشبكات يمكن أن يسهموا في ذلك ...
5- نختار port الذي نريد للمتنصت أن يعمل عليه ، عند اختياره يجب عليك سؤال مدير النظام لأن هذا المدير قد يكون قد أغلق Ports من أجل حماية السيرفر .. في العادة أختار منفذ أوراكل الافتراضي 1521 ...
5-يسألنا هل نريد أن نقوم بإعداد متنصت آخر : نشكره على ذلك و نقول له لا ... ثم Next ..
6-يطلب منا هل نريد تشغيل متنصتنا الجديد .. يمكن أن نختاره ثم نضغط Next ..
7- يظهر رسالة إنتهاء العمل .... نضغط على التالي ثم نخرج من الواجهة ...
سهلة أليس ذلك ؟ ...
للعلم : فإن أوراكل عند تنصيبه فإنه ينشئ متنصب إفتراضي يسميه Listener يتنصت على port : 1521 ..
الآن :
ماذا لو أردت عدم إستقبال أي مستخدم للإتصال عبر الشبكة ؟؟؟ ماذا تفعل ؟؟؟
ببساطة تغلق المتنصت listener ، كيف ؟؟
من محرر الأوامر أو Shell :
كود
lsnrctl stop listner_name;

ماذا لو أردنا إعادة تشغيله :
كود
lsnctl start listner_name

ما لو أردنا معرفة حالته :
كود
lsnctl status listener_name;

انتهينا ....
لنرى الآن Enterprise Manager ما الذي سيعرضه لنا حول Listener :
1- إفتح Enterprise Manager و سجل الدخول بالمستخدم Sys as sysdba كما تحدثنا البارحة .
2- من القسم General ستوف تشاهد اسم المتنصت إضغط عليه كما ترى في الصورة .

3- ستظهر لك صفحة جديدة تعرض لك الخيارات الخاصة بالتعامل مع المتنصت ، يمكنك الضغط على زر Stop لإيقاف listener أو يمكنك الضغط على زر edit لتعديل البارامترات الخاصة به كما ترى في الصور ..

ملاحظة هامة جداً : إن Enterprise Manager يحتاج دوماً إلى وجود listener .....
بعد جميع هذه العمليات أصبح السيرفر جاهزاً .. ما رأيكم بالمتابعة و تجهيز بقية اجهزة الشبكة ؟؟؟
ما أتفقنا عليه أنه في أجهزة الكلاينت نحتاج إلى تنصيب أوراكل كلاينت Oracle Client و هذا ما تستطيع تنصيبه في نفس القرص الخاص بالأوراكل سيرفر Oracle Server سواء الإصدار 10g أو حتى 9i (لن تجده في قرص Oracle Database ) ...
بعد تنصيبه يجب أن نخبر التطبيقات المختلفة أين ستوجد القاعدة ، و السؤال كيف ؟؟
يتم ذلك بواسطة ما يسمى Local Net Services Naming الذي نستخدمه لكي نحدد طرق الإتصال بالقاعدة ... دقيقة واحدة : هل يذكر أحد أين استعملناه ؟؟؟ هل يذكر أحد tnsnames.ora ؟؟؟ آمل أنك تذكرتموه ...
فعلياً فإن tnsnames.ora يحوي Local Net بالبنية التالية :
كود
Connection_Host=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = PC_NAME "اسم الجهاز الذي يحوي القاعدة " )(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME =GLOBAL_DATABASE_NAME)
)

الآن لنتقل إلى الخطوات العملية التي يجب تنفيذها على أجهزة client :
1- نقوم بتشغيل Net Configuration Assistant ...
2- من الواجهة نختار كما في الصورة :


3- تظهر واجهة نختار منها add .
4-نضع اسم Service Name .. تتذكرون Global Name الذي وضعناه مع اسم SID ؟؟؟ هذا هو .. في مثالنا نضع dbclass.arabteam.com ..
5- نضع اسم البرتوكول الذي سنعتمد عليه ... ضع TCP ..
6- ضع اسم الجهاز الذي يحوي القاعدة و رقم port الذي يعمل عليه المتنصت ...
7- تظهر واجهة يسأل فبها هل نريد تجربة الإتصال .. طبعاً نختار Yes ثم تظهر واجهة تبين لنا نجاح الإتصال أم عدمه .. إضغط على زر change Login و ضع كلمة المرور لــSYS أو System ثم Ok إذا نجح الإتصال فمبروك إذا لم ينجح تأكد من إعدادات الشبكة لديك ....المهم يجب أن تظهر الصورة التالية :

8- عند الإنتهاء يطلب منك اسم NET SERVICE NAME و هو الاسم الذي ستعامل معه مستخدموك في برامجهم أي عندما سيسجلون الدخول إلى برامج Sql Plus سيضعون في Connection String ما تضعه أنت في NET SERVICE NAME .... وصلت الفكرة ؟؟ ...
و بذلك نكون قد انتهينا من موضوعنا اليوم .. آمل أن تكون جميع الأمور واضحة ...
قسمنا التالي سيكون حول تشغيل و إغلاق القاعدة و بعض الأمور الأخرى
بالتوفيق للجميع ..
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://awfm.boardlog.com
عبدالهادي الحداد
مدير الموقع
avatar

عدد الرسائل : 483
العمر : 32
الموقع : اليمن الحبيبة
العمل/الترفيه : طالب برمجة
تاريخ التسجيل : 13/06/2008

بطاقة الشخصية
المدير العام / عبدالهادي الحداد:

مُساهمةموضوع: ما معنى إغلاق القاعدة أو تشغيلها ؟   السبت أغسطس 23, 2008 12:14 pm

[size=12]ما معنى إغلاق القاعدة أو تشغيلها ؟
في الدروس السابقة تحدثنا عن أن الأوراكل سيرفر الذي نتعامل معه مؤلف من قسمين : Oracle instance و القاعدة Oracle Database .. رأينا أن Instance هو فعلياً برنامج Software يستجيب لطلباتنا و يقوم بتنفيذها و يعبد إلينا النتائج إضافة إلى وظائفه الأخرى في الحفاظ على القاعدة .... إلخ .. أما القاعدة فقد وجدنا أنها عبارة عن ملفات فيزيائية تفتح و تدار من قبل Oracle instance ..
بكلمات مبسطة جداً :
ما معنى إغلاق القاعدة ؟
المعنى أنك أولاً تغلق ملفات القاعدة المفتوحة ثم تقوم بإيقاف Oracle instance ...
ماذا عن تشغيلها ؟
يعني التشغيل أنك أولاً تقوم بتشغيل Oracle Instance الذي يقوم بفتح ملفات القاعدة ...
لنتحدث عن العمليات التي تحدث عند تشغيل Instance و أرجو من الجميع فهمها بشكل جيد :
تتوزع العمليات بين ثلاثة مراحل :
المرحلة الأولى nomount :
1- يقوم أولاً بقراءة ملف البارمترات Parameters File .. هذه البارامترات على سبيل المثال تذكر ما سم القاعدة التي سيتعمل معه instance و أين هو Control file الخاص بالقاعدة ما هو حجم الذاكرة التي سيحجزها .. إلخ ( سيكون لنا جولة مع هذه البارامترات لا حقاً ) ...
2-يقوم بحجز الذاكرة .
3- يشغل Background process ..
4-يفتح ملف alertSID.log و هو أهم ملف يعتمد عليه مدير القاعدة لكي يكتشف الأعطال و المشاكل الذي تحدث للقاعدة إضافة إلى معلومات مهمة جدا سنراها لاحقاً ..... يوجد هذا الملف في المسار التالي :
كود
Oracle home\admin\dbclass\bdumb\alert_dbclass.log


المرحلة الثانية : Mount :

يقوم بقراءة ملف Control File لكي يحدد أين توجد ملفات البيانات Data files و ملفات الإرجاع Redo Files .... إلخ و لكنه لا يتأكد من وجود تلك الملفات ..
هذه المرحلة مهمة جداً لأن عملية أخذ النسخ الاحتياطية و إصلاح ملفات البيانات و ملفات الإرجاع يتم في هذه المرحلة ... كما سنرى لاحقاً .

المرحلة الثالثة : Open :

يقوم بفتح ملفات البيانات Data files و ملفات الإرجاع Redo log في هذه المرحلة .. نجاح هذه المرحلة يعني أن القاعدة قد أصبحت جاهزة تماماُ لإستقبال الطلبات ...

إذاً سألخص ما تحدثت عنه :
تتم مراحل التشغيل وفق ثلاث مراحل تضم المرحلة الأولى قراءة ملف البارامترات ، الثانية قراءة ملف Control File ، الثالثة فتح ملفات البيانات و ملفات الإرجاع لتصبح القاعدة جاهزة ....
يمكن لمدير القاعدة أن يحدد أي مرحلة يريد قاعدته أن تعمل بها و ذلك تبعاً للعملية التي يريد تنفيذها و سأذكر أمثلة فقط :
1- إذا كانت هناك مشكلة في Control file فيقوم بتشغيل القاعدة في مرحلة no mount ..
2- إذا كانت هنالك مشلكلة في ملفات البيانات أو ملفات الإرجاع أو أراد أخذ نسخة إحتياطية للقاعدة فإنه يقوم بتشغيل القاعدة في وضع Mount ..
الصورة التالية ستوضح ما تحدثنا عنه :

يتم أمر التشغيل كالتالي :
1- تسجيل الدخول أولاً بالحساب SYS AS SYSDBA على برنامج SQLPLUS .
2- تنفيذ الأمر :
كود
startup Level_name;

لشتغيل القاعدة مثلاً في وضع No Mount :
كود
startup nomount;

لتشغيل القاعدة في وضع Mount :
كود
startup mount;

لتشغيل القاعدة لتصبح في الوضع الطبيعي :
كود
startup;


ما ذا لو أردنا الإنتقال بين المراحل ؟

1- نشغل القاعدة بالوضع nomount :
كود
startup nomount;

2- للإنتقال إلى الوضع mount :
كود
alter database mount;

3- للإنتقال إلى الوضع النهائي :
كود
alter database open;


إنتبه : لا يمكنك الانتقال بالعكس أي أن تعود من مرحلة open إلى مرحلة mount أو من Mount إلى nomount ، عليك أن تغلق القاعدة ثم تنتقل إلى المرحلة التي تريد ...
[/size]
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://awfm.boardlog.com
محترف
مبرمج رائع
مبرمج رائع
avatar

عدد الرسائل : 144
العمر : 31
تاريخ التسجيل : 22/07/2008

بطاقة الشخصية
المدير العام / عبدالهادي الحداد:

مُساهمةموضوع: رد: ماهي Oracle ؟   الأحد أغسطس 24, 2008 7:23 am

مشكوووووووووووووووور أخي عبدالهادي الحداد على موضوعك الرائع العملي








الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
 
ماهي Oracle ؟
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» ماهي Oracle ؟
» مقدمة عن قواعد بيانات الاوراكل

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
النافذة العربية للبرمجة :: قسم قواعد البيانات :: Oracle قسم قواعد البيانات أوراكل-
انتقل الى: