異常:oracle操作,空間不足

發生異常:oracle空間不足
 [app] [QuartzScheduler_Worker-8] 2014-10-08 10:34:05,375 ERROR - {com.jsits.commons.util.ServiceException: sql.addGps
at com.jsits.commons.util.DbUtil.executeBatchByKey(DbUtil.java:53)
at com.jsits.taxi.dao.TaxiInfoDao.addGps(TaxiInfoDao.java:220)
at com.jsits.taxi.service.TaxiGpsService.insertGpsToDB(TaxiGpsService.java:132)
at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:273)
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:264)
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
Caused by: java.sql.BatchUpdateException: ORA-01653: 表LYZHJT.TAXI_GPS無法通過8192(在表空間USERS中)擴展
ORA-27059: skgfrsz: 無法減少文件大小
OSD-04005: SetFilePointer() 失敗, 無法讀取文件
O/S-Error: (OS 112) 磁盤空間不足。


at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:342)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10656)
at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
at com.jsits.commons.db.JdbcTemplate$5.doWithConnection(JdbcTemplate.java:509)
at com.jsits.commons.db.JdbcTemplate$5.doWithConnection(JdbcTemplate.java:1)
at com.jsits.commons.db.JdbcTemplate.executeWithTransaction(JdbcTemplate.java:155)
at com.jsits.commons.db.JdbcTemplate.execute(JdbcTemplate.java:116)
at com.jsits.commons.db.JdbcTemplate.executeBatch(JdbcTemplate.java:478)
at com.jsits.commons.util.DbUtil.executeBatchByKey(DbUtil.java:49)
... 10 more
}(LogUtil.java.error:15)


重建索引:
alter index TAXI_GPS_INDEX rebuild online;


查詢表空間使用大小:
select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used" 
from 
(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a, 
(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b 
where a.tablespace_name=b.tablespace_name 
order by ((a.bytes-b.bytes)/a.bytes) desc


查詢表空間位置:
select * from dba_data_files;


重新分配表空間大小:
alter database datafile 'D:\ORACLE\ORADATA\ETL\USERS01.DBF' resize 4000m;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章