固定大小表空间文件使用率过低,并执行alter database datafile '/u01/xx/xx/xx.dbf' resize 256m时收缩表空间-ORA-03297错误的解决方法;

1:查看所有表空间文件的使用率
select a.FILE_ID,a.file_name,a.bytes/1024/1024 TOTAL,b.sb/1024/1024 FREE,100*b.sb/a.bytes "FREE%" 
from dba_data_files a,(select file_id,sum(BYTES) sb from dba_free_space group by file_id) b
where a.file_id=b.file_id order by a.file_name;

2:通过表空间文件的file_id查看block_id
select segment_name,segment_type,tablespace_name,extent_id,bytes,blocks,block_id from dba_extents where file_id=27;

3:通过表空间文件的MAX(block_id)和数据库的db_block_size(show parameter db_block_size )可以计算出表空间最小能缩小到一个什么值(MAX(block_id)*db_block_size);

4:新建一个临时表空间,并赋予用户权限
CREATE SMALLFILE TABLESPACE "ZLZK_BAK" DATAFILE '/u01/oracle/oradata/yyc/zlzk_bak.dbf' SIZE 10240M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

alter user zlzk quota unlimited on ZLZK_BAK;

5:将表空间文件中的table和index移动到临时表空间里

SELECT distinct 'alter table '|| SEGMENT_NAME||' move tablespace ZLZK_BAK; ' FROM DBA_EXTENTS 
       WHERE TABLESPACE_NAME='ZLZK' AND FILE_ID = 24  and segment_type='TABLE' ;

SELECT distinct 'alter INDEX '|| SEGMENT_NAME||' REBUILD TABLESPACE ZLZK_BAK; ' FROM DBA_EXTENTS 
       WHERE TABLESPACE_NAME='ZLZK' AND FILE_ID = 24 and  segment_type='INDEX' ;

6:移动完后再执行缩小表空间
ALTER DATABASE DATAFILE '/u01/oracle/oradata/yyc/zlzk25.dbf' RESIZE 256M;

7:将移动到临时的table和index重新移动回原来表空间

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28588485/viewspace-1220431/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28588485/viewspace-1220431/

整理ORACLE表空间文件相关推荐

  1. Oracle11使用现在数据库文件,oracle11g 重装操作系统后,如何利用原有oracle表空间文件还原数据库...

    oracle11g 重装操作系统后,如何利用原有oracle表空间文件还原数据库 最近由于系统重装,在还原dmp备份文件时,由于数据原因(用exp命令导出时表没有导出全部),导致系统不能正常运行.根据 ...

  2. oracle表空间文件扩容

    近期公司老项目反应附件无法上传,查询后台日志发现数据库insert报错,原因是附件以二进制存储在数据库表中导致oracle表空间文件已经达到了32G的最大值.找到了问题,坚信一个数据库肯定不会就只支持 ...

  3. Oracle表空间文件损坏后的排查及解决

    我们在操作Oracle的时候,如果出现Oracle无法正常启动或停止,或者Oracle的导入导出命令执行错误, 通常是由于Oracle的实例下的表空间出现了问题造成的. 以下解决办法,摘自网络,适用于 ...

  4. oracle忽略损坏表空间,Oracle表空间文件损坏后的排查及解决

    我们在操作Oracle的时候,如果出现Oracle无法正常启动或停止,或者Oracle的导入导出命令执行错误, 通常是由于Oracle的实例下的表空间出现了问题造成的. 以下解决办法,摘自网络,适用于 ...

  5. oracle 表空间文件达到32G后解决办法

    数据库报错:"ORA-01654: 索引...无法通过8192(在表空间...中)扩展".或者:ora-01652无法通过128(在表空间temp中)扩展temp段,这种错误信息时 ...

  6. oracle表空间文件压缩,收缩Oracle表空间物理文件

    在Oracle中,经常有这样的情况,由于误操作,使某个表空间过大.delete 方法不会清除高水位线,用了truncate之后,虽然高水位线已经清除,但是扩充的表空间并没有缩小,所以应该用下面的方法进 ...

  7. oracle表空间文件离线,oracle 表空间 数据文件 笔记

    数据文件命令 Enabling and Disabling Automatic Extension for a Datafile: ALTER TABLESPACE users ADD DATAFIL ...

  8. oracle 表空间 碎片,Oracle表空间碎片整理

    作为影响数据库性能的一个因素,数据库表空间碎片,应当引起DBA的重视,及时发现并整理碎片是DBA基本维护内容,以提高数据库性能. Oracle数据库表空间.段.区.块简述 表空间(tablesapce ...

  9. Oracle 数据库表空间不足拓展方法实例演示,表空间剩余大小查看,通过新增表空间文件拓展表空间,表空间文件路径查看

    Oracle 数据库表空间 第一章:表空间的拓展 ① 查看剩余表空间大小 ② 查看表空间文件路径 ③ 通过新增表空间文件拓展表空间 ④ 查看表空间已分配大小 第一章:表空间的拓展 ① 查看剩余表空间大 ...

最新文章

  1. 撸一个简易聊天室,不信你学不会实时消息推送(附源码)
  2. [CommunityServer]看RBAC的一方景象
  3. Rust-Cargo(3)
  4. 【数据分析实例】数据领域的兄弟们的数据分析
  5. linux系统下开机启动流程
  6. 中石油计算机组成原理a在线考试,计算机组成原理试题A.doc
  7. 复旦大学计算机应用能力,复旦大学计算机应用能力水平测试(FudanComputerSkills.doc...
  8. linux设置时间快1小时,LINUX CentOS系统时间与现在时间相差8小时解决方法
  9. [css] 怎么使用css选择空链接?
  10. Unity脚本运行时更新带来了什么?
  11. AI戒毒?没错,北京开始这么干了
  12. 印花材料使用过程中的三个常见问题及解决方案
  13. PySide QtCore.Signal帮助手册
  14. LINUX SHELL中使用sed匹配某一行并替换这一行的内容
  15. MATLAB解决常微分方程
  16. 查看显卡型号命令_如何查看电脑显卡型号配置 快速查看显卡配置信息方法
  17. 代数系统,二元运算,半群,含幺半群,群
  18. Guava学习之Joiner
  19. 数字音频接口(I2S,PCM/TDM)
  20. C、C++、C#、Java、php、python语言的内在特性及区别

热门文章

  1. SDN软件定义网络 学习笔记(3)--北向接口、东西向接口
  2. 已面世两年 大疆精灵4 Pro V2.0为什么仍是最受欢迎的无人机之一?
  3. oracle修改分区条件,请问能不能更改已经建好的范围分区表的分区规则呢?
  4. 用border-image实现QQ气泡聊天窗效果
  5. 关于大数据中的NOSQL
  6. 老年大学计算机应用,老年大学电脑课程教案.doc
  7. CSS3生日快乐之烟花动画特效
  8. 欢迎中文社区新版主@黎卫东
  9. 5分钟征服面试官系列-云计算方向
  10. ZYNQ7035使用FDMA读写PL DDR