再分享一下Oracle中对用户的管理,以下这些东西是我的麦库上存的当时学Oracle的学习笔记今天拿出来和大家分享一下,转载请注明出处,下面用的Oracle的版本是10g,用的时WinServer2003的操作系统,可能有些命令和Oracle11g的有所不同,但大部分是一样的,接下来还会陆续的分享一下Oracle中对数据库的管理,对表的管理,还有Oracle中的存储过程和PL/SQL编程。用到的Oracle的管理工具是PL/SQL Developerl和SQL PLUS,欢迎大家批评指正。

1.用户的创建

  在Oracle数据库创建数据库用create user语句来实现,一般是具有dba的权限才能实现。
  demo:

sql> create user UserName identified by UserPassWord;
sql>用户已创建。(在创建用户时用户密码必须以字母开头,否则无法创建用户)

2.修改密码
  给用户修改密码:
  如果给自己修改密码可以用

 sql>password 即可;

  给别人修改密码必须有数据库dba权限或者系统的alter user权限

  sql> alter user 用户名 identified by 新密码;

3.删除用户:
  需要有数据库dba权限或者drop user 权限

  demo: sql> drop user 用户名 【cascade】 cascade在删除用户的同时把用户所创建的表也一并删除;

4.赋权限

  创建的用户是没有任何权限的,需要给他赋予一些操作数据库的一一些权限给用户赋权限用关键字grant, 回收用户的权限用revoke

  给用户赋予连接数据库的权限:
 

sql>grant connect to 用户名;

  系统权限的传递性设置:

sql>grant connect to 用户名 with admin option;

  oracle数据库中的权限包括系统权限和对象权限
      系统权限:用户对数据库的相关权限;如:创建数据库,删除数据库,创建和删除用户;
      对象权限:用户对其数据对象的操作权限,数据对象如表,视图,函数,过程等:

5.oracle 中的角色:
  角色的概念:角色是多种权限的组合包括 预定义角色和自定义角色,如connect权限,dba权限,resource权限等;
  connect权限是赋予用户连接数据库的权限,dab权限是数据库的最高权限,resource 权限是赋予用户使用数据库存储资源的权限即创建和操作表的权限;

  对象的权限:select, insert, update, delete, all(包含上述的四个), create index ……常用的是对表的操作赋予用户对象权限的语法如下:

 grant 权限 on 表名 to 用户名; demo: grant select on emp to ludashi;

  把scott下的表的select对象权限赋予li;

sql>grant select on emp to li;
sql>conn li/li;
sql>select * from scott.emp; --查询scott下的emp表,必须为scott.emp才可以查询成功。这涉及到“方案”的概念。

  如果是dba用户,把用户scott的下的emp表的select对象权限赋给li用户:

sql>grant select on scott.emp to li;(方案名.表名);

  设置用户权限的可传递性:

sql>grant select on emp to li with grant option; --li用户可以把别人赋给他的权限在赋给其他人;

6.回收用户权限:
  revoke 权限 on 表名 from 用户名;
  scott用户撤回他赋给li用户的select权限:

 revoke select on emp from li;

  sys用户撤回scott用户把自己的emp表的select权限赋给li;

revoke select on scott.emp from li;

  desc命令: desc 表名;显示表结构;

7.Oracle权限的回收传递问题:
  系统角色的回收问题(如connect,resources等):
    sys用户:--把连接数据库的角色赋给test1,并设置为可传递性;

sql>grant connect to test1 with admin option;

    test1用户:--test1把连接数据库的权限传递给test2

sql>grant connect to test2;

  test1和test2都可以连接数据库,即test1把连接数据库的权限传递给了test2;

  sys用户:--sys用户回收test1连接数据库的权限

sql>revoke connect from test1;

把test1用户的权限回收后test1,无法连接数据库。

可对于系统角色来说回收test1角色的同时,传递给test2的角色仍然存在;

8.权限的回收问题:
  sys用户:--sys用户把方案scott下的emp表的select权限赋给test1,并设置为可传递性;

sql>grant select on scott.emp to test1 with grant option;

  test1用户:把对emp表的select的权限赋给test2;

sql>grant select on scott.emp to test2;

  sys用户:--回收test1的select的权限

 sql>revoke select on scott.emp from test1;

在回收test1的select权限的同时也把test2的权限回收了;

9.profile用户权限管理:
  Oracle设定用户登录次数,登录失败几次后自动locked用户;

sys>用户:create profile创建配置文件;设定密码错误三次后密码被锁两天的配置文件, 名字为fileName;
sql> create profile fileName limit failed_login_attempts 3 password_lock_time 2;
sql>alter user userName profile fileName;

  用户解锁:

sql> alter user userName account unlock;

  Oracle 设定用户密码的过期时间,即密码的有效期;
  sys用户:创建配置文件fileName 设置密码的过期时间是10天,宽限日是两天;

sql> create profile fileName limit password_life_time 10 password_grace_time 2;

