RESIZE DATAFILE与ORA-03297
但是有时候明明表是空的,但是却还是占据了很大的空间。这时候就需要我们降低表的高水位线,使得表所使用的段变小,释放多余空间。然后通过resize改变数据文件大小。已达到释放操作系统空间的作用。
实验一:
降低高水位线(truncate方式)缩小数据文件大小
- --创建一个表空间并指定对应的数据文件
- VAST@prod > create tablespace vdedutbs datafile '/u01/app/oracle/oradata/prod/vdedutbs01.dbf' size 10M autoextend on;
- Tablespace created.
- --在这个表空间上创建一张大表
- VAST@prod > create table ote tablespace vdedutbs as select * from dba_objects;
- Table created.
- --再次插入数据,将表变的更大一些
- VAST@prod > insert into ote select * from ote;
- 75354 rows created
- VAST@prod > commit;
- Commit complete.
- --查看此时数据文件大小
- VAST@prod > set line 200
- VAST@prod > col file_name for a50
- VAST@prod > select file_id,
- 2 file_name,
- 3 tablespace_name,
- 4 autoextensible,
- 5 bytes / 1048576 total,
- 6 user_bytes / 1048576 used,
- 7 online_status
- 8 from dba_data_files
- 9 where tablespace_name = 'VDEDUTBS';
- FILE_ID FILE_NAME TABLESPACE_NAME AUT TOTAL USED ONLINE_
- ---------- -------------------------------------------------- ------------------------------ --- ---------- ---------- -------
- 7 /u01/app/oracle/oradata/prod/vdedutbs01.dbf VDEDUTBS YES 19 18 ONLINE
- --查看表空间上的各个段
- VAST@prod > col segment_name for a10
- VAST@prod > select owner, segment_name, segment_type, tablespace_name, bytes / 1048576
- 2 from dba_segments
- 3 where tablespace_name = 'VDEDUTBS';
- OWNER SEGMENT_NA SEGMENT_TYPE TABLESPACE_NAME BYTES/1048576
- ------------------------------ ---------- ------------------ ------------------------------ -------------
- VAST OTE TABLE VDEDUTBS 18
- --降低高水位线
- VAST@prod > truncate table ote;
- Table truncated.
- --查看表空间上的各个段
- VAST@prod > select owner, segment_name, segment_type, tablespace_name, bytes / 1048576
- 2 from dba_segments
- 3 where tablespace_name = 'VDEDUTBS';
- OWNER SEGMENT_NA SEGMENT_TYPE TABLESPACE_NAME BYTES/1048576
- ------------------------------ ---------- ------------------ ------------------------------ -------------
- VAST OTE TABLE VDEDUTBS .0625
- --resize数据文件
- VAST@prod > alter database datafile '/u01/app/oracle/oradata/prod/vdedutbs01.dbf' resize 10M;
- Database altered.
- --查看此时数据文件大小
- VAST@prod > select file_id,
- 2 file_name,
- 3 tablespace_name,
- 4 autoextensible,
- 5 bytes / 1048576 total,
- 6 user_bytes / 1048576 used,
- 7 online_status
- 8 from dba_data_files
- 9 where tablespace_name = 'VDEDUTBS';
- FILE_ID FILE_NAME TABLESPACE_NAME AUT TOTAL USED ONLINE_
- ---------- -------------------------------------------------- ------------------------------ --- ---------- ---------- -------
- 7 /u01/app/oracle/oradata/prod/vdedutbs01.dbf VDEDUTBS YES 10 9 ONLINE
前几天出现这么一个情况,想讲一个空的数据文件的大小减小一部分,查询表空间的使用率以及表空间下是否有表的存在,发现都没有。但是却一直报ORA-03297错误
实验二:
- --表空间使用率
- set line 200
- select total.tablespace_name,
- round(total.MB, 2) as Total_MB,
- round(total.MB - free.MB, 2) as Used_MB,
- round((1 - free.MB / total.MB) * 100, 2) || '%' as Used_Pct from
- (select tablespace_name,sum(bytes) / 1024 / 1024 as MB from dba_free_space group by tablespace_name) free,
- (select tablespace_name,sum(bytes) / 1024 / 1024 as MB from dba_data_files group by tablespace_name) total
- where free.tablespace_name = total.tablespace_name order by used_pct desc;
- TABLESPACE_NAME TOTAL_MB USED_MB USED_PCT
- ------------------------------ ---------- ---------- ----------
- SYSTEM 720 717.69 99.68%
- SYSAUX 620 580.13 93.57%
- EXAMPLE 345.63 310.13 89.73%
- VASTTBS 421.81 227.56 53.95%
- UNDOTBS1 105 50.44 48.04%
- USERS 196.25 4.5 2.29%
- VDEDUTBS 10 1 10%
- --修改文件大小为5M
- VAST@prod > alter database datafile '/u01/app/oracle/oradata/prod/vdedutbs01.dbf' resize 5M;
- alter database datafile '/u01/app/oracle/oradata/prod/vdedutbs01.dbf' resize 5M
- *
- ERROR at line 1:
- ORA-03297: file contains used data beyond requested RESIZE value
- --查看VEDUDTBS下有哪些表
- VAST@prod > select * from dba_tables where tablespace_name='VDEDUTBS';
- no rows selected
- 明明修改的大小小于使用大小,且表空间下无表的存在为什么不能缩小数据文件呢
- --查看表空间上的各个段
- VAST@prod > col segment_name for a30
- VAST@prod > /
- OWNER SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME BYTES/1048576
- ------------------------------ ------------------------------ ------------------ ------------------------------ -------------
- VAST BIN$RpdF3cZzdTTgU2VQqMBzGg==$0 TABLE VDEDUTBS 9
- 这时查看段发现,在这个表空间内存在着一个被删除的表
- --查看回收站
- VAST@prod > show recyclebin;
- ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
- ---------------- ------------------------------ ------------ -------------------
- OTE BIN$RpdF3cZzdTTgU2VQqMBzGg==$0 TABLE 2017-01-21:16:13:00
- 此表已经不再使用,将他从回收站中清除干净
- VAST@prod > purge table ote;
- Table purged.
- --修改文件大小为5M
- VAST@prod > alter database datafile '/u01/app/oracle/oradata/prod/vdedutbs01.dbf' resize 5M;
- Database altered.
- 修改成功
- 原来是由于之前将一个表删除,但是没有真的被删除,而是被放在的回收站中。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30820196/viewspace-2132782/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30820196/viewspace-2132782/
RESIZE DATAFILE与ORA-03297相关推荐
- Resize Datafile时ORA-03297: 文件包含在请求的 RESIZE 值以外使用的数据
前些天做测试,为了图方便,在sys用户下建立了一张大表,插入的数据大概几亿条,导致system空间增长了30G左右,后面想删除数据,缩小system空间,因此truncate table,后面又dro ...
- oracle resize datafile,用resize缩小datafile大小
以下是一个缩小datafile大小的例子> pwd /opt/oracle/oradata/irdex > ll total 65021612 drwxr-xr-x 2 oracle o ...
- alter database datafile resize(+释放空间)
RESIZE DATAFILE的时候会失败,因为一些OBJECT的EXTENTS已经扩展到DATAFILE的边缘(最大的地方). 下面的SQL可以让我们找到前5个最边缘的OBJECT select ...
- oracle resize什么意思,Oracle调整表空间大小resize
SQL> ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\ICAPP\IC_DATA6.ORA' RESIZE 300m; ALTER DATABASE D ...
- 对图像数据最主要的预处理: Resize
简 介: 对于图像进行预处理,对于训练视觉深度网络非常重要.可以借助于OpenCV中的相关的函数,或者Paddle中的对于图像预处理的函数完成.本文验证了对于旋转数字进行Resize的方法. 关键词: ...
- ORA_ERROR大全
常见错误: -60 ORA00060: deadlock detected while waiting for resource 一般错误: - 1 ORA00001: unique constr ...
- ORACLE ERROR大全
ORA_ERROR大全 1 ORA00001: unique constraint (.) violated -17 ORA00017: session requested to set trace ...
- 达梦数据库DCA培训课程笔记
说明:本笔记根据达梦培训课程整理,笔记内容仅供交流和参考,如内容有误请指正:如侵权,请联系本人处理,谢谢! ps:如果需要视频录播的话,可以私信我哈 一.达梦数据库安装 查看cpu:lscpu或者ca ...
- 如何提高ORACLE数据库的查询统计速度
2019独角兽企业重金招聘Python工程师标准>>> 我们在开发大型oracle数据库系统时结合项目的特点,本着安全.高效的原则对数据库进行了一些物理设计,从而大大提高了数据库的查 ...
最新文章
- 寻找兄弟单词(2012.5.6百度实习)
- WiFi攻击中的“核武器”长啥样?来,今天咱们开开眼...
- 基于深度学习的目标检测技术演进:从目标检测到人脸检测
- word修改一处另一处自动修改_这么做让word自动记录修改明细,再也不用一个字一个字的核对了...
- 【东软实训】SQL函数
- nodejs libararies
- 仿iOS Segmented Control样式
- did拼接屏最小拼缝0.88mm
- 提高排名的 15 个基本 SEO 技巧
- J.J. Abrams的神秘电影 amp; 一个解谜网站
- 傻白入门芯片设计,先进封装技术(五)
- matlab自带的神经网络例子,MATLAB-network m
- 2011大学英语四级核心高频词汇表免费下载
- 蓝牙室内定位技术方案有什么优势?
- ElementUI的Table组件不支持SSR
- mysql中如何调整列的顺序,SQL Server 数据库调整表中列的顺序操作
- 第四篇《复合故障诊断技术综述》论文阅读笔记
- 新咪咕Mg100、M101-强刷固件-刷机包
- 笔记----DX11.0转为DX11.2
- java中 参数的调用_Java中的参数调用