您的位置:首页 > 数据库 > Oracle

oracle还原报ora-01654错误(表空间大小过小)

2012-11-07 23:17 633 查看


ORA-39171: 作业出现可恢复的等待。

ORA-01654: 索引 CAWY_CAS.S419$_IX1 无法通过 128 (在表空间 SDE 中) 扩展

此类错误多是由于表空间过小造成报错,修改表空间大小即可恢复正常导入

解决办法如下:

1:通过oem修改表空间大小

2:增加对应表空间数据文件:

altertablespace sde
adddatafile'D:\oracle\product\10.2.0\oradata\nj/sde2.dbf'size1000m;

3:修改表空间大小,直接更改数据库大小(RESIZE 5000M表示将整个数据文件改为5G大小)

ALTERDATABASEDATAFILE'D:\oracle\product\10.2.0\oradata\nj/sde.dbf'RESIZE5000M;

4:设置表空间自增长大小及最大值

alter database datafile 'd:\oracle\product\10.2.0\oradata\test1\test6k.dbf' autoextend on next 50m maxsize 200m

(autoextend子句自动扩展的意思。空间不够时。自动增加。

NEXT是下一个区的大小,

由于接下来的每个区是递增的。所以maxsize规定一个最大值)

5:查询表空间使用情况:

(1)SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,

(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"

FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C

WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;

(2)selectupper(f.tablespace_name)
"表空间名",
d.tot_grootte_mb "表空间小(M)",
d.tot_grootte_mb
- f.total_bytes "已使用空间(M)",
to_char(round((d.tot_grootte_mb
- f.total_bytes)/d.tot_grootte_mb*100,2),'990.99')||'%'
"使用比",
f.total_bytes "空闲空间(M)",
f.max_bytes "最快(M)"
from(select
tablespace_name,round(sum(bytes)/(1024*1024),2)
total_bytes,
round(max(bytes)/(1024*1024),2)
max_bytes

from sys.dba_free_space

groupby tablespace_name)
f,

(select dd.tablespace_name,round(sum(dd.bytes)/(1024*1024),2)
tot_grootte_mb
from sys.dba_data_files dd

groupby dd.tablespace_name)
d
where d.tablespace_name=f.tablespace_name
orderby1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