昨天有一同事问如何把oracle里一个用户所有表查询权限赋与另一用户,在网上查了好像没有现成的一劳永逸的语句,只能手了一个批量处理语句,如下:
create or replace procedure grant_sql as
The_c1 Integer;
The_result number;
v_Table varchar2(80);
v_sql varchar2(400);
Begin
The_C1 :=Dbms_sql.open_cursor;
Dbms_sql.parse(the_C1,'Select table_name From User_Tables',dbms_sql.native);
Dbms_sql.define_column(the_c1,1,v_Table,80);
The_result:=Dbms_sql.execute(The_c1);
loop
If dbms_sql.fetch_rows(The_c1) > 0 then
Dbms_sql.column_value(The_c1,1,v_Table);
v_sql := 'Grant Select On '||v_Table||' to brokeruser3';
Execute Immediate v_sql;
else
exit;
End if;
end loop;
Dbms_sql.close_cursor(The_C1);
出处:http://hi.baidu.com/lichangzai/blog/item/ccf30bec6bb451d52e2e2131.html
相关推荐
本文将深入探讨如何在Oracle中将一个用户的所有表的权限授予另一个用户,这一过程通常在PL/SQL环境下通过执行特定的命令来完成。下面我们将详细解析这一操作的步骤、原理以及可能遇到的问题。 ### Oracle中的权限...
### 完整Oracle创建表空间、用户及设置用户权限脚本解析 #### 一、创建表空间 在Oracle数据库管理中,创建表空间是数据库管理的基础之一。表空间是Oracle数据库中逻辑存储结构的一部分,它将数据库物理存储空间...
在Oracle数据库管理中,创建表空间、用户及赋予相应的权限是一项常见的任务。本文将详细介绍如何通过SQL语句实现这些操作,并解释每一步的具体含义。 #### 一、创建表空间 在Oracle数据库中,数据存储在一个称为表...
例如,delete权限允许用户删除表或视图的行,select权限允许用户通过select从表、视图、序列或快照中查询信息。 用户和角色(Role) --------- 每个Oracle用户都有一个用户名和口令,并拥有一些由其创建的表、视图...
DBA可以创建角色(如`CREATE ROLE manager`),然后将权限赋给角色(如`GRANT create table, create view TO manager;`),最后将角色赋予一个或多个用户(如`GRANT manager TO DEHAAN, KOCHHAR;`)。这样,当需要...
例如,可以创建一个角色HR_CLERK,赋予其对雇员表的SELECT、UPDATE等权限,然后将这个角色赋给多个用户。 6. **概要文件**:概要文件用于控制用户资源的使用,如登录次数、会话时间、口令策略等。通过创建和管理...
Oracle权限管理是数据库系统中至关重要的一个环节,它确保了数据的安全性和访问控制。在Oracle 10g和11g版本中,权限管理机制经过精心设计,为管理员提供了多种工具和策略来管理用户访问权限。本文将深入探讨Oracle...
通常linux下用安装oracle后,只有切换至oracle用户下方可执行相关的数据库的sqlplus及imp\exp相关命令的操作,经过这里的此配置后方可解决此问题,所有用户下均可以执行上述相关操作
这将生成多个GRANT语句,每个语句赋予cc551it用户一个表的select权限。 知识点5:使用sys用户登陆 在Oracle数据库中,sys用户是最高权限的用户,拥有所有权限。在创建用户和赋权限时,需要使用sys用户登陆,以确保...
oracle创建表空间、用户(建立表空间文件以及默认大小,创建用户和密码,分配表空间,赋权限等)
然而,Oracle不支持直接为用户授予针对单个表的`TRUNCATE`权限,而是通常将更广泛的`DROP ANY TABLE`权限赋予用户,但这可能会带来安全隐患。本文将探讨两种实现为用户授权`TRUNCATE TABLE`的方案,以确保安全性和可...
### Oracle权限管理详解 在Oracle数据库管理中,权限管理是一项重要的任务,它涉及到对数据库对象访问的控制,确保数据的安全性和完整性。本文将基于提供的文件信息,深入探讨Oracle中的权限设置方法,包括如何修改...
### 数据库用户创建与赋权限 #### 知识点一:数据库用户管理 在数据库管理系统(DBMS)中,用户管理是一项重要的功能,它确保了数据的安全性和完整性。通过创建不同的用户并为这些用户分配相应的权限,可以有效地...
Oracle的权限管理还包括对角色的管理,可以创建角色并授予一组权限,再将角色赋给用户,简化权限管理。此外,还可以使用`revoke`命令撤销已授予的权限,以及`grant connect`、`grant resource`等权限来控制用户的...
现在我要把scott用户里面的emp表的权限赋给lady用户但lady只能有对emp查询权限: grant select on emp to lady;(授权用户级别应该:授权本身,或者sys/system) lady 查询emp的方式:select * from scott.emp; 案例:...
* 创建一个用户,并将用户赋到表空间上 * 给用户赋权限 * 以新建用户登录,创建一个程序包 * 在表空间上建表,包括用户表和邮件表 * 作增、删、改、查的操作,并将其封装到存储过程中 * 写一个 Java 程序来调用存储...
描述了oracle如何穿件用户,如何给用户赋权限,查看权限,删除用户等操作。
角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限。 系统预定义角色 预定义角色是在数据库安装后,系统自动创建的一些常用的角色。下面我们就简单介绍些系统角色: CONNECT...
3. 赋权限:`GRANT`命令用于赋予用户访问特定对象的权限,如`GRANT SELECT ON table TO user`让某用户可以查询特定表。 4. 收回权限:`REVOKE`命令用于撤销已授予的权限,如`REVOKE SELECT ON table FROM user`取消...
根据提供的文件信息,本文将对Oracle数据库中的几个关键知识点进行详细的解释与说明,包括更新数据、创建临时表空间、创建用户及其权限管理等操作。 ### 1. 更新数据 更新语句是数据库中最常见的操作之一,它允许...