当前位置:  数据库>oracle

Oracle 谨慎授予用户dba权限

    来源: 互联网  发布时间:2017-04-03

    本文导语: //我们来看下面这个授权的二叉树,实际中肯定是个图(复杂的图):               sys             /         test001(dba)  test002(dba)         /                       t1  t2          t3   --   //如上二叉...

//我们来看下面这个授权的二叉树,实际中肯定是个图(复杂的图):  
            sys  
          /       
 test001(dba)  test002(dba)  
      /                 
     t1  t2          t3  
--  
//如上二叉树所示,假设test001和test002都被授予了dba权限,  
//test001和test002又各自创建了用户t1,t2,t3;  
//拥有了dba权限的用户,权限是无限大的,就和sys一样的;  
//下面来看一个实例:  
Connected as SYS  
//创建两个用户test001和test002,并授予dba权限:  
create user test001 identified by test001 default tablespace users;  
grant resource,connect,dba to test001;  
create user test002 identified by test002 default tablespace users;  
grant resource,connect,dba to test002;  
//在test001用户下面创建普通用户t1,t2,并在test001用户下面建立一张表:  
Connected as test001  
create user t1 identified by t1;  
grant resource,connect to t1;  
--  
create user t2 identified by t2;  
grant resource,connect to t2;  
--  
create table t_temp(  
       col_1 number(5),  
       col_2 date default sysdate,  
       col_3 varchar2(30));  
--  
insert into t_temp  
select 1001,to_date('2011-01-01','yyyy-mm-dd'),'begin of 2011' from dual union all  
select 1002,to_date('2011-04-30','yyyy-mm-dd'),'end of april' from dual;  
//用户t1登陆,并创建一张表:  
Connected as t1  
create table t(  
       id number(2),  
       name varchar2(20),  
       addr varchar2(30));  
insert into t  
select 12,'James','shanghai' from dual union all  
select 13,'Thomas','changchun' from dual union all  
select 25,'Smith','beijing' from dual;  
//因为test002用户具有dba权限,那么他就能够访问任何用户下的对象(table,view,procedure...)  
//并且可以任意操作其他用户下的对象:  
Connected as test002  
select * from test001.t_temp;  
 COL_1 COL_2       COL_3  
------ ----------- ------------------------------  
  1001 2011-01-01  begin of 2011  
  1002 2011-04-30  end of april  
--  
select * from t1.t;  
 ID NAME                 ADDR  
--- -------------------- ------------------------------  
 12 James                shanghai  
 13 Thomas               changchun  
 25 Smith                beijing  
--  
drop table t1.t;  
commit;  
Connected as t1  
select * from t1  
ORA-00942: table or view does not exist  
--  
Connected as test002  
drop table test001.t_temp;  
--  
Connected as test001  
select * from t_temp  
ORA-00942: table or view does not exist  
//从这里,你可以知道拥有dba权限的用户的权利是多大了吧!  
//所以在实际应用中,一定要谨慎的给予用户dba权限.  
//不具备dba权限的用户,在没有被授权访问的情况下,不能访问其他用户下的对象。  
Connected as test002  
grant resource,connect to t3;  
Connected as t3  
create table t3_temp(  
       col_1 varchar2(10),  
       col_2 number(5),  
       col_3 varchar2(5));  
--  
select * from t1.t  
ORA-00942: table or view does not exist  
drop table t1.t  
ORA-00942: table or view does not exist  
//这里并没有提示ORA-01031:insufficient privileges,  
//而是告诉当前用户ORA-00942: table or view does not exist,  
//其实用户t3并不知道用户t1的存在.  
//但是我们可以通过授权机制,实现不同用户之间的相互访问,  
//前提是该普通用户具有授权的权限  
Connected as t1  
grant select on t to t3;  
Connected as t3  
select * from t1.t;  
 ID NAME                 ADDR  
--- -------------------- ------------------------------  
 12 James                shanghai  
 13 Thomas               changchun  
 25 Smith                beijing 



































































































    
 
 

您可能感兴趣的文章:

  • oracle 视图权限 oracle 创建视图权限不足
  • 巧用Oracle系统账户默认口令来提升权限 iis7站长之家
  • Oracle 权限管理入门
  • 求救:HPUNIX下的ORACLE7执行select * from tablename提示权限不足!!
  • Linux下安装Oracle 10G提示“bad interpreter: 权限不够”的解决
  • Oracle创建用户权限的过程
  • oracle9i在linux9上安装的权限问题!在线等候!
  • Oracle 10g创建表空间和用户并指定权限
  • Oracle 低权限数据库账户得到 OS 访问权限 提权利用
  • 一个关于JAVA操作oracle数据库时UPDATE权限的问题
  • Oracle 10g各个帐号的访问权限、登录路径、监控状态命令查询等等
  • Linux系统中Oracle数据库的用户权限
  • Oracle内置角色connect与resource的权限
  • Oracle删除当前用户下所有表的方法适用于有或没有删除权限
  • oracle用户权限管理使用详解
  • 实现Oracle数据库的存储过程中拥有“role”权限
  • 巧用Oracle系统账户默认口令来提升权限
  • oracle 9i Linux 下安装时出现 无法建立inventory目录,你可能没有相应权限,请高手帮忙,100分,在线等!
  • 入侵Oracle服务器进一步获取权限
  • Oracle 用户权限管理方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • oracle创建删除用户示例分享(oracle删除用户命令及授权)
  • linux6.0下安装oracle11g, 新建用户后,在用户目录下为什么没有.bash_profile文件生成? 求教高手。谢谢!
  • Oracle一个用户如何访问其它用户的表应用指南
  • oracle用户口令丢了
  • 修改oracle用户的.bash_profile之后无法正常登陆
  • linux下如何查看是什么用户安装的oracle
  • oracle+jsp 多用户查询系统讨论:
  • ORACLE 中修改用户密码的方法
  • linux中定时任务 oracle用户该如何做?
  • 杀掉oracle在线用户脚本分享
  • linux能够通过执行脚本添加oracle数据库的用户吗
  • Oracle exp 导出用户对象
  • oracle怎么删除用户提供解决方案
  • Oracle初始参数与当前用户
  • Oracle发布Oracle SQL Developer 1.2数据库开发工具 帮助用户简化开发工作
  • Oracle中查看当前用户的表
  • 怎样知道一个用户的主目录,也就是.bash_profile所在的目录?如/home/oracle
  • Linux下修改Oracle用户密码
  • 解决oracle用户连接失败的解决方法
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3