今天是:
首 页信息查询网站SEO查询工具CSS编辑器建站素材
网海拾贝,电脑资讯,电脑快报,it资讯,网站建设资讯,教程基地
软件新闻
操作系统
Vista Winxp Win2003 Linux Windows综合
工具软件
系统工具 媒体工具 网络工具 杀毒软件 聊天
软件开发
C教程 C++ Java C# ASP.NET JSP PHP
数据库
Oracle MySQL DB2 SQL Server Sybase
安全
网络 病毒
办公应用
Word Excel Powerpoint Outlook 其他
平面设计
Photoshop Fireworks Coreldraw Flash Illustrator 3dsmax
网站运营
网站运营 网站优化 网站策划 策划书下载 建站心得 站长故事 网站盈利 网页制作 网页特效 建站素材 免费资源 QQ频道
  当前位置:首 页 >> 数据库栏 >> Oracle >> 讲解Oracle操作中常见的错误及解决方法

讲解Oracle操作中常见的错误及解决方法

  发布于2007-12-18 08:45 来源:网海拾贝

1.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。

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;



中查找“讲解Oracle操作中常见的错误及解决方法”更多相关内容

中查找“讲解Oracle操作中常见的错误及解决方法”更多相关内容



上一篇:如何使用utl_smtp从Oracle中发送电子邮件
下一篇:Oracle数据库中sequence的用法
最近更新 赞助商
·Oracle 11g R1中的自动数据库维护任务管理11-12
·教你怎样在Oracle数据库中高速导出/导入10-29
·解读ORACLE数据库的统一命名与编码规范10-20
·解读Oracle11g在商业银行的三大应用亮点10-15
·Oracle新手最常碰到的6个错误及解决方案10-13
·调用Oracle数据库中的存储过程需要两步走10-13
·Oracle数据库重复数据删除的三种情况09-18
·Oracle 10g实用程序trcsess:跟踪sql语句09-18
·诊断数据库系统性能 Oracle中跟踪sql语句09-11
·数据库基础:Oracle数据库中时间问题比较09-11
·教你删除Oracle数据库中重复没用的数据09-10

共有评论 0 条 网友评分 0分 查看所有评论


发表评论→ 学而不思则罔,思而不学则殆,请大胆发表你的见解。

输验证码:

您对此篇文章的评分:1分 2分 3分 4分 5分

  • 站内搜索
关键词

搜索方式

搜索范围

精确匹配
Baidu
网站首页 - 关于本站 - 网站地图 - 广告合作 - 站点声明 - RSS订阅 - 联系我们
Copyright © 2005 网海拾贝.[新ICP备05003216号]. All Rights Reserved .