Oracle常见错误代码的分析与解决.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle 常见错误代码的分析与解决 作者:chensheng 发文时间:2005.06.15 在使用 ORACLE 的过程中,我们会经常遇到一些ORACLE 产生的错误,对于初学者而言,这些错误可能有点模糊,而且可能一时不知怎么去处理产生的这些错误, 本人就使用中出现比较频繁的错误代码一一做出分析,希望能够帮助你找到一个合理解决这些错误的方法,同时也希望你能够提出你的不同看法。毕竟作为一种交流的手段,个人意见难免过于偏颇,而且也必定存在着不足,出错之处在所难免。写这篇文章的目的就是想通过相互之间的交流共同促进,共同进步。 ORA-01650: unable to extend rollback segment NAME by NUM intablespace NAME 产生原因:上述ORACLE 错误为回滚段表空间不足引起的,这也是ORACLE 数据管理员最常见的ORACLE 错误信息。当用户在做一个非常庞大的数据操作导致现有回滚段的不足,使可分配用的回滚段表空间已满,无法再进行分配,就会出现上述的错误。 解决方法:使用“ALTER TABLESPACE tablespace_name ADD DATAFILE filename SIZE size_of_file”命令向指定的数据增加表空间,根据具体情况可以增加一个或多个表空间。当然这与还与你主机上的裸盘设备有关,如果你主机的裸盘设备已经没有多余的使用空间,建议你不要轻意增加回滚段表空间的大小,可使用下列语句先查询一下剩余的 tablespace 空间有多少: select user_name,sql_text from V$open_cursor where user_name=; 如果多余的空间比较多,就可以适当追加一个大的回滚段给表空间使用,从而避免上述的错误。你也可以用以下语句来检测一下rollback segment的竞争状况: Select class, count from V$waitstat Select class, count from V$waitstat where calss in(system undo header, system undo block, undo header, undo block); 和 select sum(value) select sum(value) from V$sysstat from V$sysstat where name in (db_block_gets, consistents gets); 如果任何一个class in count/sum(value)大于 1%,就应该考虑增加rollback segment。相应的英文如下: Cause: Failed to allocate extent from the rollback segment in tablespace. Action: Use the ALTER TABLESPACE ADD DATAFILE statement to add one or more files to the specified tablespace. ORA-01652: unable to extend temp segment by num in tablespace name. 产生原因:Oracle 临时段表空间不足,因为Oracle 总是尽量分配连续空间,一但没有足够的可分配空间或者分配不连续就会出现上述的现象。 解决方法:我们知道由于Oracle 将表空间作为逻辑结构——单元,而表空间的物理结构是数据文件,数据文件在磁盘上物理地创建,表空间的所有对象也存在于磁盘上,为了给表空间增加空间,就必须增加数据文件。先查看一下指定表空间的可用空间,使用视图SYS.DBA_FREE_SPACE,视图中每条记录代表可用空间的碎片大小: SQLselect file_id, block_id, blocks, bytes from sys.dba_free_space SQLselect file_id, block_id, blocks, bytes from sys.dba_free_space where tablespace_name=users; 返回的信息可初步确定可用空间的最大块,看一下它是否小于错误信息中提到的尺寸,再查看一下缺省的表空间参数: SQLSELECT INITIAL_EXTENT, NEXT_EXTENT, MIN_EXTENTS, PCT_INCREASE SQLSELECT INITIAL_EXTENT, NEXT_EXTENT, MIN_EXTENTS, PCT_INCREASE FROM SYS.DBA_TABLESPACE

文档评论(0)

mph + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体上海谭台科技有限公司
IP属地湖北
统一社会信用代码/组织机构代码
91310115MA7CY11Y3K

1亿VIP精品文档

相关文档