那位大虾能解决这个问题呢?我给100分!多谢啊! 有几个建议,但是要慎重考虑:1、drop temp表空间及其数据文件并重新建立2、用oem或命令行来shrink temp首先要保证在temp表空间你没有建立表或索引。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先将temp表空间及其数据文件删除,然后CREATE TABLESPACE TEMP DATAFILE 'D:\Oracle\oradata\weldb\temp01.dbf' SIZE 200M 可以限制他的容量 temp表空间作为数据库缺省的临时表空间,是无法直接drop的。必须按如下步骤进行:1.先建立另外一个临时表空间2.修改数据库缺省的临时表空间3.drop temp表空间例子如下:SQL> drop tablespace temp;drop tablespace tempORA-12906: 不能删除默认的临时表空间SQL> create temporary tablespace temp1 tempfile '%oracle_home%\ora902\temp1_0.dbf' size 10m;Tablespace createdSQL> alter tablespace temp1 add tempfile '%oracle_home%\ora902\temp1_1.dbf' size 10m;Tablespace alteredSQL> alter database default temporary tablespace temp1;Database alteredSQL> drop tablespace temp;Tablespace dropped 楼上面的是一种办法:还可以,减小空间的大小sql>alter database datafile 'D:\Oracle\oradata\weldb\TEMP01.DBF' resize 500m;这种方法比较简便。 to lgqducky:临时表空间用的数据文件是tempfile(不同于正常的datafile),对tempfile进行resize是无效的。logfile也是如此。或者你试一试看看是否能成功。 改成alter database tempfile 'D:\Oracle\oradata\weldb\TEMP01.DBF' resize 500m 应该可以 To drabit(square)我日,我太爱你了。困扰我多日的问题竟然解决了。多谢,牛人! To drabit(square)方法我已经试验过了,可以改变临时表空间的大小。可是这样是不是会改变数据库里面的已有数据呢?好像数据库里的有些表数据丢失了。 不会,因为临时表空间是temporary类型,不可能拥有永久段(表、索引等),但是临时表的数据会丢失(不重要吧?)。在有,drop/resize临时表空间的时候,如果表空间拥有永久段,它会提示你要用including contents方式drop. Oracle 多用户共用临时表问题 如何用plsql查询某个store procedure中是否有loop块,并且在loop块中又调用了某个cursor 新手求改错 oracle9i 中blob类型对应的c#类型是什么? 什么时候用jion left 啊。。。。。感觉可以用where in代替阿 关于ORACLE建表的一个小问题,请指教 游标中表名可以用变量吗? 怎么取得最后10条记录 unmber类型的unix时间戳怎么转换成date? 求教大神指点 一致读和当前读 select 语句通配符的奇怪问题 oracle9i的DBA用户名和密码是什么!?
2.修改数据库缺省的临时表空间
3.drop temp表空间例子如下:
SQL> drop tablespace temp;drop tablespace tempORA-12906: 不能删除默认的临时表空间SQL> create temporary tablespace temp1 tempfile '%oracle_home%\ora902\temp1_0.dbf' size 10m;Tablespace created
SQL> alter tablespace temp1 add tempfile '%oracle_home%\ora902\temp1_1.dbf' size 10m;Tablespace alteredSQL> alter database default temporary tablespace temp1;Database alteredSQL> drop tablespace temp;Tablespace dropped
还可以,减小空间的大小sql>alter database datafile 'D:\Oracle\oradata\weldb\TEMP01.DBF' resize 500m;
这种方法比较简便。
我日,我太爱你了。
困扰我多日的问题竟然解决了。多谢,牛人!
方法我已经试验过了,可以改变临时表空间的大小。
可是这样是不是会改变数据库里面的已有数据呢?好像数据库里的有些表数据丢失了。