当前位置:  数据库>oracle

ORACLE常见错误代码的分析与解决(一)

    来源: 互联网  发布时间:2014-09-07

    本文导语:  正在看的ORACLE教程是:ORACLE常见错误代码的分析与解决(一)。 在使用ORACLE的过程过,我们会经常遇到一些ORACLE产生的错误,对于初学者而言...

正在看的ORACLE教程是:ORACLE常见错误代码的分析与解决(一)。 在使用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 where calss in(‘system undo header','system undo block','undo
header','undo block');和

Select sum(value) 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,视图中每条记录代表可用空间的碎片大小:

SQL>Select file_id,block_id,blocks,bytes from sys.dba_free_space where tablespace_name='';

返回的信息可初步确定可用空间的最大块,看一下它是否小于错误信息中提到的尺寸,再查看一下缺省的表空间参
数:

SQL>SELECT INITIAL_EXTENT,NEXT_EXTENT,MIN_EXTENTS,PCT_INCREASE FROM SYS.DBA_TABLESPACES WHERE
TABLESPACE_NAME=name;

通过下面的SQL命令修改临时段表空间的缺省存储值:

SQL>ALTER TABLESPACE name DEFAULT STORAGE (INITIAL XXX NEXT YYY);

适当增大缺省值的大小有可能解决出现的错误问题,也可以通过修改用户的临时表空间大小来解决这个问题:

SQL>ALTER USER username TEMPORARY TABLESPACE new_tablespace_name;

使用ALTER TABLESPACE命令,一但完成,所增加的空间就可使用,无需退出数据库或使表空间脱机,但要注意,一旦添加
了数据文件,就不能再删除它,若要删除,就要删除表空间。

一个报错例子如下:

ORA-1652:unable to extend temp segment by 207381 in tablespace TEMPSPACE

相应的英文如下:

Cause: Failed to allocate extent for temp segment in tablespace

Action:Use the ALTER TABLESPACE ADD DATAFILE statement to add one or more files to the specified
tablespace or create the object in another tablespace.


    
 
 

您可能感兴趣的文章:

  • 最常见的问题:哪里有Oracle7.3 for sco5.0.5的下载?
  • Oracle 10G安装中一些常见问题解决
  • Oracle插入日期数据常见的2个问题和解决方法
  • Oracle Index 的三个常见问题
  • ORACLE数据库应用开发常见问题及排除
  • Linux下Oracle常见安装错误总结及参考案例
  • Oracle常见错误诊断
  • oracle代码的常见错误汇总
  • Windows Oracle常见服务介绍
  • 常见数据库系统比较 Oracle数据库
  • ORACLE常见错误代码的分析与解决二
  • Oracle数据库常见技术问题解答篇
  • ORACLE常见错误代码的分析与解决(二)
  • Oracle数据库TNS常见错误的解决方法汇总
  • ORACLE常见错误代码的分析与解决三
  • ORACLE常见错误代码的分析与解决(三)
  • Oracle常见错误代码的分析与解决
  • JDBC连接Oracle数据库常见问题及解决方法
  • oracle 常见等待事件及处理方法
  • Oracle中常见的33个等待事件小结
  • 安装Oracle加载数据库错误areasQueries的解决
  • 我在安装oracle的时候出现了这个错误,请懂行人赐教~~附图!~~
  • 记录Linux下一次oracle启动错误
  • shell如何获取oracle错误码 在线等
  • Linux系统下安装Oracle X11错误解决办法
  • 求助前辈们:solaris 10 x86 安装oracle 10g 错误
  • 有 ORACLE 错误码文档吗? 谢谢大家!
  • Eclipse连接Oracle数据库的ORA-00604 ORA-12705错误
  • ORACLE安装时/tmp/orainstRoot.sh 执行发生错误
  • 关于提高Oracle数据库性能的四个错误认识
  • C++使用OCCI连Oracle10g的错误
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • oracle 创建表空间步骤代码
  • 请问在 Linux 下如何用代码实现连接oracle数据库 并 执行 SQL 语句?
  • Oracle E-Business套件多个认证绕过及代码注入漏洞
  • Linux下Oracle归档日志自动清理脚本代码(sh)
  • ProC 连接Oracle代码
  • oracle查看会话锁定的所有对象代码分享
  • Oracle SQL中实现indexOf和lastIndexOf功能的思路及代码
  • 怎样在c语言的代码里内嵌的操作oracle数据库,各位大虾谢谢了
  • Linux oracle数据库自动备份自动压缩脚本代码
  • linux下用什么办法连接oracle数据库并且读取数据呢?(用c++代码实现时)
  • oracle命令行删除与创建用户的代码
  • oracle下实现恢复一个丢失的数据文件的代码
  • 谁有oracle存储过程的原代码?谢谢!
  • Java 获得Oracle 的错误代码
  • 那位兄弟给段代码:连接Oracle数据库的。
  • php连接oracle数据库的示例代码
  • Oracle向Linux kernel加入数据完整性代码
  • 在oracle下要在同一事务下插入多条记录,该怎么做??最好要有原代码
  • Oracle 外连接实现代码
  • Oracle跨数据库查询并插入实现原理及代码
  • Linux下Oracle常见安装错误总结及参考案例 iis7站长之家
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3