首页 > 代码库 > Oracle- 用户管理

Oracle- 用户管理

  Oracle一个数据库里可以分配多个用户,用户创建自己的表,自己创建的表如果不想分配给其他用户使用,其他用户是看不到自己的创建的表的。

 

用户管理:

  创建用户: create user chunxiao identified by 123456
  修改密码: password chunxaio /
  123123
  删除用户: drop user chunxiao

用户角色管理

  预定义角色是指Oracle所提供的角色,每种角色都用于执行一些特定的管理任务,下面我们介绍常用的预定义角色connect,resource,dba。

  1、connect角色

  connect角色具有一般应用开发人员需要的大部分权限,当建立了一个用户后,多数情况下,只要给用户授予connect和resource角色就够了,那么connect角色具有以下系统权限:

  alter session

  create cluster

  create database link

  create session

  create view

  create sequence

  2、resource角色

  resource角色具有应用开发人员所需要的其他权限,比如建立存储过程、触发器等。这里需要注意的是resource角色隐含了unlimited tablespace系统权限。

  resource角色包含以下系统权限:

  create cluster

  create indextype

  create table

  create sequence

  create type

  create procedure

  create trigger

   3、dba角色

  dba角色具有所有的系统权限,及with admin option选项,默认的dba用户为sys和system他们可以将任何系统权限授予其他用户。但是要注意的是dba角色不具备sysdba和sysoper的特权(启动和关闭数据库)。

 

  新创建的用户没有登陆的权限,需要给他附上connect角色
  grant connect to chunxiao
  新创建的用户需要有建表的权限,需要给他附上resouce角色
  grant resource to chunxiao

 

用户分配表给其他用户使用

  如果想让chunxiao用户也有查询scott的empt表的权限,需要先登陆到scott用户里
  使用命令 grant select on empt to chunxiao;
  意思是给chunxiao用户赋于查询的权限

  这时chunxiao用户登陆用的查询EMPT表的SQL语句需要这样: select * from scott.empt;
  如果希望chunxiao用户对empt进行增,删,查,改各种操作。则SQL语句如下:
  grant all on empt to chunxiao
  收回权限
  revoke select on empt to chunxaio

 

帐户管理

  帐户锁定
  指定帐户登陆时最多可以输入密码的次数,也要以指定用户销定的时间,一般用dba的身份去执行该命令
  例如让chunxiao最多只能尝试3次登陆,销定时间为2天

  create profile aaa limit failed_login_attempts 3 password_lock_time 2;
  alter user chunxaio profile aaa; 给春晓分配这个aaa;

  帐户解锁
  alter user chunxiao account unlock;

  终止口令
  给前面创建的用户chunxiao创建一个profile文件,要求用户每隔10天修改自家登陆密码,宽限期为2天。
  create profile myprofile limit password_life_time 10 password_grace_time 2;
  alter user chunxiao profile myprofile;

  删除profile
  当不需要某个profile文件时,可以删除该文件
  drop profile xxx;