1. 用户、角色
概述:
Oracle和Window相似。他们不是直接赋给用户权限、而是通过角色和组。Window是组,而Oracle则是角色,用户从属于角色和组。这样来限制用户的权限
EM创建用户[其中提到概要文件]
案例:
登陆http://172.16.224.205:5503/em/(这是我的)具体到个人的时候在安装实例的时候就有提示这个URL的步骤。如下图所示要用SYS用户以DBA的身份登陆
登陆进去之后到主界面,如下图所示:
然后[主界面]—[管理]-[用户]-[创建] 填写相关的参数信息如下图所示:
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用户查询