Oracle之用户管理


Oracle(持续更新中)

《Oracle11g之安装与卸载》
《Oracle之常用命令》
《Oracle之用户管理》
《Oracle之pl/sql》
《Oracle之块》
《Oracle之存储过程》
《Oracle之函数》
《Oracle之包》


一、创建用户(简单版)

在oracle中要创建一个新的用户使用 create user 语句,一般是具有dba(数据库管理员)的权限才能使用,如:sys、system用户。
基本语法:create user 用户名 identified by 密码

给用户修改密码

1、给自己修改密码
例子:sql>password 用户名
2、给别人修改密码(需要具有dba的权限,或是拥有alter user的系统权限的用户)
例子:sql>alter user 用户名 identified by 新密码

二、 创建用户(细节)

例子: sql> create user shunping identified by m123
default tablespace users
temporary tablespace temp
quota 3m on users;

identified by
概述:表明该用户shunping 将用数据库方式验证
default tablespace users
概述:用户的表空间在users上
temporary tablespace temp
概述:用户shunping的临时表建在temp 空间
quota 3m on users
概述:表明用户shunping 建立的数据对象(表,索引,视图,pl/sql块..)最大只能是3m

附加:

例子:sql>grant connect to shunping
刚刚创建的用户是没有任何权限的,因此,需要dba给该用户授权,该权限能使用户有登录数据库的权利

例子:sql>grand resource to shunping
使该用户建表没有空间的限制。

例子:sql>grant dba to shunping
使该用户成为dba用户(系统管理员)

三、删除用户

一般以dba的身份去删除某个用户,如果用其它用户去删除用户则需要具有 drop user的权限。
例子: sql>drop user 用户名
如果删除的用户已经创建了表。
那么需要带一个参数 cascade,代表删除所有相关联的数据
例子 :sql>drop user 用户名 [cascade]

四、指定权限(大概有100多种权限)

新创建的用户是没有任何权限,甚至连登录数据库的权限都没有。
管理员用户可以为用户赋予权限。

权限分类

1、对象权限
对数据对象操作的权限.
对象权限:select、insert、update、delete、all、create index等等。
数据对象:表,存储过程,包,函数等等。
2、系统权限
描述用户对数据库的访问的权限。 如:create session权限(数据库访问)

例子:sql>grant select on 表名 to 其他用户
将自己表的查询权限授权给其他用户(当前用户和管理员才有权利授权)。

五、指定角色

数据库事先定义一些角色,这些角色拥有对应的系统权限,和对象权限。这样可以为用户赋予角色,即拥有了该角色所对应的权限。

角色分类

1、自定义角色
2、预定义角色

如:connect角色,dba角色。resource角色:可以在任意一个表空间创建表。
例子:sql>grant connect to 用户名;
授予connect角色,使其拥有能登录数据库的权限

例子:sql>grant resource to 用户名;
授予resource角色,使其拥有能在任意一个表空间创建表的权限。

六、收回权限

例子:sql>revoke select on 表名 from 其他用户;
表所属用户收回其他用户对表查询的权限。

七、权限的维护

1、传递对象权限

例子:sql>grant select on 表名 to xiaoming with grant option;
将查询某表的权限授予xiaoming,同时,还让xiaoming可以把这种权限授予给别人。

2、传递系统权限

例子:grant connect to xiaoming with admin option;
将connect角色给xiaoming,同时,还让xiaoming可以把这种权限授予给别人。
注意:
如果用户把xiaoming对表的查询权限收回,那么xiaoming授予的对象也受影响。

八、使用profile管理用户口令

profile是口令限制,资源限制的命令集合。当建立数据时,oracle会自动建立名称为default的profile。当建立用户没有指定profile选项,那oracle就会将default分配给用户。

1、帐户锁定

指定该帐户(用户)登陆时最多可以输入密码错误的次数,也可以指定用户锁定的时间(天),一般用dba的身份去执行该命令

例子:指定scott这个用户最多只能尝试3次登陆,锁定时间为2天。
创建profile文件
sql> create profile lock_account limit failed_login_attempts 3 password_lock_time 2; (lock_account为profile的名字)

将profile文件授予xiaoming该用户
sql>alter user xiaoming profile lock_account;

2、给帐户(用户)解锁

sql> alter user tea account unlock;

3、终止口令

为了让用户定期修改密码可以使用终止口令的指令来完成,同样这个命令也需要dba身份来操作.
例子:给前面创建的用户xiaoming创建一个profile文件,要求该用户每隔10天要修改登陆密码,宽限期为2天。
创建profile文件
sql> create profile myprofile limit password_life_time 10 password_grace_time 2;(myprofile为profile的名字)

将profile文件授予xiaoming该用户
sql>alter user xiaoming profile myprofile

4、口令历史

如果希望用户在修改密码时不能使用以前使用过的密码,可使用口令历史。
这样oracle就会将口令修改的信息存放到数据字典中,这样当用户修改密码时,oracle就会对新旧密码进行比较,当发现新旧密码一样时,就提示用户重新输入密码。
创建profile文件
sql> create profile 规则名 limit password_life_time 10 password_grace_time 2 password_reuse_time 10 ;

password_reuse_time //密码可重用时间即10天。

将profile文件授予xiaoming该用户
sql>alter user tea profile myprofile

5、删除profile

sql> drop profile 文件名 [cascade]

  • 7
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值