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

Oracle审计表迁移

DBA小白成长记 2018-01-18
1591

oracle审计相关的表默认表空间是system,当业务增长过快,会导致数据库审计的相关日志数据等迅速增长,则可能会导致system表空间空间不够的问题。

对此,建议分离审计数据,将审计的相关表迁移到新的表空间:

1、建立新的表空间用于存储数据库审计相关数据 AUD

2、迁移表和数据


如上图所示,show parameter audit查看数据库审计功能是否打开;

audit_trail值为DB,说明数据库审计功能打开,审计策略也是打开;

audit_sys_operations为FALSE说明可以审计非sys/system用户的所有操作,想要审计sys/system的操作,需要手动打开audit_sys_operations参数,即alter system set audit_sys_operations=TRUE scope=spfile;然后再重启数据库。


迁移操作步骤:

1)检查审计表现在所在的表空间

SQL>select table_name,tablespace_name from dba_tables where table_name in ('AUD$','FAG_LOG$') order by table_name;


2)检查两个表现在的数据量

SQL>select segment_name,bytes/1024/1024 size_in_megabytes from dba_segments where segment_name in ('AUD$','FAG_LOG$');


3)创建表空间

SQL>create tablespace AUD datafile size 10m autoextend on next 100m maxsize 32767m;


4)迁移

BEGIN

DBMS_AUDIT_MGMT.SET_AUDIT_LOCATION(audit_trail_type =>  DBMS_AUDIT_MGMT.AUDIT_TRAIL_DB_STD,audit_trail_location_value => 'AUD');

END;

/

因为第3步,这块可能会报下面的错:

ERROR at line 1:
ORA-46267: Insufficient space in AUD; tablespace, cannot complete operation
ORA-06512: at "SYS.DBMS_AUDIT_MGMT", line 1576
ORA-06512: at line 2 

提示我们虽然表空间设置的是自动增长,但还是显示空间不足。

所以,在创建表空间时初始值设置成步骤2中所检查出的大小,如果数据过大,征求下客户意见,是不是可以truncate,然后再创建


5)检查迁移是否成功

SQL>select table_name,tablespace_name from dba_tables where table_name in ('AUD$','FAG_LOG$') order by table_name;


ok,就是这样~







本文分享自微信公众号 - DBA小白成长记,如有侵权,请联系 service001@enmotech.com 删除。
最后修改时间:2019-12-18 15:42:45
文章转载自DBA小白成长记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论