1.用户、角色
概述:
Oracle和Window相似。他们不是直接赋给用户权限、而是通过角色和组。Window是组,而Oracle则是角色,用户从属于角色和组。这样来限制用户的权限
EM创建用户[其中提到概要文件]
案例:
登陆http://172.16.224.205:5503/em/(这是我的)具体到个人的时候在安装实例的时候就有提示这个URL的步骤。如下图所示要用SYS用户以DBA的身份登陆
登陆进去之后到主界面,如下图所示:
![](http://hi.csdn.net/attachment/201201/16/0_1326719333iI8o.gif)
然后[主界面]—[管理]-[用户]-[创建] 填写相关的参数信息如下图所示:
![](http://hi.csdn.net/attachment/201201/16/0_132671935468D3.gif)
CREATE USER "ZHANGLEI" PROFILE "DEFAULT" IDENTIFIED BY "*******" DEFAULT TABLESPACE "SYSTEM" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK GRANT "CONNECT" TO "ZHANGLEI" -- SQL显示为: [这就是创建用户的sql]
对象授权和系统授权: 对象授权: 案例3:对用户进行的一系列的操作[授权、更改用户的参数等等] grant select on dept to zhanglei; --授权表对象的select权限给用户对象 select * from sys.dept; --授权完毕才可以查。要不然是表或视图不存在的。通过这样的方式来控制Oracle的安全 alter user zhanglei default tablespace users; --更改用户的默认表空间 alter user zhanglei identified by qweasd; --更改用户的密码为qweasd alter user zhanglei account lock; --将用户锁定 SQL命令创建用户: create user qqq identified by qqq default tablespace users; --不指定默认表空间的话为users不指定临时表空间的话为temp。sql创建的用户要授予connect权限才可以连接 grant connect to qqq; --授予qqq连接权限 目前用到的权限:[insert、update、delete、connect、[with grant option]、execute等对象授权] select的权限,同样insert update delete都是这样赋予权限的。 而且都可以级联赋予grant select on [tablename] to [user] with grant option 案例:级联授权 grant connect to [user]; -- connect的权限 grant select on sys.dept to zhanglei with grant option grant select on sys.dept to qqq; --在zhanglei用户登录的情况下的授权 --让zhanglei --这个用户也可以授权别的用户查询这个表的权限 (级联授权) (重要) grant execute on sys.proc to zhanglei -- 过程的使用授权。 --以上为对象授权。授权格式基本相同grant [运用] on [对象] to [用户] 系统授权: 案例4: grant [特权] to [用户] [with [admin][grant] option] --授权。 revoke [特权] from [用户] --撤销授权 grant create user to test; --授权创建用户[create user]的权限 grant drop user to test; --授权删除用户[drop user]的权限 grant create user to zhanglei with admin option --系统的级联授权[同上]系统授权是with admin option revoke create user from zhanglei; --撤销授权的命令为: 案例5:创建角色。用角色限制用户的权限,通过角色控制用户 1、 create role myrole; 创建一个角色: 2、 grant myrole to test; --将test用户添加到myrole角色中 3、 connect test/test --连接test用户 4、 select * from sys.dept; --用test用户查询