Oracle数据库学习之第一篇

来源:未知 责任编辑:责任编辑 发表时间:2014-04-20 03:42 点击:

   权限管理:

  oracle 9里面默认的三个用户名和密码:

  sys change_on_install //权限最高的管理员

  system manager //普通的管理员

  scott tiger //普通用户

  在oracle 10中,仍然使用这三个用户作为默认用户。但sys和system用户的密码不再默认。在安装数据库的时候,可以由用户指定 。从安全角度考虑,scott用户默认被锁定,所以要使用该用户,需要先解除锁定。

  注意:我们要使用oracle数据库,至少要启动两个服务,一个是监听服务,一个是数据库实例。

  创建用户;

  以系统管理员的身份登陆。

  使用语句:create user lisi identified 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;出现:权限缺失或无效的错误提示。

  上面是授予权限,那么如何撤销用户的某个权限呢?

  使用如下语句可以撤销lisi的创建表的权限:revoke create table from lisi;

  再使用lisi账号创建表,就会出现错误提示:权限不足。

  在大多情况下,如果我们对用户的权限经常修改,我们如何知道用户有哪些权限呢?

  数据库默认维护了一个视图对外提供一些系统信息(叫数据字典),可以查看用户的具体权限。

  使用如下语句查看当前用户的系统权限:

  select * from user_sys_privs;

  USRENAME PRIVILEGE ADM

  ----------------------------------------------- ---------------------------------------- ----

  LISI CREATE SESSION NO

  LISI UNLIMITED TABLESPACE NO

  oracle中的权限分为系统权限和对象权限。

  系统权限就是我们上面所讲的一些权限。

  对象权限是指:比如用户lisi创建了一个表,该表就可以作为一个对象看待。另外一个用户是否有访问该表的权限呢。这就是所谓的对象权限管理。

  我们在创建一个用户wangwu。密码也为wangwu。在该用户下,创建一个表mytab。如果lisi用户向访问表mytab,是否会成功呢?

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Table函数使用简介
  • Oracle数据库Constraint约束的常用操作及异常处理
  • Bulk Collect性能分析(zz)
  • export/import的使用
  • OCP043第十五讲 Database Security
  • ORACLE10gr2数据导入MySQL方案
  • oracle 让sys用户可以使用isqlplus
  • 在oracle数据库下使用iSQL*Plus DBA访问数据库
  • Oracle行列转换小结
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1