Oracle授权访问
一、为什么要使用oracle授权访问?
Oracle授权访问控制特定用户只能访问数据库指定访问的内容和权限。
例如,系统A需要访问系统B的数据库erpdev中的表test,如果我们将系统B的访问数据库用户提供给系统A使用,那么系统A将具有控制系统B数据库erpdev的权限,这显然是系统B不想看到的安全隐患。所以,可以通过oracle的授权用户来控制系统A访问系统B的权限,来排除这种隐患。例如,用oracle授权访问功能控制系统A只能查询数据库erpdev中的test表,如果用户试图向test表中插入数据,或者修改test表中的数据,那么oracle将返回错误信息,用户操作失败。其实这就是用oracle授权访问控制了某个用户访问数据库的权限。
二、Oracle授权访问语句(假设被授权用户名INTEST)
1、 给INTEST授权select表test功能:grant select on test to INTEST
2、 给INTEST授权update表test功能:grant update on test to INTEST
3、 给INTEST授权delete表test功能:grant delete on test to INTEST
三、oracle授权访问实例
假设将给某程序提供访问某数据库指定表的需求,现在用oracle授权访问来实现。
1、先建立用户hdtb2,如下图:角色可以不用设置,并且一定不能给用户设定 “DBA”角色!只给hdtb2保留CONNECT即可,或者新建角色付给hdtb2用户。
注意,我在新建hdtb2这个用户时选择的表空间是SYSDATE或者USERS,而并不是将要给hdtb2授权的表空间。
此时,查看hdtb2用户“已授予的对象权限”时是空的,也就是说并没有授予用户对象权限,如下图
2、在现在还未给hdtb2用户设置oracle授权访问时,用java程序测试一下hdtb2用户访问数据库提示的错误:
这就证明hdtb2虽然连上了数据库,但是却不能访问。
3、用原系统用户在PL/SQL中给hdtb2用户设置oracle授权访问,语句如下:设置hdtb2删除t_prd_order_t_2表中数据的授权(grant delete on t_prd_order_t_2 to hdtb2)
执行完毕后再查看hdtb2用户“已授予的对象权限”时,如下图所示:
这说明用户hdtb2已经具有了删除t_prd_order_t_2表中数据的功能。
4、oracle授权访问设置完毕后,用java程序测试授权是否有效,如下图:
怪事了L怎么还不行呢?delete from t_prd_order_t_2?呵呵,相信看到这条语句就知道问题出在哪里了。继续……
吼吼,执行通过了,delete from hgvs_hdtb.t_prd_order_t_2,“hgvs_hdtb”就是我数据库的用户,并且刚才也是在用“hgvs_hdtb”这个用户登录PL/SQL后给hdtb2用户加的oracle授权,千万别忘了!
再测试一下,将delete换成select看看,执行后,如下图:
哈哈,看来控制的还不错呀。
5、通过以上步骤后,就可以用hdtb2这个用户来删除t_prd_order_t_2中的数据了。
哎,语言表达能力还有待大量提高啊。不知道有没有把我想的明明白白的说出来,呵呵。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wlq1983/archive/2008/09/14/2874458.aspx
分享到:
相关推荐
ORACLE单独授权是指在ORACLE数据库中,授予某个用户对部分数据表、视图或存储过程的访问权限,而不是授予全数据库的访问权限。本文将详细介绍如何授予用户对部分表、视图或存储过程的权限。 为什么需要单独授权 在...
在本篇文章中,我们将详细探讨如何在Windows Server 2012环境下,利用Oracle 11.2版本的数据库来通过透明网关访问MySQL 5.7数据库。该过程涉及服务器配置、数据库权限设置、ODBC驱动安装配置、网络配置以及Oracle...
### Oracle添加用户及授权问题详解 #### 一、Oracle用户管理概述 在Oracle数据库管理系统中,用户管理是一项非常重要的任务。正确地创建用户并授予适当的权限对于确保数据的安全性和完整性至关重要。本文将详细...
支持授权非自身表空间的用户权限。 跨数据库查询对方表数据,以及复制粘贴。
根据提供的文件信息,本文将详细解释Oracle数据库中的关键操作,包括创建表空间、创建用户、授予用户权限等重要步骤,并进一步解析如何实现对特定数据库对象的访问授权以及如何查看用户的权限。 ### 一、创建表空间...
### Oracle授权语法详解 在Oracle数据库管理中,权限管理是一项重要的功能,它允许数据库管理员(DBA)控制用户对数据库对象的访问级别。本文将详细解释Oracle中的授权语法,并通过具体的例子来阐述如何进行不同类型...
### Oracle 创建用户并授权 DBA 权限 在 Oracle 数据库管理系统中,用户管理与权限分配是维护数据库安全性和操作性的关键环节。本文将详细解析如何在 Oracle 中创建用户、分级授权以及对 DBA 权限的具体操作方法,...
在本篇文章中,我们将深入探讨这个问题的原因、解决方案以及如何正确地授权和管理Oracle数据库的权限。 1. **错误原因**: - 用户未被授予执行特定操作所需的系统权限,例如UPDATE、DELETE、SELECT或INSERT。 - ...
在Oracle数据库管理中,表空间(Tablespaces)、临时表(Temporary Tables)、用户(Users)以及用户授权(User Authorization)是数据库管理员(DBA)进行数据库架构设计和安全管理的基础操作。以下将详细介绍这些...
### Oracle 精细访问控制(Fine-Grained Access Control, FGAC)初级解析 #### 一、Oracle FGAC ...这种机制非常适合需要高度定制化安全策略的应用场景,能够有效防止未经授权的数据访问,并增强系统的整体安全性。
在 Oracle 数据库中,创建用户是一项常见的管理任务,用于确保数据库资源的安全访问控制。通过创建不同的用户账户,并为这些账户分配适当的权限,管理员可以实现对数据库操作的精细控制。 ##### 命令格式: ```sql ...
在Oracle中,创建用户、表空间以及进行授权是管理数据库的关键步骤。以下是对这些概念的详细解释: 1. **创建用户**: Oracle中的用户是数据库操作的主要实体,通过`CREATE USER`语句来创建。例如: ```sql ...
本文将根据提供的文件信息,深入解析如何在Oracle环境中新建用户表空间,并授予DBA级别的权限,确保数据存储与访问的安全性与高效性。 ### 一、创建表空间 在Oracle中,表空间是数据物理存储的逻辑容器,用于组织...
这种做法不仅可以防止未授权访问,还可以有效减少潜在的安全威胁。本文将详细介绍如何通过修改Oracle的相关配置文件来实现对固定IP地址的访问控制。 #### 一、理解关键配置选项 首先,我们需要了解几个重要的配置...
在Oracle数据库管理系统中,审计功能是一项重要的安全特性,它记录了数据库的所有访问活动,包括但不限于登录、查询、更新等操作。这些审计记录通常存储在系统表`SYS.AUD$`中。为了确保系统的稳定运行和数据的安全性...
本文将深入探讨Oracle笔记中的几个关键概念:导出、导入、创建用户、授权以及使用INSERT语句和ROWNUM。 1. 导出(Export)与导入(Import): Oracle提供了数据泵(Data Pump)工具用于数据的导出和导入,它极大地...
在Oracle中,用户是指具有访问数据库权限的实体。每个用户都有自己的安全凭证,即用户名和密码。用户可以拥有对象,如表、视图、存储过程等,并有权访问其他用户或系统级别的资源。 **表空间(Tablespace)**: 表...
在Oracle数据库管理中,权限管理是一项重要的任务,它涉及到对用户、角色及对象等数据库实体的访问控制。通过合理地分配权限,可以有效地保护数据的安全性和完整性,同时确保业务流程的正常运行。下面我们将详细介绍...
【Oracle 数据库安全访问】 Oracle 数据库是一种广泛应用于企业级信息系统的强大关系型数据库管理系统,其安全性对于确保数据的完整性和机密性至关重要。在特定行业,如军事、政府和金融等领域,对数据的安全访问...