insert into cat_tran_histories
*
ERROR at line 1:
ORA-01653: unable to extend table CAT_TRAN_HISTORIES by 8497 in
tablespace DAT简单的insert 语句,直接在DB可以操作,在程序中执行就出这错?怎么解决?谢谢
*
ERROR at line 1:
ORA-01653: unable to extend table CAT_TRAN_HISTORIES by 8497 in
tablespace DAT简单的insert 语句,直接在DB可以操作,在程序中执行就出这错?怎么解决?谢谢
表空间DAT 扩展失败.......使用“ALTER TABLESPACE ADD DATAFILE”命令增加文件系统文件和原始分区,或者增加INITIAL的大小(如:alter tablespace CDRS101 default storage(next 500M pctincrease 1))应该能够解决,否则就是有人使用你的表空间上创建了一个比较大的数据文件导致你的表空间不够用。
如果把那个sql 语句放在shell script 中之行,就出现这个问题,但也不是每次都出现,这是唯一的一次如果是表空间不够,会突然不够么?什么情况下会不够呢?我的语句很简单,就是
insert into tableA select * from table B ,一共才60个纪录。
而且在做这个的同时,数据库应该没有别人或者别的程序在用。主要是想知道原因,谢谢!!
COLUMN "Tablespace" format a13
COLUMN "Used MB" format 99,999,999
COLUMN "Free MB" format 99,999,999
COLUMN "Total MB" format 99,999,999SELECT fs.tablespace_name "Tablespace",
(df.totalspace - fs.freespace) "Used MB",
fs.freespace "Free MB",
df.totalspace "Total MB",
ROUND (100 * (fs.freespace / df.totalspace)) "Pct. Free"
FROM (SELECT tablespace_name, ROUND (SUM (BYTES) / 1024 / 1024)
totalspace
FROM dba_data_files
GROUP BY tablespace_name) df,
(SELECT tablespace_name, ROUND (SUM (BYTES) / 1024 / 1024) freespace
FROM dba_free_space
GROUP BY tablespace_name) fs
WHERE df.tablespace_name = fs.tablespace_name
AND fs.tablespace_name='DAT';
dba_free_space 这都是什么表?是DBA 自己命名的吗?
好像俺的DB没有这两个,还是因为俺的权限不够 看不到?俺不是DBA,今天DBA又不在,如果说每个DB都有类似dba_data_files
dba_free_space,该怎么查看在我的DB里他们的名字大概是什么呢?需要什么权限? 谢谢
另外这个查看应该是程序运行当时的情况把,过后看到的情况已经和当时不同了吧?
SQL>alter tablespace ts1 add datafile '' .....;
2.设置datafile autoextend on
SQL>alter database datafile 3 autoextend on;3. resize datafile 不推荐
SQL>alter database datafile 3 resize 1000M;