免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1038 | 回复: 0
打印 上一主题 下一主题

2.oracle 用户管理 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-19 13:56 |只看该作者 |倒序浏览

2.oracle 用户管理

创建用户

概述:在oracle 中要创建一个新的用户使用create user 语句,一般是具有

dba(数据库管理员)的权限才能使用。

create user 用户名 identified by 密码; (oracle 有个毛病,密码必须以字

母开头,如果以字母开头,它不会创建用户)

给用户修改密码

概述:如果给自己修改密码可以直接使用

password 用户名

如果给别人修改密码则需要具有dba 的权限,或是拥有alter user 的系统权限

SQL> alter user 用户名 identified by 新密码

删除用户

概述:一般以dba 的身份去删除某个用户,如果用其它用户去删除用户则需要具

drop user 的权限。

比如 drop user 用户名 【cascade

在删除用户时,注意:

如果要删除的用户,已经创建了表,那么就需要在删除的时候带一个参数

cascade;

用户管理的综合案例

概述:创建的新用户是没有任何权限的,甚至连登陆的数据库的权限都没有,需

要为其指定相应的权限。给一个用户赋权限使用命令grant,回收权限使用命令

revoke

为了给讲清楚用户的管理,这里我给大家举一个案例。

SQL> conn xiaoming/m12;

ERROR:

ORA-01045: user XIAOMING lacks CREATE SESSION privilege; logon denied

警告: 您不再连接到 ORACLE

SQL> show user;

USER ""

SQL> conn system/p;

已连接。

SQL> grant connect to xiaoming;

授权成功。

SQL> conn xiaoming/m12;

已连接。

SQL>

注意:grant connect to xiaoming;在这里,准确的讲,connect 不是权限,而

是角色。

现在说下对象权限,现在要做这么件事情:

* 希望xiaoming 用户可以去查询emp

* 希望xiaoming 用户可以去查询scott emp

grant select on emp to xiaoming

* 希望xiaoming 用户可以去修改scott emp

grant update on emp to xiaoming

* 希望xiaoming 用户可以去修改/删除,查询,添加scott emp

grant all on emp to xiaoming

* scott 希望收回xiaoming emp 表的查询权限

revoke select on emp from xiaoming

//对权限的维护。

* 希望xiaoming 用户可以去查询scott emp /还希望xiaoming 可以把这个

权限继续给别人。

--如果是对象权限,就加入 with grant option

grant select on emp to xiaoming with grant option

我的操作过程:

SQL> conn scott/tiger;

已连接。

SQL> grant select on scott.emp to xiaoming with grant option;

授权成功。

SQL> conn system/p;

已连接。

SQL> create user xiaohong identified by m123;

用户已创建。

SQL> grant connect to xiaohong;

授权成功。

SQL> conn xiaoming/m12;

已连接。

SQL> grant select on scott.emp to xiaohong;

授权成功。

--如果是系统权限。

system xiaoming 权限时:

grant connect to xiaoming with admin option

问题:如果scott xiaoming emp 表的查询权限回收,那么xiaohong 会怎样?

答案:被回收。

下面是我的操作过程:

SQL> conn scott/tiger;

已连接。

SQL> revoke select on emp from xiaoming;

撤销成功。

SQL> conn xiaohong/m123;

已连接。

SQL> select * from scott.emp;

select * from scott.emp

*

1 行出现错误:

ORA-00942: 表或视图不存在

结果显示:小红受到诛连了。。

使用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;

SQL> alter user scott profile lock_account;

2.给账户(用户)解锁

SQL> alter user tea account unlock;

3.终止口令

为了让用户定期修改密码可以使用终止口令的指令来完成,同样这个命令也需要

dba 的身份来操作。

例子:给前面创建的用户tea 创建一个profile 文件,要求该用户每隔10 天要

修改自己的登陆密码,宽限期为2 天。看看怎么做。

SQL> create profile myprofile limit password_life_time 10

password_grace_time 2;

SQL> alter user tea profile myprofile;

口令历史

概述:如果希望用户在修改密码时,不能使用以前使用过的密码,可使用口令历

史,这样oracle 就会将口令修改的信息存放到数据字典中,这样当用户修改密

码时,oracle 就会对新旧密码进行比较,当发现新旧密码一样时,就提示用户

重新输入密码。

例子:

1)建立profile

SQL>create profile password_history limit password_life_time 10

password_grace_time 2 password_reuse_time 10

password_reuse_time //指定口令可重用时间即10 天后就可以重用

2)分配给某个用户

删除profile

概述:当不需要某个profile 文件时,可以删除该文件。

SQL> drop profile password_history casade

注意:文件删除后,用这个文件去约束的那些用户通通也都被释放了。

加了casade,就会把级联的相关东西也给删除掉

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP