SYS.AUD$无法扩容导致无法登录的问题
昨天同事说有个测试库无法登录了,用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则普通用户也可以访问数据字典基表,就会引起安全问题了。
SYS.AUD$无法扩容导致无法登录的问题相关推荐
- linux id高 负载高,linux下的rsync连接数突然增高,负载增高导致服务登录失败
问题:测试centos5.3系统下的rsync连接数.linux下的rsync连接数突然增高,负载增高导致服务登录失败. 软硬件环境如下: 四台2个四核的CPU,8G内存的刀片服务器,只提供rsync ...
- linux创建云主机内存不足,云主机DC2 Linux系统CPU与内存占用率高导致无法登录
本文档介绍 Linux 云服务器因 CPU 与内存占用率高导致无法登录等问题的排查方法和解决方案. 登录与查看系统负载登录云服务器.通过第三方软件远程登录 Linux 云服务器( Linux 云服务器 ...
- Fedora 23 Wine TM 2013 Preview2安装过程/TXPlatform导致无法登录问题最新解决方案
刚从ubuntu转到fedora,本来很稳定的WineQQ又没法使用了,前几天参考了一下百度贴吧的帖子(http://tieba.baidu.com/p/2796471332)做了一个完整的解决:后来 ...
- Nginx 使用 proxy_cookie_path 解决反向代理 cookie 丢失导致无法登录等问题
语法 参考nginx官方文档 语法: proxy_cookie_path off;proxy_cookie_path path replacement; 默认: proxy_cookie_path o ...
- 修改注册表导致无法登录到你的账户
修改注册表失败导致无法登录到你的账号 电脑环境太乱了,完全重置了一次,进去发现微软很烂的设定,把邮箱前六位作为cmd下的默认用户名 尝试修改该值,regedit下修改 计算机\HKEY_LOCAL_M ...
- 解决JVM堆内存不断扩容导致服务器内存耗尽的问题
文章目录 应用场景: 问题描述: 原因分析: 解决方案: 软件版本 应用场景: 采用Spring Boot搭建Web应用,打成jar包,通过内置Tomcat运行.每台服务器上面部署了十几个应用,都是通 ...
- 【raid数据恢复案例】raid5扩容导致的数据丢失的数据恢复
环境: Dell R720服务器 4块sas硬盘组成的raid5磁盘阵列 每块硬盘容量为4T 故障: 业务扩大,原来阵列的空间不足,添加2块硬盘组成raid0进行空间扩容. 导致数据丢失的操作:添加2 ...
- 防火墙导致mysql登录不上_防火墙导致MySQL无法访问的问题解决案例
问题 数据库总是访问不了以致不得不反反复复的重启MySQL数据库. 但是重启的效果并不明显,重启10几分钟后问题依然出现.导致前端用户难以正常访问网站. 另外他们还通过google,百度搜索,怀疑是数 ...
- 服务器SFTP登录密码过期修改,【linux】账号密码过期导致无法登录
故障描述: 今有一批centos操作系统的云主机发生故障,除了使用root用户以及今日新创建的test用户外,其它普通用户均无法正常使用账户密码正常登录. 具体现象: 市场使用wcp工具的sftp,无 ...
最新文章
- 项目中用到的三个绿色自动备份方法
- 长按发送语音_MIUI 11指尖通话功能,实现语音文字实时转换,米粉值得一试!...
- [2020.11.25NOIP模拟赛]出租车【dp】
- php的array_merge函数
- 前端学习(2830):条件渲染
- VueJS样式绑定:v-bind
- PHP常用时间函数总结
- Producer Flow Control 和 vmQueueCursor
- 为什么在 Windows 7系统下无法显示 STEP 7 MicroWin SP9的帮助文件?
- ykhmi是什么触摸屏软件_YKBuilder(中达优控触摸屏编程软件)
- oracle delete误删除表数据进行恢复
- 学习笔记 Tianmao 篇 recyclerView 辅助的RecycleAdapterImpl类(适配自定义home二型)
- 带有动态直方图的亲属关系模型
- 第十一章 第三将 项目风险管理
- 代码主题darcula_设置IntelliJ主题和字体方法
- 计算机农业sci,科学网—SCI-EI收录农业工程期刊 - 王宝济的博文
- 软件工程第五章——总体设计
- Java--Integer的常量缓存池(默认-128~127数值范围)
- 卡米歇尔(Carmichael)数、函数
- 折腾 NeoVim 和 SpaceVim