欢迎来到天天文库
浏览记录
ID:18962026
大小:69.50 KB
页数:22页
时间:2018-09-27
《oracle常见错误代码及其解决办法详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、oracle常见错误代码及其解决办法详解 在使用ORACLE的过程过,我们会经常遇到一些ORACLE产生的错误,对于初学者而言,这些错误可能有点模糊,而且可能一时不知怎么去处理产生的这些错误,本人就使用中出现比较频繁的错误代码一一做出分析,希望能够帮助你找到一个合理解决这些错误的方法,同时也希望你能够提出你的不同看法。毕竟作为一种交流的手段,个人意见难免过于偏颇,而且也必定存在着不足,出错之处在所难免。写这篇文章的目的就是想通过相互之间的交流共同促进,共同进步。 ORA-01650:unabletoextendrollbacksegmentNAMEbyNUMintablesp
2、aceNAME 产生原因:上述ORACLE错误为回滚段表空间不足引起的,这也是ORACLE数据管理员最常见的ORACLE错误信息。当用户在做一个非常庞大的数据操作导致现有回滚段的不足,使可分配用的回滚段表空间已满,无法再进行分配,就会出现上述的错误。 解决方式:使用“ALTERTABLESPACEtablespace_nameADDDATAFILEfilenameSIZEsize_of_file”命令向指定的数据增加表空间,根据具体的情况可以增加一个或多个表空间。当然这与还与你主机上的裸盘设备有关,如果你主机的裸盘设备已经没有多余的使用空间,建议你不要轻意的增加回滚段表空间的
3、大小,可使用下列的语句先查询一下剩余的tablespace空间有多少: Selectuser_name,sql_textfromV$open_cursorwhereuser_name=’’; 如果多余的空间比较多,就可以适当追加一个大的回滚段给表空间使用,从而避免上述的错误。你也可以用以下语句来检测一下rollbacksegment的竞争状况: Selectclass,countfromV$waitstatwherecalssin(‘systemundoheader’,’systemundoblock’,’undoheader’,’undoblock’);和 Select
4、sum(value)fromV$sysstatwherenamein(‘db_block_gets’,’consistentsgets’); 如果任何一个classincount/sum(value)大于1%,就应该考虑增加rollbacksegment。 相应的英文如下: Cause:Failedtoallocateextentfromtherollbacksegmentintablespace Action:UsetheALTERTABLESPACEADDDATAFILEstatementtoaddoneormorefilestothespecifiedtablesp
5、ace. ORA-01652:unabletoextendtempsegmentbynumintablespacename 产生原因:ORACLE临时段表空间不足,因为ORACLE总是尽量分配连续空间,一但没有足够的可分配空间或者分配不连续就会出现上述的现象。 解决方法:我们知道由于ORACLE将表空间作为逻辑结构-单元,而表空间的物理结构是数据文件,数据文件在磁盘上物理地创建,表空间的所有对象也存在于磁盘上,为了给表空间增加空间,就必须增加数据文件。先查看一下指定表空间的可用空间,使用视图SYS.DBA_FREE_SPACE,视图中每条记录代表可用空间的碎片大小: SQ
6、L>Selectfile_id,block_id,blocks,bytesfromsys.dba_free_spacewheretablespace_name=’’; 返回的信息可初步确定可用空间的最大块,看一下它是否小于错误信息中提到的尺寸,再查看一下缺省的表空间参数: SQL>SELECTINITIAL_EXTENT,NEXT_EXTENT,MIN_EXTENTS,PCT_INCREASEFROMSYS.DBA_TABLESPACESWHERETABLESPACE_NAME=name; 通过下面的SQL命令修改临时段表空间的缺省存储值: SQL>ALTERTABLES
7、PACEnameDEFAULTSTORAGE(INITIALXXXNEXTYYY); 适当增大缺省值的大小有可能解决出现的错误问题,也可以通过修改用户的临时表空间大小来解决这个问题: SQL>ALTERUSERusernameTEMPORARYTABLESPACEnew_tablespace_name; 使用ALTERTABLESPACE命令,一但完成,所增加的空间就可使用,无需退出数据库或使表空间脱机,但要注意,一旦添加了数据文件,就不能再删除它,若要删除,就要删除表空间
此文档下载收益归作者所有