安全生产-Oracle安全性管理.ppt

角色与权限管理 将角色授予用户或其他角色 撤销授予用户或其他角色的角色 GRANT role_1[,role_2]... TO {user_1[,user_2]...|PUBLIC|role_1[,role_2]} [WITH ADMIN OPTION]; REVOKE role_1[,role_2]... FROM {user_1[,user_2]...|PUBLIC|role_1[,role_2]}; 查看角色信息 可以通过数据字典视图USER_TAB_PRIVS查看角色拥有的权限 如:select * from USER_TAB_PRIVS where grantee=PUBLIC_ROLE; Oracle中的数据字典 概述 数据字典用于存放有关数据库描述信息的数据。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。 概述 基本的数据字典表由sys用户所有,并且保存在system表空间中。用户不能直接访问这些表,只能通过一系列视图访问数据字典表中的信息。 数据字典的分类 Oracle中的数据字典有静态和动态之分。 静态数据字典主要是在用户访问数据字典时不会发生改变的,但动态数据字典是依赖数据库运行的性能的,反映数据库运行的一些内在信息,所以在访问这类数据字典时往往不是一成不变的。 静态数据字典 这类数据字典主要是由表和视图组成,应该注意的是,数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。静态数据字典中的视图分为三类,它们分别由三个前缀够成: user_* all_* dba_* 静态数据字典 user_* 该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户方案下的对象) 静态数据字典 all_* 该视图存储了当前用户能够访问的对象的信息。(与user_*相比,all_* 并不需要拥有该对象,只需要具有访问该对象的权限即可) 静态数据字典 dba_* 该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限) 静态数据字典 三者之间存储的数据有重叠,除了访问范围的不同以外,其他均具有一致性。 具体来说,数据字典视图是由SYS(系统用户)所拥有的,所以在缺省情况下,只有SYS和拥有DBA系统权限的用户可以看到所有的视图。没有DBA权限的用户只能看到user_*和all_*视图。如果未被授予相关的SELECT权限的话,他们不能看到 dba_*视图。 常用user_*视图(目录和对象) user_tables视图 主要描述当前用户拥有的所有表的信息,主要包括表名、表空间名、簇名等。通过此视图可以清楚了解当前用户可以操作的表有哪些。 SELECT * FROM USER_TABLES 常用user_*视图(目录和对象) user_objects视图 主要描述当前用户拥有的所有对象的信息,对象包括表、视图、存储过程、触发器、包、索引、序列等。该视图比user_tables视图更加全面。 SELECT OBJECT_TYPE, STATUS FROM USER_OBJECTS WHERE OBJECT_NAME=UPPER(‘package1’); 常用user_*视图(用户和权限) user_users视图 主要描述当前用户的信息,主要包括当前用户名、帐户id、帐户状态、表空间名、创建时间等。例如执行下列命令即可返回这些信息: SELECT * FROM USER_USERS 常用user_*视图(用户和权限) user_tab_privs视图 该视图主要是存储当前用户下对所有表的权限信息。为了了解当前用户对table1的权限信息,可以执行如下命令: SELECT * FROM USER_TAB_PRIVS WHERE TABLE_NAME=UPPER(‘table1’); 静态数据字典 前面的视图均为user_开头的,其实all_开头的也完全是一样的,只是列出来的信息是当前用户可以访问的对象而不是当前用户拥有的对象。对于dba_开头的需要管理员权限,其他用法也完全一样 动态数据字典 Oracle包含了一些潜在的由系统管理员如SYS维护的表和视图,由于当数据库运行的时候它们会不断进行更新,所以称它们为动态数据字典(或者是动态性能视图)。这些视图提供了关于内存和磁盘的运行情况,所以只能对其进行只读访问而不能修改它们。 几个主要的动态性能视图 v$instance 该视图主要描述当前例程的相关信息。依

文档评论(0)

1亿VIP精品文档

相关文档