amkalisa بتاريخ: 15 يونيو 2004 تقديم بلاغ مشاركة بتاريخ: 15 يونيو 2004 hi, i am a new DBA and try want from you to solve this problem:first i create two user accounts A and B, then i create a table in A and want B to Access it( execute SELECT statements on A's Table)so tell me what is privileges and roles required. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عمر باعقيل بتاريخ: 15 يونيو 2004 تقديم بلاغ مشاركة بتاريخ: 15 يونيو 2004 السلام عليكم ورحمة الله وبركاتهاخي amkalisa , لنفترض ان المستخدم A لديه جدول بإسم locations ونريد ان نمنحالمستخدم B صلاحيه الاستعلام على هذا الجدول , لذلك سنقوم بتنفيذ الامر التالي :- grant select on A.locations to B ; طبعا يجب ان ينفذ هذا الامر مستخدم لديه صلاحيه DBA .الان لو اراد المستخدم B الاستعلام عن بيانات جدول locations فيجب ان يكون استعلامه بالطريقة التاليه select * from A.locations ; اي يجب ان يكتب اسم المستخدم صاحب الجدول واسم الجدول معاً , ولتفادي ذلك يجب ان نقوم بإنشاء synonym للجدول locations لكي يستطيع ان يستخدمه المستخدم B بدون ان يكتب إسم مالك الجدول المستخدم A بالطريقة التاليه :- create public synonym location for A.location ; ايضا يجب ان يقوم بتنفيذ هذا الامر مستخدم له صلاحيه DBA .الان يستطيع المستخدم B الاستعلام عن جدول locations بالطريقه العاديه وهي :- select * from locations ; عمر باعقيلكندا - مونتريال[email protected]MSN Messenger :-[email protected] اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
amkalisa بتاريخ: 16 يونيو 2004 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 16 يونيو 2004 السلام عليكم ورحمة الله وبركاتهاخي amkalisa , لنفترض ان المستخدم A لديه جدول بإسم locations ونريد ان نمنحالمستخدم B صلاحيه الاستعلام على هذا الجدول , لذلك سنقوم بتنفيذ الامر التالي :-grant select on A.locations to B ; طبعا يجب ان ينفذ هذا الامر مستخدم لديه صلاحيه DBA .الان لو اراد المستخدم B الاستعلام عن بيانات جدول locations فيجب ان يكون استعلامه بالطريقة التاليه select * from A.locations ; اي يجب ان يكتب اسم المستخدم صاحب الجدول واسم الجدول معاً , ولتفادي ذلك يجب ان نقوم بإنشاء synonym للجدول locations لكي يستطيع ان يستخدمه المستخدم B بدون ان يكتب إسم مالك الجدول المستخدم A بالطريقة التاليه :- create public synonym location for A.location ; ايضا يجب ان يقوم بتنفيذ هذا الامر مستخدم له صلاحيه DBA .الان يستطيع المستخدم B الاستعلام عن جدول locations بالطريقه العاديه وهي :- select * from locations ; عمر باعقيلكندا - مونتريال[email protected]MSN Messenger :-[email protected] Thank you very much Omer and i hope keeping e-mailling. i am ammar from iraq. and i am new in oracle and i want to learn it , so i am trying and now i reached a good step, soo keep in touch. and thank you very much. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ZAK بتاريخ: 23 يونيو 2004 تقديم بلاغ مشاركة بتاريخ: 23 يونيو 2004 السلام عليكم ورحمة الله وبركاتهاخي amkalisa , لنفترض ان المستخدم A لديه جدول بإسم locations ونريد ان نمنحالمستخدم B صلاحيه الاستعلام على هذا الجدول , لذلك سنقوم بتنفيذ الامر التالي :-grant select on A.locations to B ; طبعا يجب ان ينفذ هذا الامر مستخدم لديه صلاحيه DBA .الان لو اراد المستخدم B الاستعلام عن بيانات جدول locations فيجب ان يكون استعلامه بالطريقة التاليه select * from A.locations ; اي يجب ان يكتب اسم المستخدم صاحب الجدول واسم الجدول معاً , ولتفادي ذلك يجب ان نقوم بإنشاء synonym للجدول locations لكي يستطيع ان يستخدمه المستخدم B بدون ان يكتب إسم مالك الجدول المستخدم A بالطريقة التاليه :- create public synonym location for A.location ; ايضا يجب ان يقوم بتنفيذ هذا الامر مستخدم له صلاحيه DBA .الان يستطيع المستخدم B الاستعلام عن جدول locations بالطريقه العاديه وهي :- select * from locations ; عمر باعقيلكندا - مونتريال[email protected]MSN Messenger :-[email protected] يوجد خطأ في طريقة منح الصلاحية السابقة select privilege on particular table or view is an object privilege not a system privilegethe owner (user have the object) of the table can only grant privilege on the tableusers have dba role can not grant any objects privilege on any objects that not in their schemaso the user who can grant the select privilege is A.noteyou can grant this privilege with "grant option" to user Bso user B can grant this privilege to other userconnect a/password grant select on locations to B with grant option; connect b/password grant select on a.locations to d; [align=left]notethe "create public synonym" is system privilege and necessary to create public synonym and the role dba contian this privilege so any user have dba can create synonymsso we need just "create public synonym" privilege to create public synonym not dba role [/align] اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
hacmp2004 بتاريخ: 18 يوليو 2004 تقديم بلاغ مشاركة بتاريخ: 18 يوليو 2004 اخي amkalisa اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عروة بتاريخ: 15 أبريل 2005 تقديم بلاغ مشاركة بتاريخ: 15 أبريل 2005 السلام عليكم ورحمة الله وبركاته،، أخي وسيم (ZAK) users have dba role can not grant any objects privilege on any objects that not in their schema الرجاء مراجعة ما ذكرته !! لأنه إذا افترضنا أن اليوزر "C" يمتلك صلاحيات الـDBA Role (فقط)،، فانه بإمكانه إعطاء صلاحيات من نوع Object Privileges من أي SCHEMA لـSCHEMA أخري، مثال:GRANT SELECT ON a.emp TO b; إذاً ممكن نقول أن إهداء الصلاحية على أي Object تجوز فقط لمالك الـObject (مثال "A") أو الذي يملك الصلاحية GRANT ANY OBJECT PRIVILEGE والتي هي جزء من صلاحيات الـDBA Roleملاحظة أخي ZAK: فين إنت ما ظاهر ؟؟!! لأني بصراحة إستفدت منك كتير (بالرغم من قلة مشاركاتك - بالمقارنة مع تاريخ تسجيلك بالمنتدى) . اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.