Oracle复习(六)权限管理

Oracle复习(六)权限管理
用户管理;
  • Oracle数据库初始用户:

    • SYS:数据库管理员
    • SYSTEM:一般管理员无启动和关闭数据库权限,做辅助的功能
    • SCOTT:普通用户,用于测试网络连接的用户
    • PUBLIC:实质上一个用户组,数据库中任何一个用户都属于该组要给某个用户某个权限。只需要把权限授予PUBLIC就可以了。
  • 用户属性:

    • 安全属性
      • 身份认证:

        • 数据库身份认证
        • 外部身份认证
        • 全局身份认证(网络操作)
      • 默认表空间

      • 临时表空间

      • 表空间配额

      • 概要文件

      • 账号状态(加解锁)

  • 创建用户:

CREATE USER 用户名 IDENTIFIED 
[BY 密码| EXTERNALLY|(外部)GLOBALLY(全局) AS 'external_name']
[DEFAULT TABLESPACE table space_name] (设置默认表空间)
[TEMPOPARY TABLESPACE temp_tablespace_name](设置临时表空间)
[QUOTA n K | M | UNLLMITED ON tablespace_name]
[PROFILE profile_name]
[PASSWORD EXPIRE]
[ACCOUNT LOCK|UNLOCK];
eg:创建一个用户user3, 默认表空间为USERS 口令为user3
CREATE USER user3 IDENTIFIED BY user3 DEFAULT TABLESPACE USERS QUOTA 10MB ON  USERS ACCOUNT LOCK;
但是本次 创建没有授予权限

账户解锁:ALTER USER user3 account unlock;

  • 修改账户:
ALTER USER 用户名 IDENTIFIED
[by 密码 | EXTERNALLY |  GLOBALLY AS ‘external_name’] 
[default tablespace tablespace_name] 设置默认表空间 [
temporary tablespace temp_tablespace_name] 
[QUOTA n K| M | UNLIMITED on tablespace_name ] 
[PROFILE profile_name] 
[DEFAULT role_list all[except role_list] | none  ] 
[account lock|unlock];

eg:将 账号围殴user3密码修改为newuser3 同时将该用户解锁
ALTERUSER user3 IDENTIFIED BY newuser3 account UNLOCK;
eg:修改用户user3默认表空间为‘ORCLTBS1'该表空间配额为20M, 在USERS表空间配额为10M
ALTER user3 DEFAULT  TABLESPACE ORCLTBS1 QUOTA 20MB ONORCLTBS1 QUOTA 10MB ON USERS;
  • 用户删除:
drop user 用户名 [cascade];
注意:如果将 Cascade 关键字用于 drop user 命令的末尾,则 在从数据库中删除用户之前,删除用户的所有对象。该 关键字不仅可以删除所有的用户对象,而且还可以删除 其他用户模式中对已删除对象表进行引用的约束,使其 他用户所拥有的引用了已删除对象的对象无效。

  • 查看用户:
selecct * from 
ALL_USERS:包含数据库所有用户的用户名,用户ID, 用户创建时间 
DEA_USERS:包含数据库所有的用户的详细信息
USER_users:包含当前用户的详细信息
DEA_TS_QUOTAS:包含所有用户的表空间配额信息
USER_TS_QUOTAS:包含当前用户的表空间的配额信息
V$S ESSION:包含用户会话信息
V$  OPEN_CURSOR:包含用的执行SQL语句信息
  • 权限管理:

* 对象权限:对象级别权限是由用户赋予的访问或操作数据库对 象的权限。例如,如果需要向scott.emp表中插入行的数据库用户必须拥有完成这项工作的指定权限。 

* 系统权限: 系统权限不是控制对指定数据库对象的访问,而是 用来许可对各种特性的访问,或许可Oracle数据库中的特定任务。 
    * 系统权限注意:
        * 一般情况下,都应该将CREATE SESSION权限授予用户 

        * 用户需要CREATE TABLE权限来在自己的模式中创建、修 改、删除或查询任何表 
        * 如果要删除其他模式中的表,用户必须具有DROP ANY TABLE系统权限 
        * CREATE ANY PROCEDURE允许用户创建、修改、删除 或执行任何存储过程、程序包和函数 
        * 开发人员一般需要几个系统权限,包括CREATE TABLE,CREATE VIEW,CREATE TYPE等,以创建支持前 台应用程序的数据库模式 

  • 权限授予:
grant 权限 to 用户列表 角色列表 public [with admin option]  授权之后的角色是不是还有授权的权限  
eg: 为public 组授权,具有创建视图的权限 
grant create any view to public;  

grant create session ,create table, ... to  public; 权限之间用逗号间隔 用户之间也用逗号间隔  

eg: grant create any view to user2 with admin option;
  • 权限回收:
revoke 权限 from 用户列表 角色列表 public  

eg:回收 user1 的create view 权限  
revoke create table, create view from user1;  

不可以传递回收: user1 -> user2 -> user3 
user1 收回user2的某些权限 但是 user2给user3的权限还在
  • 对象权限:
grant 对象权限 on 对象 to 用户列表 角色列表 [with grant option]

eg: 将emp表中的select insert update 授予 user1
grant select,update, insert on emp to user1;

revoke 对象权限 | ALL on 对象 form 用户列表 角色列表
对象权限 只要使用all 可以将其他人授予的权限也可以收回

  • 权限查询:
select * from dba_tab_privs;

DBA_TAB_PRIVS
ALL_TAB_PRIVS
USER_TAB_PRIVS
DBA_COL_PRIVS  所有字段已授权的信息
USER_COL_PRIVS 当前字段已经授权的信息
DBA_SYS_SYSPRIVS 包含授权用户或者角色的系统角色信息
USER_SYS_PRIVS 包含授予当前用户的系统权限信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

wjxbless

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值