ORACLE 权限
oracle 9 里面默认的三个用户名和密码:
sys change_on_install //权限最高的管理员
system manager //普通的管理员
sco ger //普通用户
在 oracle 10 中,仍然使用这三个用户作为默认用户。但 sys 和 system 用户的密码不再默认。
在安装数据库的时候,可以由用户指定 。从安全角度考虑,sco 用户默认被锁定,所以要
使用该用户,需要先解除锁定。
注意:我们要使用 oracle 数据库,至少要启动两个服务,一个是监听服务,一个是数据库
实例。
创建用户;
以系统管理员的身份登陆。
使用语句:create user lisi idened by lisi; //创建了一个叫 lisi 的用户,密码也为 lisi
虽然创建了用户,但该用户现在并无任何权限。就连登陆数据库的权限都没有。假如使用
sqlplus lisi/lisi 登陆数据库,会报错,显示没有 create session 的权限。
所以还是先使用系统管理员给 lisi 这个用户指定登陆的权限。
语句为:grant create session to lisi;
授权过后,lisi 可以登陆数据库了。但是现在还没有创建数据库表的权限,仍需指定。
语句为:grant create table to lisi;
使用 lisi 账号,创建数据库表:create table mytable(id int);
执行后却提示错误:对表空间‘USERS’无权限。每个数据库表都有自己的表空间,相当于文
件必须位于某个文件夹下。
虽然 lisi 用户具有创建表的权限,但没有使用表空间的权限,最终还是创建不了表。这就好
比你有我房间的钥匙,但是没有我家大门的钥匙,你最终还是进不了我的房间。
通过系统管理员授予 lisi 用户使用表空间的权限:
grant unlimited tablespace to lisi;这样用户 lisi 对表空间的使用就没有限制了。
在 lisi 账户下,创建表:create table mytable(id int);
插入一条记录:insert into mytable values(1);
插入成功。
也可以删除表:drop table mytable;
有人可能会产生疑问,既然数据库的权限管理这么严格,上面我们只是授予 lisi 用户创建表
的权限。并没有授予其插入,删除等权限呀。这里我们可以这样理解:当前用户创建了一
个表,那么该表就属于该用户,用户既然创建了表,自然就对该表拥有一切权限啦。
而且:数据库并没有 drop table 的权限。使用:grant drop table to lisi;出现:权限缺失或无
效的错误提示。
评论0