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

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Oracle縮表空間的完整解決實(shí)例

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

    備注:

    Oracle 11.2.0.4

    一. 需求

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

    如下圖所示,4T的空間已經(jīng)差不多用完。

    二. 解決方案

    首先想到的是清理掉超過(guò)半年的數(shù)據(jù),然后resize 表空間。

    2.1 清理過(guò)期數(shù)據(jù)

    因?yàn)闃I(yè)務(wù)的表是 tablename_yearmonth格式,例如 log_202204,每個(gè)月一個(gè)表,所以直接進(jìn)行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語(yǔ)句拷貝出來(lái)執(zhí)行:

    有部分報(bào)錯(cuò):

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

    2.3 清理表碎片

    因?yàn)槲沂褂玫氖莟runcate,理論上不會(huì)受高水位的影響,在網(wǎng)上找了幾個(gè)博客,也是說(shuō)要降低表的高水位,清理表碎片。

    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%";

    清理完碎片之后,重新執(zhí)行,依舊報(bào)錯(cuò)。

    2.4 直接把相關(guān)的表drop掉

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

    drop掉表之后,重新執(zhí)行,依舊報(bào)錯(cuò)。

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

    萬(wàn)能的itpub上有個(gè)博客:

    Truncate table 或者 drop table 收縮數(shù)據(jù)文件,經(jīng)常遇到ORA-03297: file contains used data beyond requested RESIZE value 查詢dba_free_space 也有空閑空間。經(jīng)過(guò)查詢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.

    意思是說(shuō)如果空閑的extent如果在文件的中間,此時(shí)無(wú)法進(jìn)行resize ,必須把尾部的object drop 然后重建 再resize datafile。以下是本人做的測(cè)試;

    ?[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 是連續(xù)的

    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

    有原來(lái)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

    無(wú)法進(jìn)行resize

    下面把tab1 drop 再測(cè)試

    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

    依然報(bào)錯(cuò)

    然后truncate tab2 再進(jìn)行測(cè)試

    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

    此時(shí)只能收縮 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:

    收縮數(shù)據(jù)文件和兩個(gè)因素有關(guān)

    1 降低高水位

    2 free extent在datafile 的尾部

    本篇文章直接解釋了第二個(gè)

    如果空閑的extent如果在文件的中間,此時(shí)無(wú)法進(jìn)行resize ,必須把尾部的object drop 然后重建 再resize datafile。

    也就是說(shuō)同時(shí)期該用戶下其它表的寫入,也在這個(gè)數(shù)據(jù)文件下,那么就不能進(jìn)行resize。

    把其它表移動(dòng)到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_%";

    再次運(yùn)行壓縮空間,成功

    2.6 查看壓縮的空間

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

    收縮空間運(yùn)行速度還不錯(cuò),50多個(gè)數(shù)據(jù)文件,幾分鐘就壓縮完成。

    總結(jié)

    到此這篇關(guān)于Oracle縮表空間的文章就介紹到這了,更多相關(guān)Oracle縮表空間內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

    標(biāo)簽: Oracle
    日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
    欧美高清一区| 国产亚洲精品v| 欧美亚洲三级| 蜜桃视频免费观看一区| 午夜国产精品视频| 婷婷亚洲综合| 男女精品网站| 婷婷久久免费视频| 国产乱码精品一区二区三区亚洲人 | 成人在线免费观看网站| 精品日韩一区| 久久影院午夜精品| 欧美日韩精品免费观看视完整| 波多视频一区| 激情丁香综合| 一本综合精品| 国产欧美日韩免费观看| 精品女同一区二区三区在线观看| 日韩深夜视频| 亚洲激情av| 亚洲综合激情在线| 91精品美女| 国内在线观看一区二区三区| 精品三级久久| 久久国产高清| 久久激五月天综合精品| 精品国产aⅴ| 一区二区三区四区在线看| 国产手机视频一区二区| 色综合视频一区二区三区日韩 | 日韩av一二三| av最新在线| 欧美在线资源| 久久国产视频网| 日韩国产在线| 亚洲欧美日韩国产一区二区| 国产欧美88| 久久国产精品成人免费观看的软件| 美女日韩在线中文字幕| 国产伦乱精品| 久久久久久免费视频| 丝袜美腿成人在线| 久久精品超碰| 欧美一区二区三区高清视频| 97久久超碰| 日韩一区二区三区在线免费观看| 一区二区三区四区精品视频| 久久精品九色| 欧美在线综合| sm久久捆绑调教精品一区| 午夜一区在线| 精品视频在线一区二区在线| 午夜一区在线| 久久久久久网| 日本伊人久久| 久久精品二区三区| 日本中文字幕视频一区| 午夜av成人| 欧美日韩精品一区二区三区视频 | 日本久久一区| 欧美日韩一区二区三区四区在线观看 | 日本麻豆一区二区三区视频| 日韩国产激情| 久久精品超碰| 久久xxxx| 成人午夜国产| 嫩草伊人久久精品少妇av杨幂| 亚洲激情不卡| 五月天av在线| 麻豆国产欧美日韩综合精品二区| 老牛国产精品一区的观看方式| 国产粉嫩在线观看| 国产精品巨作av| 日韩制服丝袜av| 久久久久91| 麻豆高清免费国产一区| 亚洲一区二区三区中文字幕在线观看| 亚洲香蕉久久| 国产美女视频一区二区| 久久电影tv| 日本免费在线视频不卡一不卡二| 久久国产毛片| 久久久久九九精品影院| 亚洲三级观看| 亚洲精品国产偷自在线观看| 欧美黑人做爰爽爽爽| 亚洲我射av| 99在线观看免费视频精品观看| 美日韩一区二区三区| 亚州av日韩av| 久久国产精品久久久久久电车 | 97人人精品| 国产一级成人av| 亚洲欧美久久精品| 日韩视频在线一区二区三区| 日韩一区二区三区免费播放| 你懂的亚洲视频| 国产欧美高清| 国产精品一区毛片| 热久久久久久| 日韩成人一级| 亚洲精品在线a| 国产手机视频一区二区| 欧美 日韩 国产一区二区在线视频 | 日本一区二区中文字幕| 美国三级日本三级久久99| 免费观看久久av| 久久亚洲国产| 少妇久久久久| 日韩毛片视频| 日韩欧美精品一区| 女生影院久久| 亚洲播播91| 日本高清不卡一区二区三区视频| 日韩不卡一区| 丰满少妇一区| 国产精品99视频| 日韩大片在线观看| 久久精品1区| 久久久久免费av| 午夜日韩福利| 在线视频亚洲| 免费日韩一区二区| 亚洲精品三级| 欧美永久精品| 国产亚洲一区二区三区啪| 欧美日韩一区自拍| 国产极品久久久久久久久波多结野| 久久国产三级精品| 美女视频网站久久| 久久久久伊人| 福利在线免费视频| 91精品蜜臀一区二区三区在线 | 狠狠久久伊人| 欧洲亚洲一区二区三区| 欧美日韩中文一区二区| 欧美日韩精品一本二本三本 | 麻豆91在线播放| а√天堂8资源中文在线| 四虎国产精品免费观看| 亚洲伊人av| 婷婷久久一区| 色8久久久久| 欧美成a人片免费观看久久五月天| 精品高清久久| 91久久国产| 日韩国产在线观看| 久久三级中文| 亚洲二区视频| 中文视频一区| 国产一卡不卡| 亚洲黄色免费av| 黄色亚洲免费| 青草av.久久免费一区| 国产精品一区二区三区www| 精品网站999| 亚洲精品一区二区妖精| 最近国产精品视频| 国产精品对白久久久久粗| 国产精品22p| 日韩在线不卡| 美女国产一区| 麻豆精品蜜桃视频网站| 激情综合亚洲| 国产欧美亚洲一区| 久久国产毛片| 日韩av中文字幕一区二区| 激情视频网站在线播放色| 日韩中文字幕区一区有砖一区 | 日本强好片久久久久久aaa| 国产一区二区三区四区| av亚洲在线观看| 欧美一区影院| 亚洲成人va| 欧美日韩精品一区二区三区视频 | 日本在线一区二区三区| 久久97视频| 香蕉精品999视频一区二区| 国产无遮挡裸体免费久久| 亚洲伦乱视频| 国产欧美日韩影院| 亚洲精品网址| 精品视频高潮| 综合激情五月婷婷| 亚洲国产福利| 日韩国产一二三区| 欧美/亚洲一区| 欧美a一区二区| 只有精品亚洲| 国产白浆在线免费观看| 日本国产亚洲| 亚洲女同中文字幕| 久久精品国产在热久久| 蜜桃免费网站一区二区三区| 激情黄产视频在线免费观看| 日韩毛片一区| 欧美日韩中文字幕一区二区三区| 欧美精品第一区| 亚洲精品乱码| 欧美精品一区二区三区精品|