zoukankan      html  css  js  c++  java
  • Oracle用户相关命令

    Oracle用户是一个数据库对象,用户所有的操作默认在自己的模式下进行,模式是一个用户所拥有的数据库对象的集合,每个用户都有自己的模式,用户和模式之间是一一对应的,模式的名字与用户名相同。例如,SCOTT用户的模式为SCOTT,在这个模式中包含了用户SCOTT拥有的所有数据库对象,包括表,视图,索引,存储程序等。用户的数据库对象和数据分布在表空间中,每个用户都有默认的表空间,如果建立用户时不指定表空间,系统默认将SYSTEM表空间为用户默认表空间。

    Oracle数据库有三类用户,一类是sysdba,一类是sysoper,一类是普通用户,前2类为特权用户。sys用户同时具有sysdba和sysoper两种权限,它是创建数据库时自动产生,不需要手工创建。普通用户指定了sysdba或sysoper权限,该用户也成特权用户。特权用户信息可以从动态性能视图v$pwfile_users中获得。

    创建新的用户并指定表空间:

        create user [username] identified by "[password]"  

        default tablespace 表空间

        temporary tablespace 临时表空间

        quota 表空间配额 on 表空间(为用户在表空间指定空间配额以字节,KB,MB为单位,也可以无限制配额:UNLIMITED TABLESPACES)

        password expire

        account lock|unlock;

    为用户授权:grant 权限1、权限2...to  [username1],[username2],

        1. grant create session to [username] 此时只能连接到数据库 

        2. grant connect,resource to [username] 授予角色权限 

        3. grant select,delete on scott.emp to [username] 把scott下emp表的select和delete权限给用户

    回收权限:revoke 权限1、权限2 from [username]  

         revoke 权限1、权限2 on scott.emo from [username] 

        1. revoke select ,delete on scott.emo from [username]  把用户在scott下emp表的select和delete权限回收

        2. revoke all on scott.emp from [username] 把用户在scott下emp表的所有权限回收

    Oracle中有两类角色,一种是预定义的角色,一种是用户自定义角色,常见的预定义角色有connect, resource,dba

    创建角色:create role 角色名

    角色中添加权限:grant 权限1,权限2 to 角色名

            grant 权限1,权限2 on scott.emp to 角色名

    将角色授予用户:grant 角色 to [user1],[user2]

    回收角色:revoke 角色 from [user1]

    修改用户密码:alter user [username] identified by [password]  

    下次登录时提示修改密码:alter user [username] password expired

    锁住用户:alter user [username] account lock   

    解锁用户:alter user [username] account unlock  

    删除用户:drop user user_name cascade 用户以及所拥有的数据库对象一起被删除

     

    用户的相关信息可以从数据字典视图dba_users中获得:select username,password,default_tablespace,account_status from dba_users;

    用户的系统权限和对象信息都可以从数据字典视图获得:

        system_privilege_map 当前数据库中已经定义的所有系统权限

        dba_sys_privs   sys用户查询任何用户所具有的系统权限

        user_sys_privs 普通用户查询自己所拥有的系统权限

                session_privs 查询一个用户在当前会话中所具有的系统权限

    用户的角色信息都可以从数据字典视图获得:

    dba_roles 记录数据库中所有角色

    dba_role_privs 记录所有被授予用户或另一角色的角色

    user_role_privs 记录所有授予当前用户的角色

    role_role_privs 记录一个角色中包含的其他角色

    role_sys_privs 记录一个角色中包含的系统权限

    role_tab_privs 记录一个角色中包含的对象权限

    session_roles 记录当前会话中所使用的角色

  • 相关阅读:
    【赵强老师】使用Docker Compose进行服务编排
    【赵强老师】Weblogic域和域的组成
    【赵强老师】管理Docker镜像
    3. 清理统一审计 AUD$UNIFIED 基表部份数据
    4. AUD$UNIFIED 基表及 分区键创建索引
    2.更改统一审计AUD$UNIFIED基表 默认表空间
    1.更改统一审计AUD$UNIFIED 分区为1天
    9. 将APEX18.2 升级到 APEX19.2 详细步骤
    1.2 安装中文语言包
    通过VBOX 导入系统工具 搭建APEX开发环境
  • 原文地址:https://www.cnblogs.com/PerOpt/p/3731826.html
Copyright © 2011-2022 走看看