OracleDBA之用户管理的更多相关文章

  1. ASP.NET MVC5+EF6+EasyUI 后台管理系统(75)-微信公众平台开发-用户管理

    系列目录 前言 本节主要是关注者(即用户)和用户组的管理,微信公众号提供了用户和用户组的管理,我们可以在微信公众号官方里面进行操作,添加备注和标签,以及移动用户组别,同时,微信公众号也提供了相应的接口 ...

  2. MySQL用户管理

    主要总结MySQL进行用户管理的基本实现,包含MySQL登录,添加用户,删除用户,为用户分配权限,移除某用户的权限,修改密码,查看权限等基本操作,所有命令均亲测实现.本博文是本人的劳动成果所得,在博客 ...

  3. mysql 用户管理和权限设置

    用户管理 mysql>use mysql; 查看 mysql> select host,user,password from user ; 创建 mysql> create user ...

  4. Laravel大型项目系列教程(二)之用户管理

    Laravel大型项目系列教程(二) 一.前言 本节教程将大概实现用户的注册.修改个人信息.管理用户功能. 二.Let's go 1.创建用户注册视图 $ php artisan generate:v ...

  5. linux 用户管理

    linux 用户管理 创建一个用户 foo 这个用户只能在/home/foo 上面增加删除文件, foo 不能在其他目录加减文件 useradd -d /home/foo -m foo [root@] ...

  6. mongodb的用户管理及安全认证

    1.确认mongodb的版本 > use admin switched to db admin > db.runCommand({}) { "version" : &q ...

  7. linux 用户管理(一)

    本节内容梗概: 1.用户管理配置文件 2.用户管理命令 3.用户组管理命令 4.批量添加用户 5.用户授权 学东西先讲原理,所以从配置文件入手 1.用户信息文件  /etc/passwd 存放了用户的 ...

  8. MVC4做网站后台:用户管理 —用户

    这块进行用户管理,可以浏览.查询已注册的用户,修改用户资料,删除用户等.没有做添加用户,不知是否必要.列表页还是使用easyui的datagrid.这个思路跟用户组的方式差不多. 1.接口Interf ...

  9. MVC4做网站后台:用户管理 ——用户组

    用户管理这块包含用户和用户组两部分. 用户组包括浏览 用户组列表,添加.修改.删除用户组等.按照前面思路系统是依据用户组来判断用户权限的,用户组的最主要目的是划分权限.权限这块以后单独在做. 下面实现 ...

随机推荐

  1. asp.net mvc引用控制台应用程序exe

    起因:有一个控制台应用程序和一个web程序,web程序想使用exe程序的方法,这个时候就需要引用exe程序. 报错:使用web程序,引用exe程序 ,vs调试没有问题,但是部署到iis就报错,如下: ...

  2. browsersync实现网页实时刷新(修改LESS,JS,HTML时)

    var gulp = require("gulp"), less = require("gulp-less"), browserSync = require(& ...

  3. 将 java 项目打包成可运行的 jar 包(main 函数带参数),并上传到 linux 服务器上运行

    一.概述 java项目有两种架构,一种是 B/S 架构的,一种是 C/S 架构的. 对于 B/S 架构来说,我们常见的 java ee 即是 B/S 架构,通常,开发人员会在本地进行开发,然后将项目打 ...

  4. web程序的路径笔记

    "/"与”\“区别:”/“是unix系统区分文件层级的标志,因为当前web应用程序在服务器端大都使用基于unix系统开发的操作系统,所以web程序包括浏览器里url都遵以”/“来区 ...

  5. 线程处理模型 由于 SynchronizationContext 引起的死锁问题解决

    由于GUI 应用程序 不能使用线程池的线程更新UI,只能使用 GUI 线程更新,所以在 await 前后需要保证是同一个 GUI 线程 ASP.NET 程序 的线程处理客户端请求的时候,需要假定客户端 ...

  6. java类加载相关

    可参考一篇文章:http://www.tuicool.com/articles/QZnENv 下面题输出结果 package com.h3c.itac; public class Dervied ex ...

  7. jQuery弹出提示信息简洁版(自动消失)

    之前看了有一些现成的blockUI.Boxy.tipswindow等的jQuery弹出层插件,可是我的要求并不高,只需要在保存后弹出提示信息即可,至于复杂点的弹出层-可以编辑的,我是直接用bootst ...

  8. PHP基础知识之遍历

    遍历对象的时候,默认遍历对象的所有属性 class MyClass{    public $var1 = 'value 1';    public $var2 = 'value 2';    publ ...

  9. VS2015安装&简单的C#单元测试

    <软件工程>开课已经三周了,三周的上课感觉就是老师教授的概念性东西少了不少,基本就是贯穿“做中学”的教学理念,三周的时间让我学到了挺多东西,很多东西都是课本没有的. 这周的任务就是安装VS ...

  10. 【实战Java高并发程序设计 3】带有时间戳的对象引用:AtomicStampedReference

    [实战Java高并发程序设计 1]Java中的指针:Unsafe类 [实战Java高并发程序设计 2]无锁的对象引用:AtomicReference AtomicReference无法解决上述问题的根 ...