原博:http://liwx.iteye.com/blog/1182251

一、创建用户的Profile文件

 SQL> create profile student limit  // student为资源文件名
FAILED_LOGIN_ATTEMPTS 3 //指定锁定用户的登录失败次数
PASSWORD_LOCK_TIME 5 //指定用户被锁定天数
PASSWORD_LIFE_TIME 30 //指定口令可用天数

二、创建用户
SQL> Create User username
 Identified by password
 Default Tablespace tablespace
 Temporary Tablespace tablespace
 Profile profile
 Quota integer/unlimited on tablespace;

例:

 SQL> Create user acc01
identified by acc01 // 如果密码是数字,请用双引号括起来
default tablespace account
temporary tablespace temp
profile default
quota 50m on account;
SQL> grant connect, resource to acc01;

[*] 查询用户缺省表空间、临时表空间
SQL> select username, default_tablespace, temporary_tablespace from dba_users;

[*] 查询系统资源文件名:
SQL> select * from dba_profiles;

资源文件类似表,一旦创建就会保存在数据库中。

 SQL> create profile common limit
failed_login_attempts 5
idle_time 5; SQL> Alter user acc01 profile common;

三、修改用户:
SQL> Alter User 用户名
 Identified 口令
 Default Tablespace tablespace
 Temporary Tablespace tablespace
 Profile profile
 Quota integer/unlimited on tablespace;
 
1、修改口令字:
SQL>Alter user acc01 identified by "12345";

2、修改用户缺省表空间:
SQL> Alter user acc01 default tablespace users;

3、修改用户临时表空间
SQL> Alter user acc01 temporary tablespace temp_data;

4、强制用户修改口令字:
SQL> Alter user acc01 password expire;

5、将用户加锁
SQL> Alter user acc01 account lock;  // 加锁
SQL> Alter user acc01 account unlock;  // 解锁

四、删除用户
SQL>drop user 用户名;  //用户没有建任何实体
SQL> drop user 用户名 CASCADE;  // 将用户及其所建实体全部删除

*1. 当前正连接的用户不得删除。

五、监视用户:
1、查询用户会话信息:
SQL> select username, sid, serial#, machine from v$session;

2、删除用户会话信息:
SQL> Alter system kill session 'sid, serial#';

3、查询用户SQL语句:
SQL> select user_name, sql_text from v$open_cursor;

Oracle 角色管理

一、何为角色
  角色。角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限。

二、系统预定义角色 

预定义角色是在数据库安装后,系统自动创建的一些常用的角色。下介简单的介绍一下这些预定角色。角色所包含的权限可以用

以下语句查询:

sql>select * from role_sys_privs where role='角色名';

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

用于创建拥有恢复库的用户。关于恢复库的信息,参考oracle文档《Oracle9i User-Managed Backup and Recovery Guide》

7.HS_ADMIN_ROLE

A DBA using Oracle's heterogeneous services feature needs this role to access appropriate tables in the data

dictionary.

三、管理角色

1.建一个角色
sql>create role role1;

2.授权给角色
sql>grant create any table,create procedure to role1;

3.授予角色给用户
sql>grant role1 to user1;

4.查看角色所包含的权限
sql>select * from role_sys_privs;

5.创建带有口令以角色(在生效带有口令的角色时必须提供口令)
sql>create role role1 identified by password1;

6.修改角色:是否需要口令
sql>alter role role1 not identified;
sql>alter role role1 identified by password1;

7.设置当前用户要生效的角色

(注:角色的生效是一个什么概念呢?

假设用户a有b1,b2,b3三个角色,那么如果b1未生效,则b1所包含的权限对于a来讲是不拥有的,

只有角色生效了,角色内的权限才作用于用户,最大可生效角色数由参数MAX_ENABLED_ROLES设定;

在用户登录后,oracle将所有直接赋给用户的权限和用户默认角色中的权限赋给用户。)

sql>set role role1;//使role1生效
sql>set role role,role2;//使role1,role2生效
sql>set role role1 identified by password1;//使用带有口令的role1生效
sql>set role all;//使用该用户的所有角色生效
sql>set role none;//设置所有角色失效
sql>set role all except role1;//除role1外的该用户的所有其它角色生效。
sql>select * from SESSION_ROLES;//查看当前用户的生效的角色。

8.修改指定用户,设置其默认角色

sql>alter user user1 default role role1;
sql>alter user user1 default role all except role1;
详见oracle参考文档

9.删除角色

sql>drop role role1;
角色删除后,原来拥用该角色的用户就不再拥有该角色了,相应的权限也就没有了。

