oracle数据库的权限系统分为系统权限和对象权限。 “系统权限”(database system privilege )允许用户执行特定的命令集。 例如,create table权限可以创建表,而grant any privilege权限可以授予任何系统权限。 “对象权限”(database object privilege )允许用户对单个对象执行特定操作。 例如,您可以使用delete权限删除表或视图中的行。 您可以使用select权限从表、视图、序列和快照中查询信息。
每个oracle用户都有名称和密码,以及您创建的表、视图和其他资源。 oracle角色(role )是一组权限(privilege ) )或每个用户根据其状态和条件所需的访问类型。 用户可以授予或授予角色指定的权限,并将角色分配给相应的用户。 一个用户也可以直接授权给其他用户。
一、创建用户
oracle内部有两个建筑的用户: system和sys。 由于system具有创建其他用户的权限,因此用户可以直接登录到system用户并创建其他用户。 安装oracle时,用户或系统管理员可以首先为自己创建用户。
语法“创建用户:”:创建用户用户名identified by密码“密码”;
示例: create user test identified by test;
语法“更改用户”]: alter user用户名identified by密码“更改的密码”
例: alterusertestidentifiedby 123456;
二.删除用户
语法: drop user用户名;
示例: drop user test;
如果用户拥有对象,则不能直接删除。 否则,将返回错误值。 指定关键字cascade以删除用户的所有对象,然后删除用户。
语法: drop user用户名cascade;
示例: drop user test cascade;
三.授权角色
为了确保与早期版本的兼容性,oracle提供了三个标准角色(role ) :connect/resource和dba。
)1)对三个标准作用进行说明:
1 ) .“连接角色”)。
-临时用户,特别是不需要表格的用户。 通常只给连接角色。
--connect使用oracle的简单权限,该权限只能访问其他用户的表,如select/insert/update和delete。
拥有connect role的用户还可以创建表、视图、序列、群集、同义词、回复和其他数据链
2 ) .资源角色
-更可靠,正式数据库用户可以授予资源角色。
--resource为用户提供了创建自己的表、序列、过程、触发器、索引和群集的其他权限。
3》. dba role (数据库管理员角色) ) )。
--dba role拥有所有系统权限
-包括无限制的空间限制和向其他用户授予各种权限的功能。 系统由dba用户所有
(2)授权令
语法:授权连接,资源到用户名;
示例:许可连接,资源到测试;
(三)撤销权限
语法:恢复连接,资源从用户名;
列子: revoke connect,resource from test;
四.角色创建/批准/删除
除了前面提到的connect、resource和dba这三个系统角色外,用户还可以在oracle中创建自己的role。 用户创建的role可以由表和/或系统权限组成。 用户必须具有create role系统权限才能创建role。
1 )制作角色
语法:创建角色角色名称;
示例:创建角色测试;
2 )授权角色
语法:授权选择on class to角色名称;
列子: grant select on class totestRole;
注:具有testRole角色的所有用户现在都具有对class表的选择查询权限
3 )删除角色
语法:删除角色角色名称;
示例: drop role testRole;
注:与testRole角色相关的权限将从数据库中删除