بتاريخ: 22 مارس 200916 سنة comment_151935 هذا الجزء منقول Database Link:- فى قاعدة البيانات الواحدة يستطيع المستخدمون منح صلاحيات على الكائنات التى يملكها لغيره من المستخدمين ، أما إذا كان لديك اكثر من قاعدة بيانات فمن المتعذر تعامل المستخدمين بين قاعدة بيانات واخرى ما لم يكن لدينا Database Link فهى الرابط بين قاعدة بيانات واخرى ، وقد تحتاج ذلك كثيراً اثناء عملك فقد يكون لديك اكثر من قاعدة بيانات تحتاج لربطها مع بعض . ولنفترض أن لدينا قاعدة بيانات تسمى OBAY واخرى تسمى ORCL.نحتاج الان ربط قاعدة البيانات OBAY مع قاعدة البيانات ORCL ، ولنفترض أن المستخدم TEST فى قاعدة البيانات OBAY يحتاج لعمل استعلام على الجدول EMPLOYEE المملوك للمستخدم VBS الموجود فى قاعدة البيانات ORCL ، إذاً نحتاج لعمل Database Link بين المستخدم TEST فى قاعدة البيانات OBAY وبين المستخدم VBS فى قاعدة البيانات ORCL. لكن قبل إنشاء الDatabase Link لابد من الإشارة إلى أن المستخدم الذى يقوم بإنشاء الDatabase Link لابد أن يكون لديه الصلاحية CREATE DATABASE LINK.والان المستخدم TEST فى قاعدة البيانات OBAY سيقوم بعمل Database Link بينه وبين المستخدم VBS فى قاعدة البيانات ORCL.اولاً: يتصل المستخدم TEST ويتأكد أن لديه الصلاحية CREATE DATABASE LINK. فى الخطوة السابقة تأكدنا اولاً أننا نعمل على قاعدة البيانات OBAY وتأكدنا ثانياً أن المستخدم TEST يملك الصلاحية CREATE DATABASE LINK.ثانياً: يقوم المستخدم TEST بإختبار الOracle Net Service aliases الموجودة فى ملف الtnsnames.ora وذلك للتأكد من سلامة الإتصال بقاعدة البيانات الاخرى وهى هنا ORCL .لقد تمت عملية الإختبار بنجاح.ثالثاً يقوم المستخدم TEST بإنشاء الDatabase Link.لقد قام المستخدم TEST بإنشاء Database Link تسمى TESTVBS يستطيع من خلالها المستخدم TEST الاتصال بالمستخدم VBS الموجود فى قاعدة بيانات اخرى تسمى ORCL.رابعاً الان يمكن المستخدم TEST الإستعلام عن الجدول EMPLOYEE المملوك للمستخدم VBS الموجود فى قاعدة البيانات ORCL.فى بعد الاحيان يكون اسم الDatabase Link مصحوباً بإسم الجدول طويل فمن الافضل إنشاء مرادف synonym لتسهيل واختصار كتابة العبارات خصوصاً تلك التى يتكرر كتابتها. لكن يجب مراعاة أن المستخدم يحتاج للصلاحية CREATE SYNONYM لإنشاء المرادف.الان يمكن كتابة عبارة الإستعلام بالشكل الاتى:تجدر الإشارة هنا بأن نقول انك تستطيع من خلال الDatabase Link إجراء عمليات الDML وهى (SELECT & INSERT & UPDATE &DELETE ) لكن من المتعذر اجراء عمليات الDDL مثل CREATE & ALTER & DROP.PUBLIC DATABASE LINK: ما قمنا به فى الخطوات السابقة هو ربط المستخدم TEST فى قاعدة البيانات OBAY مع المستخدم VBS فى قاعدة البيانات ORCL عن طريق DATABASE LINK تسمى TESTVBS. لكن هل يستطيع اى مستخدم اخر فى قاعدة البيانات OBAY استخدام TESTVBS DATABASE LINK ؟ الجواب وبكل سهولة لا ، وذلك لأن الDatabase Link التى قمنا بخلقها هى خاصة بالمستخدم TEST وليست لكل المستخدمين وهى تسمى PRIVATE DATABASE LINK. ولكى يستطيع كل المستخدمون فى قاعدة البيانات OBAY الإتصال بالمستخدم VBS فى قاعدة البيانات ORCL نحتاج لإنشاء PUBLIC DATABASE LINK.بالطبع لإنشاء هذا النوع نحتاج للصلاحية CREATE PUBLIC DATABASE LINK. قام مدير قاعدة البيانات بمنح المستخدم TEST الصلاحية CREATE PUBLIC DATABASE LINK ومن ثم قام المستخدم TEST بإنشاء PUBLIC DATABASE LINK تسمى PUBTESTVBS ، الان يستطيع جميع المستخدمين فى قاعدة البيانات OBAY استخدم PUBTESTVBS DATABASE LINK.للإستعلام عن الDATABASE LINK فى قاعدة البياناتDBA_DB_LINKSUSER_DB_LINKSALL_DB_LINKSV$DBLINKبالطبع يمكن حذف الDATABASE LINK.كما يمكن حذف ال PUBLIC DATABASE LINKبالطبع نحتاج للصلاحية DROP PUBLIC DATABASE LINK للحذف. تقديم بلاغ
بتاريخ: 23 مارس 200916 سنة كاتب الموضوع comment_152046 أشكرك كثير الشكر يا أخ nor.el.den على الشرح الوافي ولكن هل لديك تطبيق عملي يوضح العمليه أكثر وهذا إيميلي [email protected] تقديم بلاغ
بتاريخ: 5 أكتوبر 201015 سنة comment_200917 سلام شبابشكرا اخي نورالدين علي العمل الرائع بس ياريت يتخلل هذا الشرح الجميل امثلة واضحه لان هذا الموضوع معذبني جدا جدا جداوجزاك الله الجنة تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.