ORACLE 临时表空间TEMP 满了怎么办?

 我来答
言子o厰
2012-11-03
知道答主
回答量:21
采纳率:0%
帮助的人:25.9万
展开全部
打印出SQL放到PL/SQL Devoloper 执行,报“无法通过8(在表空间XXX中)扩展 temp 段”,还有一个页面,可以查询出记录,但无法统计数据!
经过分析产生原因可能是:ORACLE临时段表空间不足,因为ORACLE总是尽量分配连续空间,一但没有足够的可分配空间或者分配不连续就会出现上述的现象。
解决方法:知道由于ORACLE将表空间作为逻辑结构-单元,而表空间的物理结构是数据文件,数据文件在磁盘上物理地创建,表空间的所有对象也存在于磁盘上,为了给表空间增加空间,就必须增加数据文件。先查看一下指定表空间的可用空间,使用视图SYS.DBA_FREE_SPACE,视图中每条记录代表可用空间的碎片大小:
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”点鼠标右键,选择“添加数据文件”,适当修改“一般信息”的“文件大小”和“存储”的“数据文件已满后自动扩展”的“增量”大小,问题也可以解决!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式