美文网首页
Oracle用户与权限

Oracle用户与权限

作者: 天下无敌强 | 来源:发表于2017-04-30 11:56 被阅读0次

    Oracle数据库下用户操作

    新增用户

    前置条件

    • 首先登陆到系统用户sys(sys用户具有创建用户的权限)。
    • 然后在SQL语句输入框写入创建用户的代码。

    语法

    • CREATE USER user_name IDENTIFIED BY password
    • [ACCOUNT LOCK|UNLOCK]   lock:给用户上锁;unlock:解锁用户。(和connnect角色无关)
    • [DEFAULT TABLESPACE default_tablespace]  default_tablespace:用户的默认表空间,用于储存数据库对象。如果忽略此参数,则默认存储到SYSTEM表空间
    • [TEMPORARY TABLESPACE temporary_tablespace];  temporary_tablespace:是临时对象默认存储的表空间,包括临时表。如果忽略此参数,则默认存储到SYSTEM表空间

    示例

    CREATE USER student IDENTIFIED BY 123456;创建了一个student用户,登陆密码为123456.

    查看用户

    查看拥有DBA权限的用户

    select username,user_id,password,default_tablespace from dba_users;

    查看当前登录用户

    select * from user_role_privs;

    通过角色控制用户权限

    • Connect 临时会话角色,对于那些不需要建表的用户,通常只赋予他们CONNECT角色,拥有CONNECT角色可以与服务器建立连接会话。
    • Resource 更可靠的和正式的用户可以授予RESOURCE角色.RESOURCE角色提供给用户创建表,序列,过程(procedure),触发器(tigger),索引(index)等。
    • DBA 所有的系统权限,用户system和sys拥有DBA角色。

    说明:
    Scott拥有connect和Resource两个角色,可以应对大部分的开发场景;
    Grant connect/resource/dba to Scott;

    给用户分配权限

    • 如果想让用户在数据库里完成一些任务,需要相应的给用户授予权限。如:如果想让用户连接到数据库,必须授予用户CREATE SESSION的系统权限。
    • 授权必须通过一些特殊用户授权(例如SYSTEM),通过GRANT语句来完成。下表列出了用户可能用到的权限。

    语法

    • GRANT CREATE SESSION TO student;
    • 给用户student分配连接的权限。

    权限列表

    • 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

    撤销用户权限

    REVOKE CONNECT FROM Scott;

    相关文章

      网友评论

          本文标题:Oracle用户与权限

          本文链接:https://www.haomeiwen.com/subject/cbxxtxtx.html