前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SYS.AUD$无法扩容导致无法登录的问题

SYS.AUD$无法扩容导致无法登录的问题

作者头像
bisal
发布2019-01-29 14:58:21
1.5K0
发布2019-01-29 14:58:21
举报

昨天同事说有个测试库无法登录了,用PLSQL Developer登陆后提示:

ERROR: ORA-00604: error occurred at recursive SQL level 1 ORA-01653: unable to extend table SYS.AUD$ by 8192 in tablespace SYSTEM ORA-02002: error while writing to audit trail ORA-00604: error occurred at recursive SQL level 1 ORA-01653: unable to extend table SYS.AUD$ by 8192 in tablespace SYSTEM

貌似以前听@dbsnake说过这问题。

首先SYS.AUD$是数据字典表,存储于SYSTEM表空间,存储的是审计信息,11g默认是开启审计

SQL> show parameter audit_trail NAME                                 TYPE        VALUE ------------------------------------ ----------- ------------------------------ audit_trail                          string      DB

上面的提示明显是指SYSTEM表空间的SYS.AUD$表无法继续扩容了,可能是磁盘空间不足,或SYSTEM表空间分配的数据文件空间不足。针对上面这个问题,有两种方法:

1、扩容SYSTEM表空间。

2、降低SYS.AUD$的容量。

之所以有第二种方法,从MOS:73408.1这篇文章可以得到结论:

SYS.AUD$ is the only SYS object that should ever be directly modified

SYS.AUD$是唯一一个可以直接修改的SYS对象。

那如何降低SYS.AUD$的容量呢?

1、最简单的方法就是truncate table SYS.AUD$,最直接,前提是不需要保留审计信息。

2、MOS中也介绍一种方法:DELETE FROM sys.aud$ WHERE obj$name='<object_name>';,删除SYS.AUD$中指定对象的审计信息。这样带来的问题很明显,就是不会降低高水位线。

3、也可以备份审计表,然后再降低容量。

CREATE TABLE backup_aud$ AS SELECT * from sys.aud$;

truncate table aud$;

exp file=aud_backup.dmp tables=backup_aud$

drop table backup_aud$;

如果仅需要降低SYS.AUD$占用的空间,此时可以再次执行insert into aud$ select * from backup_aud$;将数据导入进来。

4、要删除SYS.AUD$表需要相应的权限:要么是SYS用户,要么具有DELETE ANY TABLE系统权限,或者SYS用户将SYS.AUD$表的DELETE权限赋予这个用户。具有delete_catalog_role角色亦可以,但11.2.0.2之前的版本可能有bug导致这个角色没有SYS.AUD$的删除权限,需要人工添加,具体也可参见9697811这个bug描述。

5、MOS有介绍:The DELETE ANY TABLE privilege only applies to SYS objects if O7_DICTIONARY_ACCESSIBILITY=TRUE,表示如果O7_DICTIONARY_ACCESSIBILITY参数是TRUE,则只有SYS用户可以具有DELETE ANY TABLE权限。查了一些资料,也说O7_DICTIONARY_ACCESSIBILITY这个参数的作用就是保护数据字典基表,FALSE要求SYS不能以普通用户角色登录,必须用sysdba角色登录,如果TRUE则普通用户也可以访问数据字典基表,就会引起安全问题了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014年02月11日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档