ORACLE用户的管理

************************************创建一个新用户************************************
一般是具有DBA(数据库管理员)的权限才能使用。
注意:
<1>ORACLE 有一个规定密码必须以数字开头。
<2>ORACLE 创建的新用户连登陆权限都没有。
语法:
  CREATE USER 用户名   IDENTIFIED BY 密码;
例子:
  CREATE USER xiaoming IDENTIFIED BY m123;
************************************给用户修改密码************************************
修改别人(自己)密码都成!
修改别人则需要DBA权限,或者是ALTER USER 系统权限。(推荐)
有以下两种:
<1>(基于DOC使用,了解)
语法:
  PASSWORD 用户名;
例子:
  PASSWORD xiaming;
  会提示:
  输入旧口令:m123;
  输入新口令:newm123;
  重新输入新口令:newm123;
<2>基于语句(推荐)
语法:
  ALTER USER 用户名  IDENTIFIED BY newm123;
************************************删除用户************************************
一般以DBA的身份去删除某个用户,如果其他用户删除去删除用户则需要DROP USER 的权限。
语法:
  DROP USER 用户名 【CASCADE】
  CASCADE 关键字表示删除用户时,级联删除用户的表。
例子:
  DROP USER xiaoming CASCADE;
************************************权限************************************ 
权限分为两种:
<1>系统权限。用户对数据库的相关权限。比如:建库,建表,建索引,登陆数据库,修改密码。(140多种)
<2>对象权限。用户对其他用户的数据对象操作的权限。(25多种)(一般SELECT,INSERT,UPDATE,DELETE)
             其中数据对象指:表,视图,触发器。
************************************角色************************************   
角色:说白了就是权限的集合。(批量授权) ORACLE最精华的部分,对用户的管理,对权限的控制。
角色分为两种:
<1>自定义角色
<2>预定义角色
希望小明查看SCOTT用户下的EMP表
GRANT SELECT ON emp TO xiaoming;

SELECT * FROM scott.emp;
使用scott.emp。
scott其实是一个方案。一个用户对应一个方案。

希望小明查看SCOTT用户下的EMP表并且希望小明可以把这个权限继续给别人。
--如果是对象权限
GRANT SELECT ON emp TO xiaoming WITH GRANT OPTION;
--如果是系统权限
SYSTEM 给小明权限时:
GRANT CONNECT TO xiaoming WITH ADMIN OPTION;
问题(考点):
?如果scott把xiaoming 对emp表的查询权限回收,那么xiaohong会怎样?
答案:使用的是古代的刑法,通杀!!!
************************************使用PROFILE管理用户口令************************************
PROFILE 是口令限制,资源限制的命令集合,当建立数据库时,ORACLE会自动建立名为DEFAULT的PROFILE,当
建立用户没有指定PROFILE选项的时候,那ORACLE会将default分配给用户。
<1>账户锁定,用户登录时可以输入密码的次数和指定用户锁定的时间(天)一般以DBA的身份去执行该命令。
例子:
        指定LISI用户最多只能尝试登陆三次,锁定时间为2天,使用以下语句实现:
        创建PROFILE文件:
        (CREATE PROFILE) lock_account (LIMIT FAILED_LOGIN_ATTEMPTS) 3 (PASSWORD_LOCK_TIME) 2;
        用户每隔10天要修改自家的登陆密码,宽限期为2天。看看怎麽做?
        (CREATE PROFILE) lock_account (LIMIT PASSWORD_LIFE_TIME) 10 (PASSWORD_GRACE_TIME) 2;
        口令历史:
        如果希望用户在修改密码时,不能使用以前使用过的密码,可使用口令历史,这样ORACLR
        就会将口令修改信息存放到数据字典中,这样当用户修改密码时,ORACLE就会对新旧密码进行比较,
        当发现新旧密码一样时,就提示用户重新输入密码。
        (CREATE PROFILE) lock_account (LIMIT FAILED_LOGIN_ATTEMPTS) 3 (PASSWORD_LOCK_TIME) 2
        PASSWORD_REUSE_TIME 10;//执行口令可重用时间,即10天后就可以重用。
        删除PROFILE文件:
        DROP PROFILE 文件名 [CASCADE]
解锁或者锁定用户:
ALTER USER 用户名 ACCOUNT LOCK|UNLOCK

posted @ 2011-12-17 20:16  Hard-齐  阅读(259)  评论(0编辑  收藏  举报