暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle 创建时自动建立的表空间及审计

手机用户7421 2024-08-26
163

在创建一个新的 Oracle 数据库时,系统会自动创建几个默认的表空间。这些表空间对于数据库的正常运行至关重要,因为它们包含了数据库的基本结构和元数据。以下是在标准的 Oracle 数据库安装过程中自动创建的主要表空间:

  1. SYSTEM 表空间

    • 这是最重要的表空间之一,用于存储数据字典信息,包括所有用户定义的对象的元数据(如表、索引、视图等)。
    • SYSTEM 表空间还包含一些系统管理对象,如回滚段等。
  2. SYSAUX 表空间

    • SYSAUX 表空间用于存储辅助系统信息,例如临时表、外部表的元数据、Job Scheduler 元数据、统计信息等。
    • 它与 SYSTEM 表空间一起构成了系统全局区域 (SGA) 的一部分。
  3. UNDO 表空间

    • UNDO 表空间用于存储事务处理期间的撤销数据,以便支持事务的回滚操作。
    • 一个数据库可以有多个 UNDO 表空间,但是至少需要一个。
  4. TEMP 表空间

    • TEMP 表空间用于存储临时表和临时段,例如排序操作、临时表等所需的临时数据。
    • 临时表空间中的数据在会话结束时会被自动清除。
  5. USERS 表空间

    • USERS 表空间通常用于存储普通用户的对象,如表、索引等。
    • 这是一个可选的表空间,但大多数数据库都会创建它作为用户的默认表空间。
  6. 在 Oracle 数据库中,直接查看谁增加了某条记录并不是数据库本身的默认功能。Oracle 数据库不会自动记录每条记录的插入者信息。不过,您可以采用几种方法来实现这一需求:

  7. 使用触发器
    您可以在表上创建一个 INSERT 触发器来记录插入操作的相关信息。触发器可以在每次 INSERT 操作发生时执行,从而记录插入操作的详细情况。例如,可以记录当前用户、插入时间等信息。

示例代码:

CREATE OR REPLACE TRIGGER trg_insert_log
BEFORE INSERT ON your_table
FOR EACH ROW
DECLARE
BEGIN
:new.inserted_by := USER; – 当前用户名
:new.inserted_at := SYSDATE; – 插入的时间
END;
/
在此示例中,假设 your_table 中有两个字段 inserted_by 和 inserted_at 分别用于记录插入操作的用户名和时间戳。

  1. 使用审计 (AUDIT)
    Oracle 提供了审计功能,可以用来记录特定 SQL 语句的操作。但是,审计主要用于记录 SQL 语句级别的活动,而不是单条记录的插入。

示例命令:

AUDIT SELECT, INSERT, UPDATE, DELETE ON your_table BY ACCESS;
此命令将审计所有对 your_table 的 SELECT、INSERT、UPDATE 和 DELETE 操作。

  1. 使用细粒度审计 (Fine-Grained Auditing, FGA)
    细粒度审计允许您记录特定表上的特定列的变化。FGA 需要配置并启用,并且可以根据需要选择性地记录数据。

示例命令:

CREATE AUDIT POLICY my_policy INSERT ON your_table COLUMNS (column_name);
AUDIT POLICY my_policy;
这将记录所有在 your_table 上的 INSERT 操作,并关注特定的列。

  1. 使用数据库审计选项 (Database Audit Option)
    Oracle 的数据库审计选项提供了一种更高级的方式来记录数据库活动,包括 SQL 语句和数据访问。这通常用于安全性和合规性目的。

  2. 使用应用级逻辑
    在应用程序级别记录谁插入了数据也是一种常见做法。例如,可以在应用程序中维护一个日志表,记录每个用户的操作。

注意事项
使用触发器和审计功能可能会对性能产生影响。
审计数据可能会占用大量存储空间。
应该定期审查和清理审计记录,以避免不必要的开销。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论