今天遭遇到一个表空间扩展性问题
来源:互联网 发布:解决网络劫持 编辑:程序博客网 时间:2024/06/09 17:45
今天上午到单位,接到客户的电话说是报表打印无数据。 连到数据库上看统计日志,发现报错 ora-01536 ....错误。根据错误提示,是表空间daf有问题了。
表空间不够的问题已经很久了,因为新加的磁盘还没有分配,所以最近总是按拆东墙补西墙的方式来扩展表空间。daf这个表空间不够,也是很久以来的事情了。于是今天我采取了以下步骤:
1 登录dba studio,增大daf表空间的数据文件大小。
2 重新执行统计数据的存储过程,但是很遗憾,依然报错 ora-01536
3 于是检查报错的地方是执行一个Insert语句报错,检查insert到的表叫da_db_fix_temp表。
4 检查这个表,发现表的扩展性以及Index的扩展性都是unlimited ,应该没有问题啊。
5 后来又发现next extendt 居然是24M,想是不是因为这个太大了呢?于是将next extendt 的单位从mb修改成kb
6 再次执行统计数据的存储过程,依然很遗憾,继续报错 ora-01536
7 因为da_db_fix_temp是个临时使用的表,每次使用完后数据都要清除,我检查了一下语句,使用的是delete ,想可能是因为delete的问题,于是执行truncate table da_db_fix_temp,结果提示必须使用storage ,于是执行 truncate table da_db_fix_temp drop storage 成功
8 再次执行统计数据的存储过程,依然很遗憾,继续报错 ora-01536
9 快疯掉了,于是仔细看了一下 ora-01536 的说明,如下:
Cause: The space quota for the segment owner in the tablespace has been exhausted and the operation attempted the creation of a new segment extent in the tablespace.
Action: Either drop unnecessary objects in the tablespace to reclaim space or have a privileged user increase the quota on this tablespace for the segment owner.
15 上网搜索了一下,在 http://www.az2007.com/view/45372.html 发现如下描述:
我终于找到了问题的原因。resouce角色确实拥有unlimited tablespace系统权限,但原来nowuser拥有的角色是connect、resource、dba,当revoke dba from nowuser时,将unlimited tablespace权限也给revoke回去了,不知道是oracle的一个bug还是有意如此。我发现oracle817上也是如此。
谢谢各位的解答。
另外你说RESOURCE拥有UNLIMITED TABLESPACE是不准确的。
这个系统权限不是包含在RSOURCE ROLE之中,而是GRANT
RESOURCE或DBA时,系统同是给这个用户UNLIMITED TABLESPACE权限,当REVOKE RESOURCE或REVOKE DBA时,
就会同时收回UNLIMITED TABLESPACE。如果这个权限包含在
ROLE中是不会有这个效果的。
由此看来,我是遇上了难得一遇的问题了,oracle的细枝末节有太多猫腻了:)
- 今天遭遇到一个表空间扩展性问题
- 今天去面试碰到到一个问题
- 今天居然遭遇了如此郁闷的调试问题:(
- 重建UNDO表空间遭遇ORA-01548
- 今天坐车的遭遇
- 今天遇到一个mysql锁表问题
- 修改表空间(修改数据文件的自动扩展性)
- 今天解决一个问题。
- IMPDP 多个表空间对象导入到一个表空间中
- 今天遇到一个问题,将fedora磁盘扩展空间后,启动不成功
- 关于表空间的一个问题
- 项目升级到.NET 3.5,遭遇compilerOptions问题
- 项目升级到.NET 3.5,遭遇compilerOptions问题
- Android startActivityForResult遭遇到onActivityResult方法不响应的问题
- UBI - 扩展性问题
- 今天遇到一个乱码问题
- 今天移动表到另一个表空间出现 :ORA-01502 Index state unusable
- oracle中如何将一个表从一个表空间中移动到另一个表空间
- Java中的SOAP技术
- 编码实现读取文本的方法
- MFC中动态设置组合框的下拉菜单高度
- ADO.NET读书笔记系列之------DataSet对象
- Web Services开发体会和项目教训
- 今天遭遇到一个表空间扩展性问题
- 如何循序渐进向DotNet架构师发展
- 双色相间表格(绝)
- C#操作数据库总结
- asp.net 生命周期中的时间流程(摘自用怪异的眼光去研究blog)
- c语言中的内存对齐
- [JavaScript] 动态生成下拉列表select的选项
- c#编程四个注意
- 凭海临风(杨澜自传·杨澜散文集)(13)