首页 > 代码库 > 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;