Oracle 表空间高水位收缩全攻略
1. 概述
本文档是针对某个特定用户表空间收缩的文档,实际操作要结合生产库具体情况。主要包括以下几个流程:
- 收集当前数据库相关信息
- 降低数据库表高水位线
- Resize 收缩数据文件
具体细节详见以下章节。
2. 时间规划
| 操作类型 | 预估时间 | 实际时间 |
|---|---|---|
| 数据库信息收集 | 30min | 10min |
| 降低高水位线 | 30min | 20min |
| Resize 数据文件 | 30min | 10min |
3. 详细步骤
3.1. 收集数据库相关信息
3.1.1. 查看表空间使用情况
SQL> 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 MBFROM dba_free_spaceGROUP BY tablespace_name) free,(SELECT tablespace_name,Sum(bytes) / 1024 / 1024 AS MBFROM dba_data_filesGROUP BY tablespace_name) total
WHERE free.tablespace_name = total.tablespace_name;TABLESPACE_NAME TOTAL_MB USED_MB USED_PCT
------------------------------ ---------- ---------- -----------------------------------------
SYSAUX 5000 1359.19 27.18%
SYSTEM 1024 625.13 61.05%
TS_AUD 4000 1483.19 37.08%
TS_BJCA 512 118.63 23.17%
TS_BT 512 .06 .01%
TS_CHDD 2000 864.06 43.2%
TS_DATA 2167482 496135.81 22.89%
TS_FCCH 512 1.94 .38%
TS_FDC 50000 36266.88 72.53%
TS_INDEX 390000 294789.81 75.59%
TS_LOG 30000 23551.81 78.51%
TS_RMAN 512 266.06 51.97%
TS_SB 6000 4594 76.57%
TS_SCJY 10000 5618.5 56.19%
TS_WHMS 512 310.38 60.62%
TS_ZLPT 2048 484.06 23.64%
UNDOTBS1 60000 59999.63 100%
USERS 5000 1060.06 21.2% # 与客户描述的一致,TS_DATA表空间量大,但实际使用量小。
3.1.2. 查看表空间上的用户
SQL> select owner,tablespace_name ,sum(bytes)/1024/1024/1024 G from dba_segments where tablespace_name = 'TS_DATA' group by owner,tablespace_name;OWNER TABLESPACE_NAME G
------------------------------ ------------------------------ ----------
TMC TS_DATA 454.085266
IBMS_SEC TS_DATA .005004883
PLATFORM TS_DATA .290893555
SZFDC TS_DATA .661071777
GTB_APP TS_DATA .20111084
FDC_ZJJYJZX TS_DATA 7.76208496
SZFDCOA TS_DATA 1.01373291
BWPLATFORM TS_DATA 16.6900024
SZFDC_CA TS_DATA 2.73272705
FDC_YJZX TS_DATA 1.35357666
FLOOR TS_DATA 108.474243
SHENBAO TS_DATA .002502441
IBMS TS_DATA 1.8303833
FCCH TS_DATA .26361084
PUCHA TS_DATA .19140625
FDCYS TS_DATA 7.56640625
RIS_ACCESS TS_DATA 1.0804443417 rows selected.
3.1.3. 查看表空间TOP 10大表
SQL> select * from (2 select owner, segment_name, segment_type, tablespace_name, bytes/1024/1024/1024 "G"3 from dba_segments where segment_type = 'TABLE' and tablespace_name = 'TS_DATA' order by bytes desc)4 where rownum <= 10;OWNER SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME G
------------------- ------------------------------------ ------------------ ------------------- ----------
TMC FDC_INFO_QRY_LOG_2020 TABLE TS_DATA 144.490234
TMC TMC_LOG TABLE TS_DATA 86.6728516
TMC BIN$tvmjhUBAC37gVAALXeBfRg==$0 TABLE TS_DATA 50.9677734
TMC BIN$tvSoznk+ICjgVAALXeBfRg==$0 TABLE TS_DATA 30.59375
TMC REMC_WS_LOG_REQUEST TABLE TS_DATA 9.87109375
FDCYS SYS_20191171126389483_TEMP TABLE TS_DATA 3.4375
BWPLATFORM SOA_SYSTEM_LOG TABLE TS_DATA 3.125
FDCYS TRADE_RECORD TABLE TS_DATA 2.90625
TMC JG_TBL_FDC_EST_REGISTE TABLE TS_DATA 2.87890625
TMC MLOG$_FDC_TMC_CONTRACT TABLE TS_DATA 1.44433594
3.1.4. 查看表空间TOP 10大索引
SQL> select * from (2 select owner, segment_name, segment_type, tablespace_name, bytes/1024/1024/1024 "G"3 from dba_segments where segment_type = 'INDEX' and tablespace_name = 'TS_DATA' order by bytes desc)4 where rownum <= 10;OWNER SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME G
----------------- ---------------------------- ------------------ ------------------ ----------
TMC TMC_LOG_PK INDEX TS_DATA 13.03125
BWPLATFORM SOA_SYSTEM_LOG INDEX TS_DATA .433837891
TMC INDEX_USER INDEX TS_DATA .419921875
TMC INDEX_ORGAN INDEX TS_DATA .390625
BWPLATFORM PK_PLAT_USER_LOGIN_LOG INDEX TS_DATA .267150879
TMC SEI_IX_NAME INDEX TS_DATA .216796875
TMC FTVC_IX_EXPIRE_DATE INDEX TS_DATA .1953125
FDCYS I_TR_YWBJSJ INDEX TS_DATA .1953125
BWPLATFORM SYS_C0066879 INDEX TS_DATA .1484375
TMC FTVC_UK_CERT_NO_FO_ID INDEX TS_DATA .132812510 rows selected.
3.1.5. 查看表空间管理方式
SQL> select tablespace_name, block_size,contents, extent_management, segment_space_management, allocation_type, segment_space_management from dba_tablespaces where tablespace_name='TS_DATA';TABLESPACE_NAME BLOCK_SIZE CONTENTS EXTENT_MAN SEGMEN ALLOCATIO SEGMEN
------------------------------ ---------- --------- ---------- ------ --------- ------
TS_DATA 8192 PERMANENT LOCAL AUTO SYSTEM AUTO
3.1.6. 查看数据文件使用情况
SQL> col file_name for a50
SQL> select file_name, tablespace_name, bytes/1024/1024/1024 "used G", maxbytes/1024/1024/1024 "total G" from dba_data_files where tablespace_name = 'TS_DATA' order by bytes;FILE_NAME TABLESPACE_NAME used G total G
-------------------------------------------------- ------------------------------ ---------- ----------
/Oradata/2nd_fdc/TS_DATA74.dbf TS_DATA 5 0
/Oradata/2nd_fdc/TS_DATA76.dbf TS_DATA 5 0
/Oradata/2nd_fdc/TS_DATA75.dbf TS_DATA 5 0
/Oradata/2nd_fdc/TS_DATA38.dbf TS_DATA 19.53125 0
/Oradata/2nd_fdc/TS_DATA39.dbf TS_DATA 19.53125 0
/Oradata/2nd_fdc/TS_DATA40.dbf TS_DATA 19.53125 0
/Oradata/2nd_fdc/TS_DATA41.dbf TS_DATA 19.53125 0
/Oradata/2nd_fdc/TS_DATA42.dbf TS_DATA 19.53125 0
/Oradata/2nd_fdc/TS_DATA65.dbf TS_DATA 19.53125 0
/Oradata/2nd_fdc/TS_DATA68.dbf TS_DATA 29.2773438 29.296875
/Oradata/2nd_fdc/TS_DATA69.dbf TS_DATA 29.2773438 29.296875
/Oradata/2nd_fdc/TS_DATA03.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA04.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA05.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA06.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA07.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA08.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA09.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA10.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA15.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA16.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA17.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA20.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA21.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA22.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA23.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA24.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA25.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA26.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA28.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA29.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA30.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA31.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA32.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA33.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA34.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA35.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA36.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA43.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA44.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA45.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA46.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA47.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA48.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA49.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA50.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA51.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA52.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA53.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA54.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA55.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA56.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA57.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA58.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA59.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA60.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA61.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA62.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA63.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA64.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA66.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA67.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA02.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA37.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA01.dbf TS_DATA 29.296875 0
/Oradata/2nd_fdc/TS_DATA71.dbf TS_DATA 30 0
/Oradata/2nd_fdc/TS_DATA72.dbf TS_DATA 30 0
/Oradata/2nd_fdc/TS_DATA73.dbf TS_DATA 30 0
/Oradata/2nd_fdc/TS_DATA70.dbf TS_DATA 30 0
/Oradata/2nd_fdc/TS_DATA27.dbf TS_DATA 31.9550781 31.9999847
/Oradata/2nd_fdc/TS_DATA12.dbf TS_DATA 31.9921875 31.9999847
/Oradata/2nd_fdc/TS_DATA13.dbf TS_DATA 31.9921875 31.9999847
/Oradata/2nd_fdc/TS_DATA18.dbf TS_DATA 31.9921875 31.9999847
/Oradata/2nd_fdc/TS_DATA19.dbf TS_DATA 31.9921875 31.9999847
/Oradata/2nd_fdc/TS_DATA11.dbf TS_DATA 31.9921875 31.9999847
/Oradata/2nd_fdc/TS_DATA14.dbf TS_DATA 31.9921875 31.999984776 rows selected.
3.1.7. 查看表空间高水位线情况
SQL> select max(block_id)*8/1024/1024 "G size" from dba_extents where tablespace_name='TS_DATA';G size
----------
31.9920731
3.2. 降低高水位线
3.2.1. 检查失效索引(建议处理高水位前和后都要检查。并及时处理失效索引)
--检查分区索引(包括分区表的分区本地索引,分区表的分区全局索引),如果存在重建,并修改并行度
select 'alter index '||a.index_owner||'.'||a.index_name||' rebuild partition '||a.partition_name ||' parallel 10;' from
dba_ind_partitions a
where a.status='UNUSABLE';
select 'alter index '||a.index_owner||'.'||a.index_name||' parallel 1;' from
dba_ind_partitions a
where a.status='UNUSABLE’; --检查普通索引(包括普通表的索引,分区表的普通全局索引),如果存在重建,并修改并行度
select 'alter index '||a.owner||'.'||a.index_name||' rebuild parallel 10;' from
dba_indexes a
where a.status='UNUSABLE';
select 'alter index '||a.owner||'.'||a.index_name||' parallel 1;' from
dba_indexes a
where a.status='UNUSABLE’;
3.2.2. 查询指定用户中的高水位
# 比较表的行数和表的大小关系。如果行数为0,而表的当前占用大小减去初始化时的大小(INITIAL_EXTENT)后依然很大,那么说明该表有高水位。=====为了保证结果准确,建议先对表进行统计信息收集。
# 查看TMC用户高水位
SQL> SELECT D.OWNER,2 ROUND(D.NUM_ROWS / D.BLOCKS, 2),3 D.NUM_ROWS,4 D.BLOCKS,5 D.TABLE_NAME,6 ROUND((d.BLOCKS*8-D.INITIAL_EXTENT/1024)/1024) t_size7 FROM DBA_TABLES D8 WHERE D.BLOCKS > 109 AND ROUND(D.NUM_ROWS / D.BLOCKS, 2) < 510 AND d.OWNER = 'TMC' ;OWNER ROUND(D.NUM_ROWS/D.BLOCKS,2) NUM_ROWS BLOCKS TABLE_NAME T_SIZE
-------- ---------------------------- ---------- ---------- ------------------------------ ----------
TMC 2.6 2597 1000 EX_ZQ_MIDDLE_ACCESS 8
TMC 2.31 30 13 EX_ZW_SRV_CONFIG 0
TMC 1.1 66 60 FDC_ROLES_CATALOG -1
TMC .35 21 60 FDC_ORGANTYPE_SUBSYSTEM -1
TMC .1 6 58 FDC_USER_DEV_UPLOAD 0
TMC 3.05 1149260 377166 JG_TBL_FDC_EST_REGISTE 2947
TMC 0 0 1522 JG_TBL_JSYDGH 12
TMC 0 0 2410 JG_TBL_LAND_CONTRACT 19
TMC 4.83 713497 147670 FDC_YS_CONTRACT_APPENDIX 1154
TMC 1.94 3646 1882 SIREA_REPORT_3 15
TMC 2.56 625 244 DZZZ_FDC_YS_PREPROJECT 2
TMC .22 9703 44390 FDC_ORGAN_REPORT_DEV_USER 347
TMC 0 0 13 SYS_20185311110401376_TEMP 0
TMC 1.57 1902326 1210229 REMC_WS_LOG_REQUEST 9455# 查看表上边的索引
SQL> select index_name, status from dba_indexes where owner = 'TMC' and table_name = 'JG_TBL_FDC_EST_REGISTE';
INDEX_NAME STATUS
------------------------------ --------
EST_REGISTE_PARCEL_NO VALID
EST_REGISTE_PROJ_NO VALIDSQL> select index_name, status from dba_indexes where owner = 'TMC' and table_name = 'FDC_YS_CONTRACT_APPENDIX';
INDEX_NAME STATUS
------------------------------ --------
SYS_IL0000060570C00006$$ VALID
SYS_IL0000060570C00020$$ VALID
FYCA_IX_FYC_ID VALID
FYCA_IX_YS_FYB_ID VALID
SYS_IL0000060570C00026$$ VALID
FYCA_PK VALID6 rows selected.SQL> select index_name, status from dba_indexes where owner = 'TMC' and table_name = 'REMC_WS_LOG_REQUEST';
INDEX_NAME STATUS
------------------------------ --------
SYS_IL0000142741C00026$$ VALID
SYS_IL0000142741C00027$$ VALID
SYS_IL0000142741C00028$$ VALID# 查看FDCYS用户高水位线
SELECT D.OWNER,ROUND(D.NUM_ROWS / D.BLOCKS, 2),D.NUM_ROWS,D.BLOCKS,D.TABLE_NAME,ROUND((d.BLOCKS*8-D.INITIAL_EXTENT/1024)/1024) t_sizeFROM DBA_TABLES DWHERE D.BLOCKS > 10AND ROUND(D.NUM_ROWS / D.BLOCKS, 2) < 5AND d.OWNER = 'FDCYS' ;OWNER ROUND(D.NUM_ROWS/D.BLOCKS,2) NUM_ROWS BLOCKS TABLE_NAME T_SIZE
------------------------------ ---------------------------- ---------- ---------- ------------------------------ ----------
FDCYS 0 0 449636 SYS_20191171126389483_TEMP 3513# 查看表上的索引
SQL> select index_name,status from dba_indexes where owner = 'FDCYS' and table_name = 'SYS_20191171126389483_TEMP';INDEX_NAME STATUS
------------------------------ --------
SYS_C0060562 VALID
3.2.1. 收缩指定表的高水位线
# TMC用户收缩高水位线
alter table TMC.JG_TBL_FDC_EST_REGISTE enable row movement;
alter table TMC.JG_TBL_FDC_EST_REGISTE shrink space;
alter index TMC.EST_REGISTE_PARCEL_NO rebuild;
alter index TMC.EST_REGISTE_PROJ_NO rebuild;
alter table TMC.JG_TBL_FDC_EST_REGISTE disable row movement;alter table TMC.FDC_YS_CONTRACT_APPENDIX enable row movement;
alter table TMC.FDC_YS_CONTRACT_APPENDIX shrink space;
alter index TMC.FYCA_IX_FYC_ID rebuild parallel 4 nologging;
alter index TMC.FYCA_IX_YS_FYB_ID rebuild parallel 4 nologging;
alter index TMC.FYCA_PK rebuild parallel 4 nologging;
alter index TMC.FYCA_IX_FYC_ID parallel 1 ;
alter index TMC.FYCA_IX_YS_FYB_ID parallel 1 ;
alter index TMC.FYCA_PK parallel 1 ;
alter index TMC.FDC_YS_CONTRACT_APPENDIX disable row movement;alter table TMC.REMC_WS_LOG_REQUEST enable row movement;
alter table TMC. REMC_WS_LOG_REQUEST shrink space;
alter table TMC.REMC_WS_LOG_REQUEST disable row movement;# FDCYS用户收缩高水位线
alter table FDCYS.SYS_20191171126389483_TEMP enable row movement;
alter table FDCYS.SYS_20191171126389483_TEMP shrink space;
alter index SYS_C0060562 rebuild;
alter table FDCYS.SYS_20191171126389483_TEMP disable row movement;
3.2.2. 重新收集表的统计信息
exec dbms_stats.gather_table_stats('TMC','JG_TBL_FDC_EST_REGISTE',cascade=>true);
exec dbms_stats.gather_table_stats('TMC','FDC_YS_CONTRACT_APPENDIX',cascade=>true);
exec dbms_stats.gather_table_stats('TMC','REMC_WS_LOG_REQUEST',cascade=>true);
exec dbms_stats.gather_table_stats('FDCYS','SYS_20191171126389483_TEMP',cascade=>true);如果是大表,建议使用如下语句进行统计信息收集
说明:需要替换用户名、表名、及分区名(如果是分区表)
如果要单独分析表的某个分区,将 --granularity和-- partname=>'p200902', 这句注释去掉,并替换分区名 begin DBMS_STATS.GATHER_TABLE_STATS(ownname=>'NETFORCE', tabname=>'TBL_PROCESS_DRAFT', --granularity => 'PARTITION', --partname=>'POPERATIONPROCESS0102', estimate_percent=>1, method_opt=>'FOR ALL COLUMNS SIZE 1', no_invalidate=>false, cascade=>true, degree => 10);
end ;
/
3.3. Resize 数据文件
# 查看最大可resize的数据文件大小
col name for a50
col resizecmd for a90
select a.file#,
a.name,
a.bytes / 1024 / 1024 CurrentMB,
ceil(HWM * a.block_size / 1024 / 1024) Resizeto,
(a.bytes - HWM * a.block_size) / 1024 / 1024 releaseMB,
'alter database datafile ''' || a.name || ''' resize ' ||
ceil(HWM * a.block_size / 1024 / 1024) || 'M;' ResizeCmd
from v$datafile a,
(select file_id, max(block_id + blocks - 1) HWM
from dba_extents
where tablespace_name = 'TS_DATA'
group by file_id) b
where a.file# = b.file_id(+)
and (a.bytes - HWM * a.block_size) > 0
order by 5;FILE# NAME CURRENTMB RESIZETO RELEASEMB RESIZECMD
----- -------------------------------- ---------- ---------- ---------- -------------------------------------------------------------------------7 /Oradata/2nd_fdc/TS_DATA02.dbf 30000 30000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA02.dbf' resize 30000M;9 /Oradata/2nd_fdc/TS_DATA04.dbf 30000 30000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA04.dbf' resize 30000M;6 /Oradata/2nd_fdc/TS_DATA01.dbf 30000 30000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA01.dbf' resize 30000M;41 /Oradata/2nd_fdc/TS_DATA29.dbf 30000 30000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA29.dbf' resize 30000M;12 /Oradata/2nd_fdc/TS_DATA07.dbf 30000 30000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA07.dbf' resize 30000M;61 /Oradata/2nd_fdc/TS_DATA45.dbf 30000 30000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA45.dbf' resize 30000M;26 /Oradata/2nd_fdc/TS_DATA17.dbf 30000 30000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA17.dbf' resize 30000M;31 /Oradata/2nd_fdc/TS_DATA22.dbf 30000 30000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA22.dbf' resize 30000M;10 /Oradata/2nd_fdc/TS_DATA05.dbf 30000 30000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA05.dbf' resize 30000M;19 /Oradata/2nd_fdc/TS_DATA12.dbf 32760 32760 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA12.dbf' resize 32760M;14 /Oradata/2nd_fdc/TS_DATA09.dbf 30000 30000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA09.dbf' resize 30000M;13 /Oradata/2nd_fdc/TS_DATA08.dbf 30000 30000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA08.dbf' resize 30000M;11 /Oradata/2nd_fdc/TS_DATA06.dbf 30000 30000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA06.dbf' resize 30000M;83 /Oradata/2nd_fdc/TS_DATA65.dbf 20000 20000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA65.dbf' resize 20000M;20 /Oradata/2nd_fdc/TS_DATA13.dbf 32760 32760 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA13.dbf' resize 32760M;18 /Oradata/2nd_fdc/TS_DATA11.dbf 32760 32760 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA11.dbf' resize 32760M;24 /Oradata/2nd_fdc/TS_DATA15.dbf 30000 30000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA15.dbf' resize 30000M;15 /Oradata/2nd_fdc/TS_DATA10.dbf 30000 30000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA10.dbf' resize 30000M;49 /Oradata/2nd_fdc/TS_DATA36.dbf 30000 30000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA36.dbf' resize 30000M;39 /Oradata/2nd_fdc/TS_DATA27.dbf 32722 32722 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA27.dbf' resize 32722M;25 /Oradata/2nd_fdc/TS_DATA16.dbf 30000 30000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA16.dbf' resize 30000M;8 /Oradata/2nd_fdc/TS_DATA03.dbf 30000 30000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA03.dbf' resize 30000M;30 /Oradata/2nd_fdc/TS_DATA21.dbf 30000 30000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA21.dbf' resize 30000M;45 /Oradata/2nd_fdc/TS_DATA32.dbf 30000 30000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA32.dbf' resize 30000M;29 /Oradata/2nd_fdc/TS_DATA20.dbf 30000 30000 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA20.dbf' resize 30000M;27 /Oradata/2nd_fdc/TS_DATA18.dbf 32760 32760 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA18.dbf' resize 32760M;28 /Oradata/2nd_fdc/TS_DATA19.dbf 32760 32760 .0625 alter database datafile '/Oradata/2nd_fdc/TS_DATA19.dbf' resize 32760M;35 /Oradata/2nd_fdc/TS_DATA23.dbf 30000 30000 .125 alter database datafile '/Oradata/2nd_fdc/TS_DATA23.dbf' resize 30000M;76 /Oradata/2nd_fdc/TS_DATA60.dbf 30000 30000 .125 alter database datafile '/Oradata/2nd_fdc/TS_DATA60.dbf' resize 30000M;74 /Oradata/2nd_fdc/TS_DATA58.dbf 30000 30000 .125 alter database datafile '/Oradata/2nd_fdc/TS_DATA58.dbf' resize 30000M;21 /Oradata/2nd_fdc/TS_DATA14.dbf 32760 32760 .125 alter database datafile '/Oradata/2nd_fdc/TS_DATA14.dbf' resize 32760M;50 /Oradata/2nd_fdc/TS_DATA37.dbf 30000 30000 .1875 alter database datafile '/Oradata/2nd_fdc/TS_DATA37.dbf' resize 30000M;40 /Oradata/2nd_fdc/TS_DATA28.dbf 30000 30000 .1875 alter database datafile '/Oradata/2nd_fdc/TS_DATA28.dbf' resize 30000M;44 /Oradata/2nd_fdc/TS_DATA31.dbf 30000 30000 .3125 alter database datafile '/Oradata/2nd_fdc/TS_DATA31.dbf' resize 30000M;58 /Oradata/2nd_fdc/TS_DATA43.dbf 30000 30000 .3125 alter database datafile '/Oradata/2nd_fdc/TS_DATA43.dbf' resize 30000M;43 /Oradata/2nd_fdc/TS_DATA30.dbf 30000 30000 .3125 alter database datafile '/Oradata/2nd_fdc/TS_DATA30.dbf' resize 30000M;67 /Oradata/2nd_fdc/TS_DATA51.dbf 30000 30000 .3125 alter database datafile '/Oradata/2nd_fdc/TS_DATA51.dbf' resize 30000M;82 /Oradata/2nd_fdc/TS_DATA64.dbf 30000 30000 .5625 alter database datafile '/Oradata/2nd_fdc/TS_DATA64.dbf' resize 30000M;56 /Oradata/2nd_fdc/TS_DATA42.dbf 20000 20000 .625 alter database datafile '/Oradata/2nd_fdc/TS_DATA42.dbf' resize 20000M;85 /Oradata/2nd_fdc/TS_DATA67.dbf 30000 29973 27.875 alter database datafile '/Oradata/2nd_fdc/TS_DATA67.dbf' resize 29973M;84 /Oradata/2nd_fdc/TS_DATA66.dbf 30000 29645 355.875 alter database datafile '/Oradata/2nd_fdc/TS_DATA66.dbf' resize 29645M;102 /Oradata/2nd_fdc/TS_DATA74.dbf 5120 3580 1540.875 alter database datafile '/Oradata/2nd_fdc/TS_DATA74.dbf' resize 3580M;90 /Oradata/2nd_fdc/TS_DATA70.dbf 30720 29121 1599.875 alter database datafile '/Oradata/2nd_fdc/TS_DATA70.dbf' resize 29121M;103 /Oradata/2nd_fdc/TS_DATA75.dbf 5120 3422 1698.875 alter database datafile '/Oradata/2nd_fdc/TS_DATA75.dbf' resize 3422M;91 /Oradata/2nd_fdc/TS_DATA71.dbf 30720 28993 1727.875 alter database datafile '/Oradata/2nd_fdc/TS_DATA71.dbf' resize 28993M;104 /Oradata/2nd_fdc/TS_DATA76.dbf 5120 3295 1825.875 alter database datafile '/Oradata/2nd_fdc/TS_DATA76.dbf' resize 3295M;88 /Oradata/2nd_fdc/TS_DATA69.dbf 29980 22035 7945.9375 alter database datafile '/Oradata/2nd_fdc/TS_DATA69.dbf' resize 22035M;86 /Oradata/2nd_fdc/TS_DATA68.dbf 29980 21958 8022.9375 alter database datafile '/Oradata/2nd_fdc/TS_DATA68.dbf' resize 21958M;92 /Oradata/2nd_fdc/TS_DATA72.dbf 30720 21246 9474.875 alter database datafile '/Oradata/2nd_fdc/TS_DATA72.dbf' resize 21246M;93 /Oradata/2nd_fdc/TS_DATA73.dbf 30720 20626 10094.875 alter database datafile '/Oradata/2nd_fdc/TS_DATA73.dbf' resize 20626M;
4. 结论
本次表空间高水位线收缩动作共释放50G左右空间。
通过合理地收缩表空间高水位,不仅可以有效释放磁盘空间,还能优化数据库的存储结构,提升整体性能表现。在实际运维过程中,掌握Shrinking、Move、Rebuild等手段的适用场景与操作细节,能够帮助我们更高效地解决空间浪费问题。希望本文提供的实践操作和经验总结,能为广大DBA在日常维护中提供借鉴与参考。
数据库管理虽无银弹,但精益求精的每一步,终将让系统更加稳定、可靠、高效。

相关文章:
Oracle 表空间高水位收缩全攻略
1. 概述 本文档是针对某个特定用户表空间收缩的文档,实际操作要结合生产库具体情况。主要包括以下几个流程: 收集当前数据库相关信息降低数据库表高水位线Resize 收缩数据文件 具体细节详见以下章节。 2. 时间规划 操作类型预估时间实际时间数据库信…...
ESModule和CommonJS在Node中的区别
ESModule console.log(require);//>errorconsole.log(module);//>errorconsole.log(exports);//>errorconsole.log(__filename);//>errorconsole.log(__dirname);//>error全部报错commonjs console.log(require);console.log(module);console.log(exports);co…...
floyd模板
B3647 【模板】Floyd - 洛谷 f l o y d floyd floyd 模板 对于 f l o y d floyd floyd 算法来说时间复杂度为 O ( n 3 ) O(n^3) O(n3) ,不如跑 n n n 遍 h e a p _ d i j k s t r a heap\_dijkstra heap_dijkstra 算法 题目大意: 给出一张由 n n …...
力扣刷题-热题100题-第34题(c++、python)
23. 合并 K 个升序链表 - 力扣(LeetCode)https://leetcode.cn/problems/merge-k-sorted-lists/?envTypestudy-plan-v2&envIdtop-100-liked 顺序合并 合并两个有序链表作为子函数,创建一个空链表,然后对含有多个链表的数组进…...
括号匹配问题--栈
括号匹配问题 栈的应用代码概览栈操作函数详解1.初始化栈(stackInit)2.向栈中压入元素(stackpush)3.获取栈顶元素(stacktop)4.弹出栈顶元素(stackpop)5.销毁栈(stackdest…...
原生SSE实现AI智能问答+Vue3前端打字机流效果
实现流程: 1.用户点击按钮从右侧展开抽屉(drawer),打开模拟对话框 2.用户输入问题,点击提问按钮,创建一个SSE实例请求后端数据,由于SSE是单向流,所以每提一个问题都需要先把之前的实…...
LLC工作模态详解
1以半桥LLC谐振变换器为例,主开关Q1、Q2构成半桥结构,其驱动信号为固定占空比50%的互补信号,并且在上下桥臂之间应有死区时间。 谐振电感Ls、谐振电感Cs和变压器励磁电感Lm共同构成谐振槽路,具有两个谐振频率: 谐振电…...
线代第三课:n阶行列式
引言 行标取自然排列 不同行不同列的3个元素相乘 列标取排列的所有可能 列标排列的逆序数的奇偶性决定符号,- n阶行列式 第一种:按行展开 (1) 行标取自然排列 (2) 列标取排列的所有可能 (PS:可以理解为随意取) (3) 从…...
机器学习的一百个概念(10)假阳性率
前言 本文隶属于专栏《机器学习的一百个概念》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见[《机器学习的一百个概念》 ima 知识库 知识库广场搜索: 知识库创建人机器学习@Shockang机器学习数学基础@Shocka…...
GitHub 克隆/下载失败的解决方案
🚀 GitHub 下载/克隆失败?一招搞定代理配置与回滚! 在国内使用 Git 操作 GitHub 时,经常会遇到以下问题: ❌ 下载失败、超时 ❌ Failed to connect to github.com port 443 ❌ SSL certificate problem 本文将详细讲解…...
pulsar proxy详解
什么是 Pulsar Proxy? Pulsar Proxy 是 Apache Pulsar 中的一个可选组件,作用是作为客户端与 Pulsar Brokers 之间的中间网关层。它并不是 Pulsar 核心功能必须的部分,但在特定场景下(如复杂的网络环境、安全性需求或动态集群管理…...
C++ Socket优化实战:提升网络应用的性能与效率
🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,拥有高级工程师证书;擅长C/C、C#等开发语言,熟悉Java常用开发技术,能熟练应用常用数据库SQL server,Oracle…...
STM32单片机入门学习——第30节: [9-6] FlyMcu串口下载STLINK Utility
写这个文章是用来学习的,记录一下我的学习过程。希望我能一直坚持下去,我只是一个小白,只是想好好学习,我知道这会很难,但我还是想去做! 本文写于:2025.04.09 STM32开发板学习——第30节: [9-6] FlyMcu串口下载&STLINK Utility 前言开发…...
Qt容器类在元对象系统中使用
解释 “QVector没有被注册到Qt的元对象系统中”这句话的意思是:QVector<double>这种数据类型没有被Qt的元对象系统(Meta-Object System)识别和管理。Qt的元对象系统是Qt框架的核心部分,它提供了信号与槽机制、动态属性系统…...
亮相CMEF,美的医疗全维度打造智慧医疗新生态
当下,医疗科技革命的浪潮正汹涌而来,AI技术在中国医疗器械领域迅猛发展,释放出巨大的潜力。 4月8日,在第91届中国国际医疗器械博览会(CMEF)上,2025美的医疗年度新品发布暨中国脊梁守护计划启动…...
数据库视图讲解(view)
一、为什么需要视图 二、视图的讲解 三、总结 一、为什么需要视图 视图一方面可以帮我们使用表的一部分而不是所有的表,另一方面也可以针对不同的用户制定不同的查询视图。 比如,针对一个公司的销售人员,我们只想给他看部分数据,…...
TQTT_KU5P开发板教程---文件的烧写与程序固化
文档功能介绍 本文档所描述的为文件的烧写固化,利用spi芯片将程序固化带芯片上,可以让开发板在重新上电时也可以跑程序。我们所使用的芯片型号为mt25qu256-spi-x1_x2_x4.本次实验采用的在led_shift项目的基础上将流水灯程序固化到flash芯片上,…...
进度管理__制订进度计划_资源平衡和资源平滑
本文讲解的资源平衡与资源平滑,是制订进度计划的工具与技术的第3项: 资源优化。 1. 资源平衡 资源平衡是为了在资源需求与资源供给之间取得平等, 根据资源制约因素对开始日期和完成日期进行调整的一种技术。 如果共享资源或关键资源只在特定…...
【ISP】ISP pipeline(AI)
ISP Pipeline 全流程概览 ISP(Image Signal Processing,图像信号处理)流程通常从原始 Bayer 数据出发,经过一系列模块处理,逐步完成图像校正和增强,最终生成用于显示或编码的标准图像。常见处理模块包括&a…...
C++ RAII 的用途及业务代码实现案例
C RAII 的用途及业务代码实现案例 RAII 的核心概念 RAII (Resource Acquisition Is Initialization,资源获取即初始化) 是 C 的核心编程范式,其核心思想是: 资源获取与对象构造绑定资源释放与对象析构绑定利用 C 对象生命周期自动管理资源…...
RVOS-2.基于NS16550a ,为os添加终端交互功能。
2.1 实验目的 为os添加uart功能,通过串口实现开发板与PC交互。 2.1 硬件信息 QEMU虚拟SoC含有 虚拟NS16550A设备 。 不同的地址线组合(A2、A1、A0)对应的读写模式和寄存器如下所示: 2.2 NS16550a 的初始化 线路控制寄存器&#…...
#SVA语法滴水穿石# (004)关于 ended 和 triggered 用法
在 SystemVerilog 断言(SVA, SystemVerilog Assertions)中,ended 是一个用于 序列(sequence) 的关键字,它表示某个序列(sequence)在特定时间点已经成功匹配(即“结束”)。 ended 主要用于 同步不同序列的时间关系,尤其是在多序列组合或属性(property)中需要对齐时…...
软件学报 区块链论文 截止2025年4月 录用汇总 附pdf下载
截止 2025年4月 软件学报 2024年 区块链论文 录用汇总 附pdf下载 1 Title: 基于多父链辅助工作量证明共识机制的后量子区块链系统 Authors: Key words: 区块链;后量子密码;共识机制;辅助工作量证明 Abstract: 随着量子计算机的发展,对于以传统椭圆曲线数字签名为基石的公…...
损失函数篇——针对YOLO-MIFIN模型
1. 总损失函数(公式9) L all λ conf L conf λ cls L cls λ loc L loc (9) L_{\text{all}} \lambda_{\text{conf}} L_{\text{conf}} \lambda_{\text{cls}} L_{\text{cls}} \lambda_{\text{loc}} L_{\text{loc}} \tag{9} LallλconfLconfλ…...
【MySQL 数据库】增删查改操作CRUD(上)
🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 目录 1. CRUD 简介 2. Create -- 新增 2.1 语法 2.2 练习 3. Retrieve -- 检索 3.1 Select -- 查询 3.1.1 全列查询 3.1.2 指定列查询 3.1.3 表达式查询 3.…...
pycharm 有智能提示,但是没法自动导包,也就是alt+enter无效果
找到file->settings->editor->inspections 把python勾选上,原来不能用是因为只勾选了一部分。...
web前端: 什么是web?
web前端指的是利用HTML、CSS、JavaScript等各种web技术,做出能在浏览器上运行且用户可见的界面,比如网站网页、APP软件界面、游戏前端界面等。web前端主要包括web全局架构、web视觉表现和web交互效果这三部分。 WEB发展史 Web(World Wide We…...
Java 开发中主流安全框架的详细对比,涵盖 认证、授权、加密、安全策略 等核心功能,帮助开发者根据需求选择合适的方案
以下是 Java 开发中主流安全框架的详细对比,涵盖 认证、授权、加密、安全策略 等核心功能,帮助开发者根据需求选择合适的方案: 1. 主流安全框架对比表 框架名称类型核心功能适用场景优点缺点官网/文档Spring Security企业级安全框架认证、授…...
Linux网络编程——TCP协议格式、可靠性分析
目录 一、前言 二、TCP协议格式 三、TCP的可靠性 TCP协议的确认应答机制 总结 四、TCP协议的缓冲区及流量控制 五、 TCP流量控制 六、TCP报文类型 标记位 一、前言 在上一篇文章中,我们重点介绍了UDP协议格式的一些内容。在本文中介绍的便是TCP协议格式的…...
【深度学习】Downstream Model:预训练模型的下游应用与微调技术
Downstream Model:预训练模型的下游应用与微调技术 文章目录 Downstream Model:预训练模型的下游应用与微调技术1 什么是Downstream Model(下游模型)2 预训练模型与下游任务的关系3 微调技术与迁移学习微调的必要性高效迁移学习参…...
