日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Oracle縮表空間的完整解決實例

瀏覽:196日期:2023-03-12 15:25:27
目錄
  • 備注:
  • 一. 需求
  • 二. 解決方案
    • 2.1 清理過期數據
    • 2.2 收縮表空間
    • 2.3 清理表碎片
    • 2.4 直接把相關的表drop掉
    • 2.5 把該表空間下其它的表移出此表空間
  • 總結

    備注:

    Oracle 11.2.0.4

    一. 需求

    近期有一個日志庫,占用了比較多的空間,需要將歷史的清理,然后收縮空間。

    如下圖所示,4T的空間已經差不多用完。

    二. 解決方案

    首先想到的是清理掉超過半年的數據,然后resize 表空間。

    2.1 清理過期數據

    因為業務的表是 tablename_yearmonth格式,例如 log_202204,每個月一個表,所以直接進行truncate即可。

    找到大表:

    select t.segment_name,t.BYTES/1024/1024/1024 GB,t.segment_typefrom user_segments twhere t.segment_type in ("TABLE","TABLE PARTITION")order by nvl(t.BYTES/1024/1024/1024,0) desc;

    truncate 大表:

    select  "truncate table "|| t.TABLE_NAME ||";"  from user_tables t where t.TABLE_NAME  like "LOG%";

    2.2 收縮表空間

    select a.tablespace_name,a.file_name,a.totalsize as totalsize_MB,b.freesize as freesize_MB,"ALTER DATABASE DATAFILE """ || a.file_name || """ RESIZE " ||round((a.totalsize - b.freesize) + 200) || "M;" as "alter datafile"from (select a.file_name,a.file_id,a.tablespace_name,a.bytes / 1024 / 1024 as totalsizefrom dba_data_files a) a,(select b.tablespace_name,b.file_id,sum(b.bytes / 1024 / 1024) as freesizefrom dba_free_space bgroup by b.tablespace_name, b.file_id) bwhere a.file_id = b.file_idand b.freesize > 100and a.tablespace_name  in ("TBS_LOG_DATA")order by a.tablespace_name

    將上一步的 alter datafile語句拷貝出來執行:

    有部分報錯:

    ORA-03297: file contains used data beyond requested RESIZE value

    2.3 清理表碎片

    因為我使用的是truncate,理論上不會受高水位的影響,在網上找了幾個博客,也是說要降低表的高水位,清理表碎片。

    select "alter table "||t.TABLE_NAME||" enable row movement;",       "alter table "||t.TABLE_NAME||" shrink space cascade;"  from user_tables t where t.TABLE_NAME like "LOG%";

    清理完碎片之后,重新執行,依舊報錯。

    2.4 直接把相關的表drop掉

    select  "drop table "|| t.TABLE_NAME ||"purge;"  from user_tables t where t.TABLE_NAME  like "LOG%";

    drop掉表之后,重新執行,依舊報錯。

    2.5 把該表空間下其它的表移出此表空間

    萬能的itpub上有個博客:

    Truncate table 或者 drop table 收縮數據文件,經常遇到ORA-03297: file contains used data beyond requested RESIZE value 查詢dba_free_space 也有空閑空間。經過查詢MOS(Doc ID 1029252.6)得知

    If you have a large extent in the middle of a datafile, and some object taking up room at the end of the datafile, you can use the query FINDEXT.SQL below to find this object. If you export this object, then drop it, you should then free up contiguous space at the end of your datafile so you will be able to resize it smaller.

    Make sure you leave enough room in the datafile for importing the object back into the tablespace.

    意思是說如果空閑的extent如果在文件的中間,此時無法進行resize ,必須把尾部的object drop 然后重建 再resize datafile。以下是本人做的測試;

    ?[oracle@bogon ~]$ sqlplus / as sysdbaSQL*Plus: Release 10.2.0.1.0 - Production on Wed Jul 31 11:10:41 2013Copyright (c) 1982, 2005, Oracle. ?All rights reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP and Data Mining optionsSQL> create tablespace test2 datafile "/u01/app/oracle/oradata/orcl/test2.dbf" size 10M autoextend on next 1M;Tablespace created.SQL> create table tab1 tablespace test2 as select * from dba_objects;Table created.SQL> select file#,name,bytes/1024/1024 bytes from v$datafile where name like "%test2%";FILE# NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? BYTES----- ------------------------------------------------------------ -----? ?23 /u01/app/oracle/oradata/orcl/test2.dbf ? ? ? ? ? ? ? ? ? ? ? ? ?11SQL> create table tab2 tablespace test2 as select * from dba_objects;Table created.SQL> select file#,name,bytes/1024/1024 bytes from v$datafile where name like "%test2%";FILE# NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? BYTES----- ------------------------------------------------------------ -----? ?23 /u01/app/oracle/oradata/orcl/test2.dbf ? ? ? ? ? ? ? ? ? ? ? ? ?21SQL> select SEGMENT_NAME,FILE_ID,EXTENT_ID,BLOCK_ID,blocks from dba_extents where file_id=23 order by BLOCK_ID;SEGMENT_NA ? ?FILE_ID ?EXTENT_ID ? BLOCK_ID ? ? BLOCKS---------- ---------- ---------- ---------- ----------TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? ?0 ? ? ? ? ?9 ? ? ? ? ?8TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? ?1 ? ? ? ? 17 ? ? ? ? ?8TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? ?2 ? ? ? ? 25 ? ? ? ? ?8TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? ?3 ? ? ? ? 33 ? ? ? ? ?8TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? ?4 ? ? ? ? 41 ? ? ? ? ?8TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? ?5 ? ? ? ? 49 ? ? ? ? ?8TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? ?6 ? ? ? ? 57 ? ? ? ? ?8TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? ?7 ? ? ? ? 65 ? ? ? ? ?8TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? ?8 ? ? ? ? 73 ? ? ? ? ?8TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? ?9 ? ? ? ? 81 ? ? ? ? ?8TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? 10 ? ? ? ? 89 ? ? ? ? ?8SEGMENT_NA ? ?FILE_ID ?EXTENT_ID ? BLOCK_ID ? ? BLOCKS---------- ---------- ---------- ---------- ----------TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? 11 ? ? ? ? 97 ? ? ? ? ?8TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? 12 ? ? ? ?105 ? ? ? ? ?8TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? 13 ? ? ? ?113 ? ? ? ? ?8TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? 14 ? ? ? ?121 ? ? ? ? ?8TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? 15 ? ? ? ?129 ? ? ? ? ?8TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? 16 ? ? ? ?137 ? ? ? ?128TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? 17 ? ? ? ?265 ? ? ? ?128TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? 18 ? ? ? ?393 ? ? ? ?128TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? 19 ? ? ? ?521 ? ? ? ?128TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? 20 ? ? ? ?649 ? ? ? ?128TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? 21 ? ? ? ?777 ? ? ? ?128SEGMENT_NA ? ?FILE_ID ?EXTENT_ID ? BLOCK_ID ? ? BLOCKS---------- ---------- ---------- ---------- ----------TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? 22 ? ? ? ?905 ? ? ? ?128TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? 23 ? ? ? 1033 ? ? ? ?128TAB1 ? ? ? ? ? ? ? 23 ? ? ? ? 24 ? ? ? 1161 ? ? ? ?128TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? ?0 ? ? ? 1289 ? ? ? ? ?8TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? ?1 ? ? ? 1297 ? ? ? ? ?8TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? ?2 ? ? ? 1305 ? ? ? ? ?8TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? ?3 ? ? ? 1313 ? ? ? ? ?8TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? ?4 ? ? ? 1321 ? ? ? ? ?8TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? ?5 ? ? ? 1329 ? ? ? ? ?8TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? ?6 ? ? ? 1337 ? ? ? ? ?8TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? ?7 ? ? ? 1345 ? ? ? ? ?8SEGMENT_NA ? ?FILE_ID ?EXTENT_ID ? BLOCK_ID ? ? BLOCKS---------- ---------- ---------- ---------- ----------TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? ?8 ? ? ? 1353 ? ? ? ? ?8TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? ?9 ? ? ? 1361 ? ? ? ? ?8TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? 10 ? ? ? 1369 ? ? ? ? ?8TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? 11 ? ? ? 1377 ? ? ? ? ?8TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? 12 ? ? ? 1385 ? ? ? ? ?8TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? 13 ? ? ? 1393 ? ? ? ? ?8TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? 14 ? ? ? 1401 ? ? ? ? ?8TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? 15 ? ? ? 1409 ? ? ? ? ?8TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? 16 ? ? ? 1417 ? ? ? ?128TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? 17 ? ? ? 1545 ? ? ? ?128TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? 18 ? ? ? 1673 ? ? ? ?128SEGMENT_NA ? ?FILE_ID ?EXTENT_ID ? BLOCK_ID ? ? BLOCKS---------- ---------- ---------- ---------- ----------TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? 19 ? ? ? 1801 ? ? ? ?128TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? 20 ? ? ? 1929 ? ? ? ?128TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? 21 ? ? ? 2057 ? ? ? ?128TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? 22 ? ? ? 2185 ? ? ? ?128TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? 23 ? ? ? 2313 ? ? ? ?128TAB2 ? ? ? ? ? ? ? 23 ? ? ? ? 24 ? ? ? 2441 ? ? ? ?128

    50 rows selected.

    Block_id 是連續的

    SQL> truncate table tab1? 2 ?;Table truncated.SQL> select * from dba_free_space where file_id=23;TABLESPACE_NAME ? ? ? ? FILE_ID ? BLOCK_ID ? ? ?BYTES ? ? BLOCKS RELATIVE_FNO-------------------- ---------- ---------- ---------- ---------- ------------TEST2 ? ? ? ? ? ? ? ? ? ? ? ?23 ? ? ? ? 17 ########## ? ? ? 1272 ? ? ? ? ? 23TEST2 ? ? ? ? ? ? ? ? ? ? ? ?23 ? ? ? 2569 ########## ? ? ? ?120 ? ? ? ? ? 23

    有原來tab1 的free blocks 1272

    SQL> alter database datafile "/u01/app/oracle/oradata/orcl/test2.dbf" resize 12M;alter database datafile "/u01/app/oracle/oradata/orcl/test2.dbf" resize 12M*ERROR at line 1:ORA-03297: file contains used data beyond requested RESIZE value

    無法進行resize

    下面把tab1 drop 再測試

    SQL> drop table tab1 purge;Table dropped.SQL> alter database datafile "/u01/app/oracle/oradata/orcl/test2.dbf" resize 12M;alter database datafile "/u01/app/oracle/oradata/orcl/test2.dbf" resize 12M*ERROR at line 1:ORA-03297: file contains used data beyond requested RESIZE value

    依然報錯

    然后truncate tab2 再進行測試

    SQL> truncate table tab2;Table truncated.SQL> select * from dba_free_space where file_id=23;TABLESPACE_NAME ? ? ? ? FILE_ID ? BLOCK_ID ? ? ?BYTES ? ? BLOCKS RELATIVE_FNO-------------------- ---------- ---------- ---------- ---------- ------------TEST2 ? ? ? ? ? ? ? ? ? ? ? ?23 ? ? ? ? ?9 ########## ? ? ? 1280 ? ? ? ? ? 23TEST2 ? ? ? ? ? ? ? ? ? ? ? ?23 ? ? ? 1297 ########## ? ? ? 1392 ? ? ? ? ? 23SQL> alter database datafile "/u01/app/oracle/oradata/orcl/test2.dbf" resize 12M;Database altered.SQL> alter database datafile "/u01/app/oracle/oradata/orcl/test2.dbf" resize 6M;alter database datafile "/u01/app/oracle/oradata/orcl/test2.dbf" resize 6M*ERROR at line 1:ORA-03297: file contains used data beyond requested RESIZE value

    此時只能收縮 tab2 的空間 但是不能收縮 tab1的空間

    然后再drop tab2

    SQL> drop table tab2 purge? 2 ?;Table dropped.SQL> alter database datafile "/u01/app/oracle/oradata/orcl/test2.dbf" resize 6M;Database altered.SQL> alter database datafile "/u01/app/oracle/oradata/orcl/test2.dbf" resize 1M;Database altered.

    可以收縮tab1的空間

    note:

    收縮數據文件和兩個因素有關

    1 降低高水位

    2 free extent在datafile 的尾部

    本篇文章直接解釋了第二個

    如果空閑的extent如果在文件的中間,此時無法進行resize ,必須把尾部的object drop 然后重建 再resize datafile。

    也就是說同時期該用戶下其它表的寫入,也在這個數據文件下,那么就不能進行resize。

    把其它表移動到users表空間:

    select "alter index "||index_NAME||" rebuild tablespace users;" from user_indexes where TABLE_NAME not like "LOG_%";select "alter table "||TABLE_NAME||" move tablespace users;" from user_tables where TABLE_NAME not like "LOG_%";

    再次運行壓縮空間,成功

    2.6 查看壓縮的空間

    可以看到一下子多出了2.1T 的空間

    收縮空間運行速度還不錯,50多個數據文件,幾分鐘就壓縮完成。

    總結

    到此這篇關于Oracle縮表空間的文章就介紹到這了,更多相關Oracle縮表空間內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

    標簽: Oracle
    日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
    好看的亚洲午夜视频在线| 免费视频久久| 国产精品天天看天天狠| 国产福利一区二区精品秒拍 | 91精品福利观看| 欧美亚洲二区| 国内精品美女在线观看| 麻豆精品蜜桃| 99国内精品| 在线综合亚洲| 欧美一区二区三区免费看| 久久精品一区| 欧美色图国产精品| 中文在线日韩| 久久只有精品| 日韩午夜av| 国产欧美自拍一区| 色综合www| 蜜桃视频第一区免费观看| 日本va欧美va欧美va精品| 国产成人精选| 亚洲少妇自拍| 国产精品一区二区三区四区在线观看| 成年男女免费视频网站不卡| 国产综合激情| 国产欧美69| 99久久精品网| 国产丝袜一区| 国产精品av久久久久久麻豆网| 少妇精品在线| 久久精品主播| 国产精品成人国产| 亚洲资源av| 国产色99精品9i| 久久国产主播| 国产精品欧美三级在线观看| 99久久久久久中文字幕一区| 日本99精品| 欧美日韩国产一区二区三区不卡| 亚洲美女久久| 91日韩免费| 四虎精品永久免费| 中文字幕在线免费观看视频| 日韩三级久久| 国产精品91一区二区三区| 麻豆精品久久久| 亚洲一区欧美二区| 国产自产自拍视频在线观看| 国产欧美综合一区二区三区| 午夜久久黄色| 精品亚洲成人| 日韩在线观看中文字幕| 久久九九国产| 国内自拍视频一区二区三区| 亚洲麻豆一区| 国产传媒av在线| 日本综合视频| 久久av在线| 亚洲高清不卡| 成人片免费看| 国产福利资源一区| 日韩av在线免费观看不卡| 日韩视频一区| 1000部精品久久久久久久久| 福利欧美精品在线| 国产伦精品一区二区三区在线播放| 99视频精品| 国产在线欧美| 久久夜夜操妹子| 国产一区二区三区四区| 色综合视频一区二区三区日韩| 一区在线免费| 亚洲高清av| 成人在线网站| 久久久男人天堂| 国产一区丝袜| 久久中文字幕一区二区| 欧美激情aⅴ一区二区三区| 欧美一区激情| 日韩av不卡一区二区| 亚洲一区导航| 亚洲欧美日韩国产一区| 日韩视频一区| 噜噜噜久久亚洲精品国产品小说| 国产国产精品| 欧美一区二区三区高清视频| 亚洲www啪成人一区二区| xxxxx性欧美特大| 在线中文字幕播放| 国产中文在线播放| 日韩久久精品网| 久久久久国产| 最新国产拍偷乱拍精品| 伊人久久亚洲影院| 国产国产精品| 噜噜噜躁狠狠躁狠狠精品视频| 国产精品日韩久久久| 视频一区中文字幕| 亚洲一区有码| 欧美片第1页综合| 国产午夜精品一区在线观看| 国产精选一区| 六月婷婷综合| 91精品国产自产在线观看永久∴ | 久久精品免视看国产成人| 国产精品手机在线播放| 精品国产一级| www.com.cn成人| 久久亚洲在线| 免费成人在线影院| 日韩精品视频在线看| 国产精品任我爽爆在线播放| 久久精品国产999大香线蕉| 91综合网人人| 激情婷婷综合| 亚洲狼人精品一区二区三区| 日韩高清不卡一区| 美女视频一区在线观看| 国产成人精品亚洲日本在线观看| 首页国产精品| 欧美女激情福利| 日本在线成人| 久久三级毛片| 天堂网在线观看国产精品| 天堂va欧美ⅴa亚洲va一国产| 国产精品欧美日韩一区| 成人福利av| 久久午夜精品一区二区| 国产欧美一区二区精品久久久| 国产精品99一区二区三| 在线成人直播| 国产美女亚洲精品7777| 啪啪国产精品| 日韩在线麻豆| 亚洲精品在线影院| 亚洲综合色婷婷在线观看| 麻豆91精品视频| 99国产精品视频免费观看一公开 | 男人天堂欧美日韩| 国产情侣久久| 久久婷婷亚洲| 日本v片在线高清不卡在线观看| 欧美aaaaaa午夜精品| 好吊一区二区三区| 欧美国产三级| 亚洲精品小说| 国产经典一区| 亚洲欧美日韩一区在线观看| 精品一区91| 蜜桃视频免费观看一区| 91视频精品| 日韩不卡手机在线v区| 精品成人免费一区二区在线播放| 亚洲麻豆一区| 欧美三级精品| 国产亚洲精aa在线看| 精品欧美久久| 成人亚洲精品| 亚州精品视频| 蜜臀久久99精品久久一区二区| 国产日韩中文在线中文字幕 | 午夜日韩福利| 日韩成人a**站| 日韩黄色av| 午夜久久美女| 麻豆成全视频免费观看在线看| 亚洲免费成人av在线| 日韩一区二区三区在线免费观看| 欧美日韩1区| 美女日韩在线中文字幕| 中文字幕系列一区| 精品免费av一区二区三区| 日韩国产精品久久久久久亚洲| 亚洲大全视频| 日韩一区二区中文| 麻豆精品蜜桃视频网站| 日韩国产在线观看一区| 日韩中文字幕91| 欧美日韩国产一区二区三区不卡| 国产白浆在线免费观看| 欧美1区二区| 欧美色综合网| 久久高清国产| 欧美1区2区3区| 亚洲涩涩在线| 国产美女高潮在线观看| 麻豆一区二区在线| 国产免费av国片精品草莓男男| 亚洲九九精品| 蜜臀久久久99精品久久久久久| 不卡一区2区| 成人片免费看| 在线人成日本视频| 久久久久久一区二区| 精品免费视频| 精品国产一区二区三区2021| 国产精品.xx视频.xxtv| 久久精品99国产国产精| 青青国产91久久久久久| 四虎精品一区二区免费|