بتاريخ: 15 يونيو 200421 سنة comment_8381 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 يونيو 200421 سنة comment_8385 السلام عليكم ورحمة الله وبركاتهاخي 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] تقديم بلاغ
بتاريخ: 16 يونيو 200421 سنة كاتب الموضوع comment_8469 السلام عليكم ورحمة الله وبركاتهاخي 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. تقديم بلاغ
بتاريخ: 23 يونيو 200421 سنة comment_8670 السلام عليكم ورحمة الله وبركاتهاخي 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] تقديم بلاغ
بتاريخ: 15 أبريل 200520 سنة comment_33192 السلام عليكم ورحمة الله وبركاته،، أخي وسيم (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: فين إنت ما ظاهر ؟؟!! لأني بصراحة إستفدت منك كتير (بالرغم من قلة مشاركاتك - بالمقارنة مع تاريخ تسجيلك بالمنتدى) . تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.