解决方案 »
- 怎样查询相同时间段内价格最大的记录
- dbms output 无法输出
- oracle数据库同步
- 关于oracle的高级复制问题
- 为什么取得游标的值的时候最后一项重复了,高手指点
- ora-3113的错误。谁知道怎样解决,或者从哪里开始入手分析。
- 有点奇怪的Oracle性能问题
- 如何把表A的字段A_ID替换成001,002,003,004,005,....有序的自动增加1的数据?(初学),
- 在sqlplus里调用调试存储过程的语法怎么写?
- Oralce11g net configuration assistant
- CONNECT,SESSION,PROCESS 差異?
- UNIX机器上安装Oracle 12c 报错“Failed to access the temporary location.”
参考http://www.cnblogs.com/HondaHsu/archive/2012/07/16/2593916.html
而临时表空间不能扩展或者达到峰值,所以报这个错误。
解决办法,扩容临时表空间,这个官方文档直接就提到了。可以采用简单
的alter tablespace temp add tempfile 'xx' size xxM;
或者如果经常出现这种情况,适当调整pga大小
我在网上看到,有这样的解决方法,不知道是什么意思,影响有多大呢,具体方法:1、select ts#, name from sys.ts$ ; 2、alter session set events 'immediate trace name DROP_SEGMENTS level 4' ; 说明:
temp表空间的TS# 为 3*, So TS#+ 1= 4。不知道能否详细解决解释一下呢
你下面写的句子是修改扩展参数的,修改后每次扩展值不一样,但是如果无法扩展,这样也不行的。
不过你上面写的建临时表不错,可以把一些大表的连接分步骤进行操作,建一些临时表。
现在把过程改了,建了中间表,过程正常跑没问题了,但是有个问题,我没想明白,还是要请教下。首先,我先把过程大概说下,从数据仓库抽数据插入到ADB(另外一个库)的一张表里,sql非常简单,而且也优化过了,数据仓库的四张表数据量基本都在。问题就是从数据仓库抽数据,这些数据不是应该先放到ADB的temp表空间里么,为啥会因为数据仓库temp表空间紧张造成这样的问题出现呢?难道是先放到数据仓库的temp表空间里,再抽到ADB的temp表空间里进行插入么?
你用四张表生成一张表,这四张表肯定进行大表连接等动作,
这些动作产生的排序等操作在原库即你的数据仓库库里面完成,然后插入新库即你的ADB库。
这中间的排序等占用pga的动作,因为太大pga装不下,所以在临时表空间temp中完成,而
temp表空间无法扩展,这就导致四表操作无法继续,就报错。
误区:数据是放在永久表空间,不可能存放在临时表空间中的,临时表空间只是进行排序等临时性操作,没有存放数据。