工作总结:在oracle下给某个用户授予访问本用户下所有表的权限.
例如:把scott用户下的所有表的查询权限授予T用户.
create or replace procedure grant_selectAll_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 T';
Execute Immediate v_sql;
else
exit;
End if;
end loop;
Dbms_sql.close_cursor(The_C1);
End;
分享到:
相关推荐
本文将深入探讨如何在Oracle中将一个用户的所有表的权限授予另一个用户,这一过程通常在PL/SQL环境下通过执行特定的命令来完成。下面我们将详细解析这一操作的步骤、原理以及可能遇到的问题。 ### Oracle中的权限...
### 完整Oracle创建表空间、用户及设置用户权限脚本解析 #### 一、创建表空间 在Oracle数据库管理中,创建表空间是数据库管理的基础之一。表空间是Oracle数据库中逻辑存储结构的一部分,它将数据库物理存储空间...
Oracle用户与对象权限是指用户在数据库中的访问权限和操作权限。Oracle用户可以拥有不同的权限,例如创建用户、修改用户、删除用户、访问数据库对象等。同时,Oracle用户也可以拥有模式权限,例如创建模式、修改模式...
- **ALL_USERS**: 这个视图包含了当前用户可见的所有用户的信息,通常包括当前用户和其他显式授予访问权限的用户。 ```sql SELECT * FROM ALL_USERS; ``` - **USER_USERS**: 这个视图仅显示当前用户的详细信息。 ...
在本教程中,我们将探讨如何利用DB Link来迁移Oracle数据库中的用户下所有表的数据,以scott用户为例进行操作。 首先,我们需要理解DB Link的基本概念。DB Link是Oracle提供的一种机制,它允许在一个数据库(本地...
另外,公共权限允许所有用户都有的权限,如`GRANT READ ON DIRECTORY mydir TO PUBLIC;`。 9. **审计**:Oracle还提供了审计功能,通过记录权限的使用情况,来监控数据库的访问行为,确保合规性和安全性。 权限...
理解表空间权限对于管理数据库的存储和访问权限至关重要。在Oracle中,用户需要被授予特定的权限才能在特定的表空间上执行操作。下面我们将深入探讨Oracle表空间权限及其与多个空间的关联,以及如何为用户在特定表...
根据提供的文件信息,本文将详细解释Oracle数据库中的关键操作,包括创建表空间、创建用户、授予用户权限等重要步骤,并进一步解析如何实现对特定数据库对象的访问授权以及如何查看用户的权限。 ### 一、创建表空间...
假如Oracle中有两个用户A和B,那么如果A要访问B拥有的表,语句应该是: 代码如下: SELECT * FROM B.TABLENAME。 我要问的是,能否通过修改Oracle的设置,将A访问B拥有表的语也变为跟B用户登录一样的语句:SELECT * ...
实体权限主要用于控制用户对特定表或视图的访问权限。实体权限的授予可以通过`GRANT`语句完成。 ##### 授予权限 例如,向用户`user02`授予对`user01.product`表的`SELECT`, `UPDATE`, `INSERT`权限: ```sql SQL> ...
这种设计使得Oracle数据库能够灵活地管理和分配存储资源,同时也方便了用户对数据的访问和管理。 总结起来,Oracle数据库的物理结构与逻辑结构相互配合,通过数据文件、表空间、段、区和数据块等层次实现数据的存储...
- 在某些情况下,可能只需要授予用户对特定列的访问权限,例如只允许插入或更新某列的数据。 ```sql GRANT INSERT (id) ON tablename TO zhangsan; GRANT UPDATE (id) ON tablename TO zhangsan; ``` 4. **...
创建用户是分配数据库访问权限的第一步。Oracle中的用户包括用户名、口令以及默认表空间等信息。创建用户的SQL命令如下: ```sql CREATE USER 用户名 IDENTIFIED BY 口令 DEFAULT TABLESPACE 表空间名; ``` 例如,...
### Oracle数据库、实例、用户、表空间的关系解析 #### 一、Oracle数据库概述 Oracle数据库是一种高度复杂的数据库管理系统,主要用于企业级数据管理和处理。与其他数据库系统不同,Oracle数据库中的“数据库”这一...
- 权限被撤销或者权限的依赖关系存在问题,例如某个表依赖的序列或同义词权限丢失。 2. **解决步骤**: - 验证用户是否拥有正确的角色:检查用户是否已分配了能够执行特定操作的角色,如DBA、CONNECT或RESOURCE。...
ORACLE单独授权是指在ORACLE数据库中,授予某个用户对部分数据表、视图或存储过程的访问权限,而不是授予全数据库的访问权限。本文将详细介绍如何授予用户对部分表、视图或存储过程的权限。 为什么需要单独授权 在...
在Oracle数据库管理中,创建用户、表空间及进行权限分配是一项基本且重要的任务。下面将详细介绍这一过程,包括创建用户、创建表空间、授予权限以及如何进行剪标(即删除对象)的操作步骤。 ### 一、创建用户 ####...
同时,Oracle支持权限的级联授予(WITH GRANT OPTION),允许被授予者再将权限转授给其他用户。 除了上述基础权限,Oracle还有更高级的权限控制,如`RESOURCE LIMIT`、`AUDIT`和`PROFILE`,它们用于限制用户资源...