oracle 11g 学习笔记 2012_10_24(1)

来源:互联网 发布:淘宝授权书怎么弄 编辑:程序博客网 时间:2024/05/22 00:22

今天看着视频学oracle 发现效果不错。。。

oracle 用户管理


oracle用户管理是oracle数据库一个重要和核心的内容。
.创建用户

在oracle中要创建一个新的用户可以使用 create user 语句。一般是具有dba(数据管理员)的

权限才能使用,比如是:sys、system用户。一般

用户不可以。
创建的新用户是没有任何权限的,甚至是连登录的数据库权限都没有。

sql> create user user_name indentified by password; //(密码得要以字母开头)


.给用户修改密码

要是给自己修改密码,可以直接使用

SQL> password 
如果是给别人修改密码则需要有具有dba的权限,或者是拥有 alter user 的系统权限。
sql> alter user 用户名 identified by 新密码;
.删除用户
删除用户一般也是用dba这个身份去删除,但是不可以删除自己。

在删除用户时,注意如果要删除的用户已经创建了表,那么就需要在删除语句的最后添加上一个

参数 cascade, 那么就可以同时删除那些表了。

sql> drop user 用户名 [ cascade]
.用户管理的综合案例

概述:新创建的用户是没有任何权限的,甚至是连登录数库的权限都没有,需要为其指定相应的权限,

给一个用户赋权限可以用 grant,回收该权

限使用命令 revoke。

新用户连数据库都连接不了,那么就要找人来给它赋权限了。可以是system、sys,但是普通用户是不

可以给他赋权限的。比如scott。

比如 pangzi 是新创建的用户;要赋予它连接数据库的权利,则可以在sys用户下运行语句:
sql> grant connect to pangzi;
准确地讲,connect to 不是权限,而是角色。

dba 角色,不要轻易授权,它含有的权利很大,要是把它授权给了一个普通用户,那么该用户就用户就拥有

了dba所有的权限
resource 角色,可以让pangzi这个用户在任何一个表空间建表。


.scott希望 pangzi可以创建表
.希望 pangzi 可以去查询scott的emp表;
.希望 pangzi 可以修改 scott的emp表;
.希望 pangzi 可以修改、查询、添加、删除scott的emp表。只是这个表。

resource 角色,可以让pangzi这个用户在任何一个表空间建表。

.scott希望 pangzi可以创建表
.希望 pangzi 可以去查询scott的emp表;
.希望 pangzi 可以修改 scott的emp表;
.希望 pangzi 可以修改、查询、添加、删除scott的emp表。只是这个表。

sql> grant resource on scott.emp to pangzi;sql> grant select on scott.emp to pangzi;sql> grant update on scott.emp to pangzi;sql> grant all on scott.emp to pangzi;

可以授权的用户:自己的东西可以授权给别人,还有sys、system;自己没有的东西不能自己授权给自己。
.权限的收回

要是已经授权了 pangzi 一些权限,而现在想收回这些权限的话,可以用 revoke语句。
要是 a 用户没有授予权限给 b 用户,那么 a 就没有权利收回 b拥有的权限。即使 a 用户是 sys 和 system 用户。
.scott希望收回 pangzi 对emp表的查询权限。

sql> revoke select on emp from pangzi;

//对权限的维护

.希望 pangzi 可以去查询scott的emp表;/还希望 pangzi 可以把这个权限继续传给别人。那么就可以用
----如果是对象权限,就加入with grant option------那么这样pangzi就可以继续把权限授予给其他用户了。
sql> grant select on emp to pangzi with grant option

----如果是系统权限
system 给 pangzi 权限时:
sql> grant connect to pangzi with admin option;

?.那么要是 a 授予了 b 权限,而 b 授予了 c 权限,当 a 要收回 b 权限时...
b 和 c 的权限都会被收回,因为要是 c 的权限还有,那么就可以再把权限授予 b ,那就没有了意义了,安全性也
会变差了( a 可能就是不信任 b 才把权限收回的。)