Oracle19C入门到熟练015-用户、权限与角色

学习要求

有一定关系型数据的操作功底,会SQL语句

教学目标

熟练掌握Oracle数据库用户,角色与权限相关

用户

在oracle中,一个服务器上一般只有一个数据库。在一个数据库中,不同的用户项目由不同的用户访问,每一个用户拥有自身创建的数据

库对象,当一个用户想访问其它用户下的数据库对象时,必须由对方授予一定的权限,因此,用户和权限在oracle中非常重要。

oracle中的帐户分为两类:一类是必需的帐户,一类是存储各种应用的帐户

用户名密码描述
ANONYMOUSANONYMOUS访问http的匿名用户帐户
CTXSYSCTXSYSinterMedia Text用户
DBSNMPDBSNMP目录集成平台用户
EXFSYSEXFSYS表达式过滤器用户
MDDATAMDDATAoracle空间数据帐户
MDSYSMDSYSoracle空间数据媒体管理员
MGMT_VIEWMGMT_VIEW
OLAPSYSMANGER用于创建olap元数据
ORDPLUGINSORDPLUGINSoracle ineterMedia,video用户
ORDSYSORDSYSimage管理员
OUTLNOUTLN拥有connect和resource角色
SCOTTTiger样例帐户
SI_INFORMATN_SCHEMA静止图像浏览帐户
SYS用户指定数据库管理帐户
SYSMANOEM_TEMP企业管理器帐户
SYSTEM用户指定数据库管理帐户
WK_TESTWK_TEST同wksys
WKPROXY代理帐户
WKSYSWKSYS同wk_test
WMSYSWMSYS工作空间管理帐户
XDBCHANGE_ON_INSTALLxml db帐户

默认情况下,system/sys用户是解锁的,其他用户根据数据库版本不同,可能是锁定的,也可能是不锁定的。

select username,account_status,expiry_date from dba_users;  -- system/sys 用户才能执行

alter user scott account unlock;  -- 解锁

当然,如果没有用户,可以使用命令创建

create user 用户名 identified by 密码;

新建用户权限很低,不能连接数据库,也没有创建、操作数据库对象的权限,此时需要对其进行相应的授权。

grant connect to 用户名;--允许用户连接数据库
grant resource to 用户名;--允许用户创建相关的数据库对象,如表,序列等。

权限

权限允许用户访问属于其它用户的对象或执行程序

权限分类:

系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。

实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。

常用的权限

系统权限允许用户的操作
create session连接到数据库
create sequence创建序列
create synonym创建同义词
create table在用户架构中创建表格
create any table在任意框架中创建表
drop table从用户框架中删除表
drop any table在任意框架中删除表
create procedure创建存储过程
execute any procedure在任意框架中执行存储过程
create user创建用户
drop user删除用户
create view创建视图

角色

一系列权限的集合

系统角色

DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。

RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。

CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。

对于普通用户:授予connect, resource权限。

对于DBA管理用户:授予connect,resource, dba权限。

常见角色

1.CONNECT, RESOURCE, DBA 这些预定义角色主要是为了向后兼容。其主要是用于数据库管理。oracle建议用户自己设计数据库管理和安全的权限规划,而不要简单的使用这些预定角色。将来的版本中这些角色可能不会作为预定义角色。

2.DELETE_CATALOG_ROLE, EXECUTE_CATALOG_ROLE, SELECT_CATALOG_ROLE 这些角色主要用于访问数据字典视图和包。

3.EXP_FULL_DATABASE, IMP_FULL_DATABASE 这两个角色用于数据导入导出工具的使用。

4.AQ_USER_ROLE, AQ_ADMINISTRATOR_ROLE AQ:Advanced Query。这两个角色用于oracle高级查询功能。

5. SNMPAGENT 用于oracle enterprise manager和Intelligent Agent

6.RECOVERY_CATALOG_OWNER 用于创建拥有恢复库的用户。关于恢复库的信息,

练习

需求:创建一个用户

-- 使用system/sys登录
conn system/admin;   -- admin 是安装时设置的超管密码
-- 创建用户
create user dafei identified by admin;

-- 登录
conn dafei/admin; --- ORA-01045: 用户 DAFEI 没有 CREATE SESSION 权限; 登录被拒绝

需求:给用户登录授权

-- 使用system/sys登录
conn system/admin;   -- admin 是安装时设置的超管密码
-- 授权
grant create session to dafei;

-- 切换用户
conn dafei/conn;
-- 查看用户权限
select * from user_sys_privs;

需求:创建一个角色,授予创建表,查看表权限

-- 使用system/sys登录
conn system/admin;   -- admin 是安装时设置的超管密码

-- 创建一个角色
create role myrole;

-- 授权创建表
grant create table to myrole;

-- 分配角色
grant myrole to dafei;

-- 建表-需要退出,重新登录
create table demo2(id number);

-- 查看用户权限
select * from user_role_privs;

需求:回收权限

-- 回收角色权限
revoke myrole from dafei;

-- 回收登陆权限
revoke create session from dafei;

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浪飞yes

我对钱没兴趣~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值