使用SQL,我想创建一个某些模式对象的列表(其中3-4个,表和视图)以及我可以授予它们作为SYS用户的权限,或者我可能以其他身份登录的任何其他用户
答案 0 :(得分:2)
以下是可用于不同类型的架构对象的预定义Oracle Object权限的列表。 http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_9013.htm#i2077938
为了让用户将对象权限(上面提到的任何一个预定义对象权限)授予其他用户,用户必须是该对象的所有者,或者该用户必须已被授予对象权限WITH GRANT选项。否则,必须为用户授予“GRANT ANY OBJECT PRIVILEGE”系统权限。
假设用户U1登录时
1)获取用户拥有的可以授予其他用户的对象列表
SELECT object_name FROM user_objects;
2)获取给予用户U1的对象授权列表,可以由U1授予其他用户。
SELECT grantor, grantee, table_name, owner
FROM user_tab_privs
WHERE grantee = 'U1' and grantable = 'YES'
3)要查看U1是否具有GRANT ANY OBJECT PRIVILEGE,请查询
SELECT * FROM user_sys_privs where privilege = 'GRANT ANY OBJECT PRIVILEGE';
答案 1 :(得分:0)
sys可以授予任何东西。
并且对象本身将来自一个或多个oracle数据字典对象。