说明:

1)无法使用WITH GRANT OPTION为角色授予对象权限

2)可以使用WITH ADMIN OPTION 为角色授予系统权限,取消时不是级联

Oracle用户管理和角色管理的更多相关文章

  1. Oracle创建表空间、用户管理、角色管理

    内容:Oracle创建表空间.用户管理.角色管理 1.用系统用户登录Oracle 默认的系统用户: sys/system.sysman.scott sys:权限最大,超级用户,可以完成所有任务, 默认 ...

  2. oracle用户权限和角色

    用户权限是最基本的数据库安全控制.其作用就是控制用户对数据的访问,sql语句的执行.当oracle用户创建的时候,可以通过授权来控制用户对数据的连接,数据库对象的操作等等. 在oracle中,分为两种 ...

  3. 附2 rabbitmq用户管理、角色管理与权限管理

    本文摘自:http://my.oschina.net/hncscwc/blog/262246 1. 用户管理 用户管理包括增加用户,删除用户,查看用户列表,修改用户密码. 相应的命令 (1) 新增一个 ...

  4. Oracle 用户权限管理方法

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

  5. 循序渐进VUE+Element 前端应用开发(16)--- 组织机构和角色管理模块的处理

    在前面随笔<循序渐进VUE+Element 前端应用开发(15)--- 用户管理模块的处理>中介绍了用户管理模块的内容,包括用户列表的展示,各种查看.编辑.新增对话框的界面处理和后台数据处 ...

  6. Oracle用户、权限、角色管理(转)

    http://blog.csdn.net/junmail/article/details/4381287 Oracle 权限设置一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户 ...

  7. Oracle用户,权限,角色以及登录管理 scoot 授权

    Oracle用户,权限,角色以及登录管理 1. sys和system用户的区别 system用户只能用normal身份登陆em.除非你对它授予了sysdba的系统权限或者syspoer系统权限. sy ...

  8. Oracle用户、权限、角色管理

    Oracle 权限设置一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言). 实体权限:某种权限用户对其它用户的表或视图的存取权限.(是针对表或视图而言的).   二.系统权 ...

  9. ORACLE - 用户和角色的权限管理

    在ORACLE中,创建用户后需要授权才能使用. 一.用户管理 1. 用户和角色信息查询 --查询所有用户 SQL> select * from dba_users; --经授予的用户或角色的系统 ...

随机推荐

  1. $.ajax和$.post的区别(前者根据key-value/后者根据形参)

    post不需要给key-value形式: $("#btn").click(function(){ var url=basePath+"/emp/login"; ...

  2. AutoFac使用方法总结

    AutoFac是.net平台下的IOC容器产品,它可以管理类之间的复杂的依赖关系.在使用方面主要是register和resolve两类操作. 这篇文章用单元测试的形式列举了AutoFac的常用使用方法 ...

  3. Struts2 语法--action

    xml的注释: <!--叨叨叨叨--> web.xml注释格式": <?xml version="1.0" encoding="UTF-8&q ...

  4. 关于日期条件查询的sql 代码

    daysqhql = "select sum(c.casenum) from domain.Case c where" + " convert(varchar(10),c ...

  5. initWithNibName与viewDidLoad的执行关系以及顺序

    转载自:http://www.java123.net/v/380331.html 一个ViewController,一般通过init或initWithNibName来加载.二者没有什么不同,init最 ...

  6. sina微博上看到的关于android界面设计相关的规范

    图片来自:http://photo.weibo.com/5174249907/wbphotos/large/mid/3777508610941685/pid/005EaCLFjw1emcpzdgrj9 ...

  7. logo集锦

    收集一个酷酷的技术公司的logo,一方面学习其中的美,另一方面打算用代码的画出这些logo算做致敬.感谢他们改变了我们的世界. 三星 苹果 戴尔 谷歌 IBM intel 惠普

  8. Mac系统下安装Tomcat,以及终端出现No such file or directory的错误提示解决方案

    Tomcat,作为一个免费的服务器口碑实在太好,本想安装一个研究研究,无奈电脑是mac系统,在网上搜了一些安装方法总是出错,直到遇到了这篇博客,http://www.cnblogs.com/qingy ...

  9. oracle中nvl函数

    最近在修改项目中一个统计的bug,统计出的钱数不对,因为不是自己开发的模块,经过分析流程找到了统计的sql. sum(f_msmoney)+sum(f_fkmoney) as total, 上面这段是 ...

  10. Python中super的用法

    super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO).重复调用(钻石继承)等种种问题.总之前人留下的经验就是:保持一致性 ...