zoukankan      html  css  js  c++  java
  • oracle创建用户、授权及角色管理

        

           oracle用户的概念对于Oracle数据库至关重要,在现实环境当中一个服务器一般只会安装一个Oracle实例,一个Oracle用户代表着一个用户群,他们通过该用户登录数据库,进行数据库对象的创建、查询等开发。每一个用户对应着该用户下的N多对象,因此,在实际项目开发过程中,不同的项目组使用不同的Oracle用户进行开发,不相互干扰。也可以理解为一个Oracle用户既是一个业务模块,这些用户群构成一个完整的业务系统,不同模块间的关联可以通过Oracle用户的权限来控制,来获取其它业务模块的数据和操作其它业务模块的某些对象。

    一、创建用户 

    CREATE USER TEST1--用户名
    IDENTIFIED BY "test1"--密码
    ACCOUNT UNLOCK; -- 账户是否解锁(LOCK:锁定、UNLOCK解锁) 

     

    sys;//系统管理员,拥有最高权限
    system;//本地管理员,次高权限
    scott;//普通用户,密码默认为tiger,默认未解锁
    sys;//系统管理员,拥有最高权限
    system;//本地管理员,次高权限
    scott;//普通用户,密码默认为tiger,默认未解锁

    二、登陆
    sqlplus / as sysdba;//登陆sys帐户
    sqlplus sys as sysdba;//同上
    sqlplus scott/tiger;//登陆普通用户scott
    sqlplus / as sysdba;//登陆sys帐户
    sqlplus sys as sysdba;//同上
    sqlplus scott/tiger;//登陆普通用户scott


    三、管理用户
    create user zhangsan;//在管理员帐户下,创建用户zhangsan
    alert user scott identified by tiger;//修改密码
    create user zhangsan;//在管理员帐户下,创建用户zhangsan
    alert user scott identified by tiger;//修改密码

    四,授予权限
    1、默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限
    /*管理员授权*/
    grant create session to zhangsan;//授予zhangsan用户创建session的权限,即登陆权限
    grant unlimited session to zhangsan;//授予zhangsan用户使用表空间的权限
    grant create table to zhangsan;//授予创建表的权限
    grante drop table to zhangsan;//授予删除表的权限
    grant insert table to zhangsan;//插入表的权限
    grant update table to zhangsan;//修改表的权限
    grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public)
    /*管理员授权*/
    grant create session to zhangsan;//授予zhangsan用户创建session的权限,即登陆权限
    grant unlimited session to zhangsan;//授予zhangsan用户使用表空间的权限
    grant create table to zhangsan;//授予创建表的权限
    grante drop table to zhangsan;//授予删除表的权限
    grant insert table to zhangsan;//插入表的权限
    grant update table to zhangsan;//修改表的权限
    grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public)
    2、oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权
    /*oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的*/
    grant select on tablename to zhangsan;//授予zhangsan用户查看指定表的权限
    grant drop on tablename to zhangsan;//授予删除表的权限
    grant insert on tablename to zhangsan;//授予插入的权限
    grant update on tablename to zhangsan;//授予修改表的权限
    grant insert(id) on tablename to zhangsan;
    grant update(id) on tablename to zhangsan;//授予对指定表特定字段的插入和修改权限,注意,只能是insert和update
    grant alert all table to zhangsan;//授予zhangsan用户alert任意表的权限
    /*oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的*/
    grant select on tablename to zhangsan;//授予zhangsan用户查看指定表的权限
    grant drop on tablename to zhangsan;//授予删除表的权限
    grant insert on tablename to zhangsan;//授予插入的权限
    grant update on tablename to zhangsan;//授予修改表的权限
    grant insert(id) on tablename to zhangsan;
    grant update(id) on tablename to zhangsan;//授予对指定表特定字段的插入和修改权限,注意,只能是insert和update
    grant alert all table to zhangsan;//授予zhangsan用户alert任意表的权限


    五、撤销权限
    基本语法同grant,关键字为revoke
    基本语法同grant,关键字为revoke


    六、查看权限
    select * from user_sys_privs;//查看当前用户所有权限
    select * from user_tab_privs;//查看所用用户对表的权限
    select * from user_sys_privs;//查看当前用户所有权限
    select * from user_tab_privs;//查看所用用户对表的权限


    七、操作表的用户的表
    /*需要在表名前加上用户名,如下*/
    select * from zhangsan.tablename
    /*需要在表名前加上用户名,如下*/
    select * from zhangsan.tablename

    八、权限传递
    即用户A将权限授予B,B可以将操作的权限再授予C,命令如下:

    grant alert table on tablename to zhangsan with admin option;//关键字 with admin option
    grant alert table on tablename to zhangsan with grant option;//关键字 with grant option效果和admin类似
    grant alert table on tablename to zhangsan with admin option;//关键字 with admin option
    grant alert table on tablename to zhangsan with grant option;//关键字 with grant option效果和admin类似


    九、角色
    角色即权限的集合,可以把一个角色授予给用户
    create role myrole;//创建角色
    grant create session to myrole;//将创建session的权限授予myrole
    grant myrole to zhangsan;//授予zhangsan用户myrole的角色
    drop role myrole;删除角色
    /*但是有些权限是不能授予给角色的,比如unlimited tablespace和any关键字*/

    转载:https://www.oraclejsq.com/article/010100133.html

  • 相关阅读:
    Object-C,NSSet,不可变集合
    NYIST 860 又见01背包
    NYIST 1070 诡异的电梯【Ⅰ】
    HDU 1542 Atlantis
    HDU 4756 Install Air Conditioning
    CodeForces 362E Petya and Pipes
    HDU 4751 Divide Groups
    HDU 3081 Marriage Match II
    UVA 11404 Palindromic Subsequence
    UVALIVE 4256 Salesmen
  • 原文地址:https://www.cnblogs.com/kiamer2425/p/14968363.html
Copyright © 2011-2022 走看看