首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当table被TRUNCATEd时,我可以插入到table吗?

当table被TRUNCATEd时,我可以插入到table吗?
EN

Stack Overflow用户
提问于 2019-08-18 22:11:54
回答 1查看 192关注 0票数 0

我有一个系统表AUD$,其中写入了每个用户的操作(AUDIT select、insert、update等)。这个表有一亿条记录。我决定截断表(我想这需要几分钟),因为我们不再需要这些数据。

但每次用户登录到数据库时,都会在此表AUD$中创建一条记录。

所以我的问题是:在截断表期间,INSERT (如果用户登录到数据库)可以工作吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-19 00:27:11

Oracle有一个名为DBMS_AUDIT_MGMT的包,它可以(也应该)用于管理您的审计表,这是减少AUD$的大小的正确方法。如果你要写出这些文件,它也可以用来管理操作系统级别的审计。下面是将AUD$表移到它自己的表空间并设置审计管理的示例。

创建专用的审核表空间

代码语言:javascript
复制
CREATE TABLESPACE AUDAUX DATAFILE '/u01/oracle/oradata/<DB_NAME>/audaux01.dbf'
SIZE 25M AUTOEXTEND ON NEXT 10m MAXSIZE UNLIMITED;

将sys.aud$表移动到新的表空间

代码语言:javascript
复制
SET SERVEROUTPUT ON
BEGIN
 DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION(
  AUDIT_TRAIL_TYPE            => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD, 
  AUDIT_TRAIL_LOCATION_VALUE  => 'AUDAUX');
END;
/

设置所需的参数,如果需要,可跳转数据库

代码语言:javascript
复制
audit_trail='DB,EXTENDED'
audit_sys_operations=true

初始化清理操作

代码语言:javascript
复制
SET SERVEROUTPUT ON
BEGIN
 DBMS_AUDIT_MGMT.INIT_CLEANUP(
  AUDIT_TRAIL_TYPE            => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD,
  DEFAULT_CLEANUP_INTERVAL    => 12 );
END;
/

验证是否已初始化清理

代码语言:javascript
复制
SET SERVEROUTPUT ON
BEGIN
 IF 
   DBMS_AUDIT_MGMT.IS_CLEANUP_INITIALIZED(DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD)
 THEN
   DBMS_OUTPUT.PUT_LINE('AUD$ is initialized for clean-up');
 ELSE
   DBMS_OUTPUT.PUT_LINE('AUD$ is not initialized for clean-up.');
 END IF;
END;
/

创建清除作业

代码语言:javascript
复制
SET SERVEROUTPUT ON
BEGIN
  DBMS_AUDIT_MGMT.CREATE_PURGE_JOB (
   AUDIT_TRAIL_TYPE            => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD, 
   AUDIT_TRAIL_PURGE_INTERVAL  => 12,
   AUDIT_TRAIL_PURGE_NAME      => 'Standard_Audit_Trail_Purge',
   USE_LAST_ARCH_TIMESTAMP     => FALSE );
END;
/

删除清除作业示例

代码语言:javascript
复制
SET SERVEROUTPUT ON
BEGIN
  DBMS_AUDIT_MGMT.DROP_PURGE_JOB (
   AUDIT_TRAIL_PURGE_NAME      => 'DB_AUDIT_TRAIL_PURGE');
END;
/
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57545351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档