ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORACLE 临时表空间TEMP 满了怎么办(转)

ORACLE 临时表空间TEMP 满了怎么办(转)

原创 Linux操作系统 作者:jcszjswkzhou 时间:2019-05-09 16:30:04 0 删除 编辑
ORACLE 临时表空间TEMP 满了怎么办?,sql,sql教程,Oracle基础

最近遇到这样一个问题:前一段时间网页查询ORACLE表正常可最近一直页面无法显示打印出SQL放到PL/SQL Devoloper 执行报“无法通过8(在表空间XXX中)扩展 temp 段”还有一个页面可以查询出记录但无法统计数据!
经过分析产生原因可能是:ORACLE临时段表空间不足因为ORACLE总是尽量分配连续空间一但没有足够的可分配空间或者分配不连续就会出现上述的现象

  解决方法:知道由于ORACLE将表空间作为逻辑结构-单元而表空间的物理结构是数据文件数据文件在磁盘上物理地创建表空间的所有对象也存在于磁盘上为了给表空间增加空间就必须增加数据文件先查看一下指定表空间的可用空间使用视图SYS.DBA_FREE_SPACE视图中每条记录代表可用空间的碎片大?a href="http://www.learners.cn" target="_blank">。?nbsp;

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

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

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

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

SQL>ALTER TABLESPACE name DEFAULT STORAGE (INITIAL 64K NEXT 64K);

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

SQL>ALTER USER username TEMPORARY TABLESPACE new_tablespace_name;

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

不喜欢用命令的朋友也可以通过ORACLE工具 DBA STUDIO 找到出问题库的表空间具体位置在“存储”->“表空间”->”XXX”,右拦“一般信息”可以看到数据文件使用情况选择存储可适当修改“初使大小”和“下一个大小”问题可能会解决然后选种“XXX”点鼠标右键选择“添加数据文件”适当修改“一般信息”的“文件大小”和“存储”的“数据文件已满后自动扩展”的“增量”大小问题也可以解决!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-122221/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-08-29

  • 博文量
    3488
  • 访问量
    2621571