背景:不表中存放业务数据,某用户只能根据起用户所在的机构查询本机构和本机构下级机构的数据。
一般的解决方案:在查询sql里面做文章,根据当前用户,找出所在机构和下级机构,然后再在业务数据表进行过滤。这种方式优点是比较直观,缺点是sql写起来啰嗦重复,且容易出错。
新的解决方案:通过view进行业务数据的过滤,创建view时需要知道当前用户的基本信息,通过该信息即可创建对应用户的不同用户的view。
现在的关键点在于如何将基本信息明确保存起来,作用创建view。可利用oracle的会话级临时表,在系统获取数据库连接时将用户的机构和下级机构插入到该临时表,然后通过已经该表和业务表即可建立好用户的view。同时给该view创建同义词,提供访问透明性。
分享到:
相关推荐
通过设置用户默认表空间和临时表空间,可以控制用户的数据和临时操作存储位置。 在描述中提到的“用户在某个表空间不受限”,意味着用户在特定表空间上拥有所有必要的权限,可以自由地创建、修改和删除数据。要实现...
Oracle数据库系统的用户账号管理和权限控制是确保数据安全性的重要环节。这一主题涵盖了多个子领域,包括Oracle的安全机制、用户账号管理、权限管理、角色管理和概要文件。以下是对这些知识点的详细解释: **Oracle...
4. **同步临时表**(可选): 如果在数据迁移过程中,表`EMP`可能有新的写入或更新,可以调用`DBMS_REDEFINITION.SYNC_INTERIM_TABLE`确保迁移过程中数据的一致性。 5. **复制权限对象**: 通过`DBMS_...
在Oracle数据库管理中,权限管理是一项重要的任务,它涉及到对用户、角色及对象等数据库实体的访问控制。通过合理地分配权限,可以有效地保护数据的安全性和完整性,同时确保业务流程的正常运行。下面我们将详细介绍...
上述操作体现了Oracle 10G数据库管理中的核心要素:数据存储(表空间)、用户认证和权限控制。通过这些基础命令,可以有效地管理和控制数据库资源,确保数据的安全性和高效利用。值得注意的是,创建表空间时的`...
总之,本文介绍的内容包括用友NC6.5数据库参考脚本,尤其是涉及到的SQLServer、Oracle和DB2数据库创建、配置及临时表空间的设置。这些脚本对于数据库管理员和开发人员在实际工作中创建、管理数据库和优化数据库性能...
总结来说,Oracle数据库的权限管理和资源分配是通过角色分配、权限控制、表空间策略、资源管理等多种手段来实现的。这些机制能够有效解决不同用户之间可能产生的冲突,保障数据库系统的稳定运行和高效性能。通过深入...
### Oracle 创建用户并授权 DBA 权限 在 Oracle 数据库管理系统中,用户管理与权限分配是维护数据库安全性和操作性的关键环节。本文将详细解析如何在 Oracle 中创建用户、分级授权以及对 DBA 权限的具体操作方法,...
- **dba_temp_files**: 监控临时表空间的数据文件信息。 - **dba_rollback_segs**: 有关回滚段的详细信息,用于回滚未提交的事务。 - **dba_ts_quotas**: 用户在各表空间的配额信息。 - **dba_free_space**: 提供...
本文将详细介绍部分重要的Oracle系统表,包括它们的功能以及如何利用这些表进行数据库管理。 #### 一、系统管理表 ##### 1. DBA_USERS - **功能**: 存储所有用户的详细信息,包括用户名、默认表空间、临时表空间、...
- **非理想情况:** 如果排序数据超过了排序区的大小限制,则Oracle不得不将这部分数据转移到磁盘上的临时表空间进行排序,这将大大降低性能。 **2.3 调整排序区大小的方法** - **初始化参数SORT_AREA_SIZE:** ...
- **删除无用对象**:清理临时表、临时段、日志文件、归档日志等不再需要的资源。 - **扩展数据文件**:增加数据文件大小以获取更多空间,但这不是长期解决方案。 - **创建和使用临时表空间**:处理临时数据,...
表空间可以分为永久表空间和临时表空间。 #### 二、创建表空间命令详解 为了更好地理解和操作 Oracle 中的表空间,我们需要掌握创建表空间的基本语法。以下是对给定文件中提到的一些关键 SQL 命令的解析: ##### 1...
6. 查看临时表空间组信息,利用`DBA_TABLESPACES`视图。 7. 删除临时表空间组,使用`DROP TABLESPACE GROUP`。 三、用户管理 用户是访问Oracle数据库的逻辑实体。实验涉及: 1. 创建名为"Team"的数据库,并定义数据...
因此,在进行各种测试或者查询操作时,我们通常会利用`DUAL`表来返回单个结果或进行简单的计算演示。 #### 三、`DUAL`表的作用与应用场景 1. **返回固定值:**由于`DUAL`表中仅有一行数据,我们可以轻松地通过`...
Oracle数据库是世界上最广泛使用的数据库管理系统之一,以其强大的功能和稳定性著称。在Oracle数据库中,有许多常见的表,这些表构成了数据库的元...通过深入学习和实践,可以更好地理解和利用Oracle数据库的强大功能。
- `TEMPORARY TABLESPACE TEMP`:设置临时表空间。 - `PROFILE DEFAULT`:设置用户的配置文件。 2. **分配权限**:接着添加以下脚本来分配权限给新创建的用户: ```sql GRANT DBA TO STUDENT WITH ADMIN ...
在Oracle数据库中,创建永久表空间是为了存储用户数据和对象,而临时表空间用于处理数据库的排序和临时存储。创建表空间时,可以指定数据文件的名称和大小。此外,还可以通过添加数据文件的方式扩展表空间容量。 ...
可以利用这些工具的特性,编写脚本或配置文件,指定不包括临时表。 4. **源码控制**:对于自定义的同步脚本或工具,确保其源码版本化,以便跟踪和维护过滤规则的变更。 5. **监控与调试**:实施过滤后,定期检查同步...
C#通过ADO.NET库与Oracle数据库进行交互,这允许开发者使用DataSet、DataTable等对象来处理数据,同时利用SqlCommand执行SQL命令。在工资表系统中,"导入"功能可能涉及从CSV或Excel文件读取数据并批量插入数据库;...