Oracle 的 ORA-01653 错误解决办法 表空间问题

解决方式:
1.开启表空间扩展功能;

2.增大表空间的空间;

3.为表空间加数据文件;


----查询表空间使用情况---

SELECT UPPER(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
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 DESC;


--查看表空间是否具有自动扩展的能力  
SELECT T.TABLESPACE_NAME,D.FILE_NAME,D.AUTOEXTENSIBLE,D.BYTES,D.MAXBYTES,D.STATUS  
FROM DBA_TABLESPACES T,DBA_DATA_FILES D  
WHERE T.TABLESPACE_NAME =D.TABLESPACE_NAME  

ORDER BY TABLESPACE_NAME,FILE_NAME; 


--修改表空间文件扩展方式:  
   ALTER DATABASE  
    DATAFILE '/u01/oracle/oradata/orcl/ccen01.dbf' AUTOEXTEND  
    ON NEXT 50M MAXSIZE UNLIMITED  


软件环境:
1、Windows NT4.0+ORACLE 8.0.4
2、ORACLE安装路径为:C:\ORANT

实现方法:

可以用以下两种方法:

1、为这个表空间增加一个数据文件
SQL> alter tablespace 表空间名 add datafile '/u1/oradata/userdata_002.ora' size 50m;  --Unix中
SQL> alter tablespace 表空间名 add datafile 'c:\oradata\userdata_002.ora' size 50m;   --Windows NT中

2、重新调整数据文件的大小
SQL> alter database datafile '/u1/oradata/userdata_001.ora' resize 50M;  --Unix中
SQL> alter database datafile 'c:\oradata\userdata_002.ora' resize 50M;  --Windows NT中


select
  a.a1 表空间名称,
  c.c2 类型,
  c.c3 区管理,
    b.b2/1024/1024 表空间大小M,
  (b.b2-a.a2)/1024/1024 已使用M,
  substr((b.b2-a.a2)/b.b2*100,1,5) 利用率
  from
  (select tablespace_name a1,sum(nvl(bytes,0)) a2 from dba_free_space group by tablespace_name) a,
  (select tablespace_name b1,sum(bytes) b2 from dba_data_files group by tablespace_name) b,
  (select tablespace_name c1,contents c2,extent_management c3 from dba_tablespaces) c
  where a.a1=b.b1 and c.c1=b.b1;

select
  b.file_name 物理文件名,
  b.tablespace_name 表空间,
  b.bytes/1024/1024 大小M,
  (b.bytes-sum(nvl(a.bytes,0)))/1024/1024 已使用M,
  substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) 利用率
  from dba_free_space a,dba_data_files b
  where a.file_id=b.file_id
  group by b.tablespace_name,b.file_name,b.bytes
  order by b.tablespace_name;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值