oracle users02.dbf,ORACLE表空间文件达到满值

该篇文章大部分就抄录网上博客,具体出处已忘,但是实测可以解决该问题

操作数据库出现错误,ORA-00604: 8192

解释说明:

由于Oracle的Rowid使用22位来代表数据块号,因此Oracle表空间数据文件每个数据文件最多只能包含2^22个数据块。

也因此数据库表空间的数据文件不是无限增长的,例如:

在数据块为8k的情况下,单个数据文件的最大容量为8K*2^22 = 32G

同理,

数据块为2K,数据文件最大约8G

数据块为32,数据文件最大约16*8G

故若达到这个最大容量之后,则即便是设置了自增长,也不是无限自增长,此时则需要为这个表空间添加数据文件

处理步骤:

1、连上数据库后查看表空间情况

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 (SELECTTABLESPACE_NAME,ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTESFROMSYS.DBA_FREE_SPACEGROUP BYTABLESPACE_NAME) F,

(SELECTDD.TABLESPACE_NAME,ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MBFROMSYS.DBA_DATA_FILES DDGROUP BYDD.TABLESPACE_NAME) DWHERE D.TABLESPACE_NAME =F.TABLESPACE_NAMEORDER BY 4 DESC;

387eed837722e9d73a73224fa059981c.png

2. SYSTEM表空间不足,查看表空间文件名称和是否自动增长

SELECT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE FROM dba_data_files;

b75f9252d68442136f7d8a9f152b693f.png

3、当表空间不足时

扩展表空间

当表空间文件本身较小时,可以选择扩大表空间文件的大小,sql语句:

alter database datafile ‘D:\ORACLE\PRODUCT\ORADATA\TEST\USERS01.DBF‘ resize 50m;

设置文件的自动增长

首先选择设置自增长,sql语句:

ALTER DATABASE DATAFILE ‘E:\APP\ZHUANGB1\ORADATA\WHU\USERS01.DBF‘ AUTOEXTEND ON NEXT 400M MAXSIZE UNLIMITED;

增加数据文件

在自增长失灵了之后,需要增加数据文件,sql语句:

Alter tablespace 表空间名 add datafile ‘数据文件存放的路径’ size 数据文件大小M autoextend on next 每次自增长大小M Maxsize UNLIMITED;

示例:

alter tablespace USER add datafile ‘E:\app\EmmaXu\product\11.1.0\db_1\database\SDE_1.dbf‘ size 400M autoextend off

4、 删除表空间文件

有时表空间文件添加错误,需要删除重新添加,sql语句:

alter tablespace WEBS_TABLESPACE drop datafile ‘F:\temp\USERS02.DBF‘;

原文:https://www.cnblogs.com/gangbalei/p/10488777.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值