整理ORACLE表空间文件
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表空间文件相关推荐
- Oracle11使用现在数据库文件,oracle11g 重装操作系统后,如何利用原有oracle表空间文件还原数据库...
oracle11g 重装操作系统后,如何利用原有oracle表空间文件还原数据库 最近由于系统重装,在还原dmp备份文件时,由于数据原因(用exp命令导出时表没有导出全部),导致系统不能正常运行.根据 ...
- oracle表空间文件扩容
近期公司老项目反应附件无法上传,查询后台日志发现数据库insert报错,原因是附件以二进制存储在数据库表中导致oracle表空间文件已经达到了32G的最大值.找到了问题,坚信一个数据库肯定不会就只支持 ...
- Oracle表空间文件损坏后的排查及解决
我们在操作Oracle的时候,如果出现Oracle无法正常启动或停止,或者Oracle的导入导出命令执行错误, 通常是由于Oracle的实例下的表空间出现了问题造成的. 以下解决办法,摘自网络,适用于 ...
- oracle忽略损坏表空间,Oracle表空间文件损坏后的排查及解决
我们在操作Oracle的时候,如果出现Oracle无法正常启动或停止,或者Oracle的导入导出命令执行错误, 通常是由于Oracle的实例下的表空间出现了问题造成的. 以下解决办法,摘自网络,适用于 ...
- oracle 表空间文件达到32G后解决办法
数据库报错:"ORA-01654: 索引...无法通过8192(在表空间...中)扩展".或者:ora-01652无法通过128(在表空间temp中)扩展temp段,这种错误信息时 ...
- oracle表空间文件压缩,收缩Oracle表空间物理文件
在Oracle中,经常有这样的情况,由于误操作,使某个表空间过大.delete 方法不会清除高水位线,用了truncate之后,虽然高水位线已经清除,但是扩充的表空间并没有缩小,所以应该用下面的方法进 ...
- oracle表空间文件离线,oracle 表空间 数据文件 笔记
数据文件命令 Enabling and Disabling Automatic Extension for a Datafile: ALTER TABLESPACE users ADD DATAFIL ...
- oracle 表空间 碎片,Oracle表空间碎片整理
作为影响数据库性能的一个因素,数据库表空间碎片,应当引起DBA的重视,及时发现并整理碎片是DBA基本维护内容,以提高数据库性能. Oracle数据库表空间.段.区.块简述 表空间(tablesapce ...
- Oracle 数据库表空间不足拓展方法实例演示,表空间剩余大小查看,通过新增表空间文件拓展表空间,表空间文件路径查看
Oracle 数据库表空间 第一章:表空间的拓展 ① 查看剩余表空间大小 ② 查看表空间文件路径 ③ 通过新增表空间文件拓展表空间 ④ 查看表空间已分配大小 第一章:表空间的拓展 ① 查看剩余表空间大 ...
最新文章
- 撸一个简易聊天室,不信你学不会实时消息推送(附源码)
- [CommunityServer]看RBAC的一方景象
- Rust-Cargo(3)
- 【数据分析实例】数据领域的兄弟们的数据分析
- linux系统下开机启动流程
- 中石油计算机组成原理a在线考试,计算机组成原理试题A.doc
- 复旦大学计算机应用能力,复旦大学计算机应用能力水平测试(FudanComputerSkills.doc...
- linux设置时间快1小时,LINUX CentOS系统时间与现在时间相差8小时解决方法
- [css] 怎么使用css选择空链接?
- Unity脚本运行时更新带来了什么?
- AI戒毒?没错,北京开始这么干了
- 印花材料使用过程中的三个常见问题及解决方案
- PySide QtCore.Signal帮助手册
- LINUX SHELL中使用sed匹配某一行并替换这一行的内容
- MATLAB解决常微分方程
- 查看显卡型号命令_如何查看电脑显卡型号配置 快速查看显卡配置信息方法
- 代数系统,二元运算,半群,含幺半群,群
- Guava学习之Joiner
- 数字音频接口(I2S,PCM/TDM)
- C、C++、C#、Java、php、python语言的内在特性及区别