阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle创建用户、角色、授权、建表

192次阅读
没有评论

共计 1867 个字符,预计需要花费 5 分钟才能阅读完成。

Oracle 数据库的权限系统分为系统权限与对象权限。系统权限 (database system privilege) 可以让用户执行特定的命令集。例如,create table 权限允许用户创建表,grant any privilege 权限允许用户授予任何系统权限。对象权限 (database object privilege) 可以让用户能够对各个对象进行某些操作。例如 delete 权限允许用户删除表或视图的行,select 权限允许用户通过 select 从表、视图、序列 (sequences) 或快照 (snapshots) 中查询信息。

每个 Oracle 用户都有一个名字和口令, 并拥有一些由其创建的表、视图和其他资源。oracle 角色 (role) 就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。

一、创建用户

oracle 内部有两个建好的用户:system 和 sys。用户可直接登录到 system 用户以创建其他用户,因为 system 具有创建别 的用户的 权限。在安装 oracle 时,用户或系统管理员首先可以为自己建立一个用户。

语法[创建用户]:create user 用户名 identified by 口令[即密码];

例子:create user test identified by test;

语法[更改用户]: alter user 用户名 identified by 口令[改变的口令];

例子:alter user test identified by 123456;

二、删除用户

语法:drop user 用户名;

例子:drop user test;

若用户拥有对象,则不能直接删除,否则将返回一个错误值。指定关键字 cascade, 可删除用户所有的对象,然后再删除用户。

语法:drop user 用户名 cascade;

例子:drop user test cascade;

三、授权角色

oracle 为兼容以前版本,提供三种标准角色(role):connect/resource 和 dba.

(1)讲解三种标准角色:

1》. connect role(连接角色)

– 临时用户,特指不需要建表的用户,通常只赋予他们 connect role.

–connect 是使用 oracle 简单权限,这种权限只对其他用户的表有访问权限,包括 select/insert/update 和 delete 等。

– 拥有 connect role 的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym)、回话(session)和其他  数据的链(link)

2》. resource role(资源角色)

– 更可靠和正式的数据库用户可以授予 resource role。

–resource 提供给用户另外的权限以创建他们自己的表、序列、过程 (procedure)、触发器(trigger)、索引(index) 和簇(cluster)。

3》. dba role(数据库管理员角色)

–dba role 拥有所有的系统权限

– 包括无限制的空间限额和给其他用户授予各种权限的能力。system 由 dba 用户拥有

(2)授权命令

语法:grant connect, resource to 用户名;

例子:grant connect, resource to test;

(3)撤销权限

语法:revoke connect, resource from 用户名;

列子:revoke connect, resource from test;

四、创建 / 授权 / 删除角色

除了前面讲到的三种系统角色 —-connect、resource 和 dba,用户还可以在 oracle 创建自己的 role。用户创建的 role 可以由表或系统权限或两者的组合构成。为了创建 role,用户必须具有 create role 系统权限。

1》创建角色

语法:create role 角色名;

例子:create role testRole;

2》授权角色

语法:grant select on class to 角色名;

列子:grant select on class to testRole;

注:现在,拥有 testRole 角色的所有用户都具有对 class 表的 select 查询权限

3》删除角色

语法:drop role 角色名;

例子:drop role testRole;

注:与 testRole 角色相关的权限将从数据库全部删除

更多 Oracle 相关信息见Oracle 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=12

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1867字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中