Oracle学习笔记(三)——Oracle用户的管理、权限与角色

一、用户管理
1、创建用户:在oracle中要创建一个新的用户,使用create  user语句,一般是具有dba(数据库管理员)的权限才能使用。
  • create user 用户名 identified by 密码;
  • 密码必须以字母开头,否则报错。

2、给用户修改密码
  • 修改用户自己的密码:sql>password  用户名
  • 修改其他用户的密码,需要具有DBA权限,或者拥有alter  user的系统权限
    • sql>alter  user  用户名 identified  by  新密码

3、删除用户:一般以DBA的身份去删除某个用户,如果用其它用户去删除用户,则需要具有drop  user的权限。
  • sql>drop  user  用户名  【cascade
  • 在删除用户时,注意:如果要删除的用户已经创建了表,则就需要在删除时加上参数cascade(级联删除)。

4、用户管理的综合案例
创建的新用户是没有任何权限的,甚至连登录数据库的权限都没有,需要为其指定相应的权限。给一个用户赋予权限使用命令grant,回收权限使用命令revoke。
  • grant connect to 用户名
    • 注:connect不是权限,而是指角色。
  • grant resource to 用户名:给用户赋予建表的权限。
  • 希望xiaoming用户可以查询scott用户的emp表
    • grant select on emp to xiaoming(授权者可以是system/sys/scott);
    • select * from scott.emp;(此处的scott为方案)
  • 希望xiaoming用户可以修改scott用户的emp表
    • grant update on emp to xiaoming(授权者可以是system/sys/scott);
  • 希望xiaoming用户可以修改、删除、查询、添加scott用户的emp表
    • grant all on emp to xiaoming(授权者可以是system/sys/scott);
  • scott希望收回xiaoming对emp表的查询权限。
    • revoke select on emp from xiaoming
    • 注:当表名输入为emp时,授权与回收权限需要是一个用户。如果是scott授权,system/sys无法回收权限。
    • 如果想让system/sys回收权限,则要在表名前面加上用户名,如:scott.emp。

5、对权限的维护(权限的传递)
  • 希望xiaoming用户可以查询scott的emp表,还希望xiaoming可以把这个权限继续传递给别人。
  • 如果是对象权限,就加入with grant option。
    • grant select on emp to xiaoming with grant option
  • 如果是系统权限,就加入with admin option。
    • grant connect to xiaoming with admin option
  • 如果xiaoming的权限被回收,则其他被xiaoming赋予权限的用户的权限也被回收。
    • 如果xiaoming的权限被回收,则xiaohong的权限也被回收。

6、使用profile管理用户口令
profile是口令限制,资源限制的命令集合,当建立数据库时,oracle会自动建立名称为default的profile。当建立用户没有指定profile选项,那profile就会将default分配给用户。
  • 账户锁定:指定该账户(用户)登录时最多可以输入密码的次数,也可以指定用户锁定的时间(天)。一般用DBA的身份去执行该命令。
  • 指定tea这个用户最多只能尝试3次登录,锁定时间为2天。
    • 创建profile文件:sql>create profile lock.account limit failed.login.attempts 3 password.lock.time 2;
                    sql>alter user tea profile lock.account;
  • 给账户(用户)解锁
    • sql>alter user tea account unlock;
  • 终止口令:定期修改密码,使用dba身份操作。
    • 给用户tea创建一个profile文件,要求该用户每个10天要修改自家的登录密码,宽限期为两天。
    • sql>create profile myprofile limit password.life.time 10 password.grace.time 2;
    • sql>alter user tea profile myprofile;
  • 口令历史:如果希望用户在修改密码时,不能使用以前使用过的密码,可使用口令历史。这样,oracle就会将口令修改的信息存放到数据字典中,当用户修改密码时,oracle就会对新旧密码进行比较。当发现新旧密码一样时,就提示用户重新输入密码。
    • sql>create profile password.history limit password.life.time 10 password.grace.time 2 password.reuse.time 10 (password.reuse.time:指定口令可充用时间,即10天后可以重用)
    • sql>alter user tea profile password.history ;
  • 删除profile
    • sql>drop profile password.history  [cascade];


二、权限和角色的初步了解
1、权限分为两种:系统权限和对象权限。
2、系统权限:指用户对数据库的相关权限,大概有140多种。如:create  session。
3、对象权限:指用户对其他用户的数据对象操作的权限,Oracle常用的对象权限有25个。
  • select
  • insert
  • update
  • delete
  • all:以上四种权限的总称。
  • create index

4、角色:分为预定义角色和自定义角色。
  • connect实际为一种角色,类似权限的批量授权给某一角色。connect实际包含了7中权限。
  • resource:允许用户在任意一个表空间建表。
  • dba
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值