測試truncate,delete 對rman 備份集大小的影響
思路:
建立5張一模一樣大小的表並插入blob 欄位,表b3 在表空間b3上,表b4 在表空間b4上,表b7 在表空間b4上,表b5 在表空間b5上,。b8 在表空間b8上
create table xx(id int ,img blob);
上面表空間裡面都只有一個檔案,載入完資料後大小都為800M。
1、備份表空間 b3
rman>backup tablespace b3 format '/orabak/tb_%d_%U';
備份集大小為
[oracle@DATABASE orabak]$ du -h tb_ORCL_0aq1jkl2_1_1
775M tb_ORCL_0aq1jkl2_1_1
truncate table B3;
繼續備份表空間b3
rman>backup tablespace b3 format '/orabak/tbs_%d_%U';
備份集大小為
-rw-r----- 1 oracle oinstall 1613824 Mar 11 23:42 tbs_ORCL_0bq1jkrt_1_1 16M
一個775M truncate後為16M
2、繼續往下看
truncate 表b4
備份表空間b4
[oracle@DATABASE orabak]$ du -h tbs4_ORCL_0cq1jlc7_1_1
775M tbs4_ORCL_0cq1jlc7_1_1
大小同樣為775M
3、測試刪除
1、刪除單數行資料(這裡刪除單行是造成空閒塊不連續)
delete from b5 where mod(id,2)=1
備份表空間b5 (沒有關係的因為每個表空間只有一個資料檔案且存放一張表所有的表資料量相同)
rman>backup tablespace b5 format '/orabak/tbs5_%d_%U';
備份集合大小為
[oracle@DATABASE orabak]$ du -h tbs5_ORCL_0dq1jmp1_1_1
776M tbs5_ORCL_0dq1jmp1_1_1
2、刪除id 小於2048的資料
delete from b5 where id<1024;
備份表空間b5
backup tablespace b5 format '/orabak/tbs5_%d_%U';
[oracle@DATABASE orabak]$ du -h tbs52_ORCL_0eq1jn3b_1_1
776M tbs52_ORCL_0eq1jn3b_1_1
大小不變
3、刪除id>1024的資料我們在b8表上操作
delete from b8 where id>1024;
備份表空間b8
[oracle@DATABASE orabak]$ du -h tbs8_ORCL_0fq1jnk8_1_1
776M tbs8_ORCL_0fq1jnk8_1_1
備份集大小不變
結論:truncate 對rman 是有效果的
delete 對rman 來講 就算你刪除了資料他的備份大小還是檔案的大小相當
我這裡刪除單行,刪除<1024 刪除>1024 是想驗證備份時候時不時基於block 塊的ID 來計算的。你要了解資料庫分配空間的過程和原理
---------------------------------------注意本次實驗是在測試庫上基於普通檔案系統非ASM 離散檔案系統-----------------------------------------------
建立5張一模一樣大小的表並插入blob 欄位,表b3 在表空間b3上,表b4 在表空間b4上,表b7 在表空間b4上,表b5 在表空間b5上,。b8 在表空間b8上
create table xx(id int ,img blob);
上面表空間裡面都只有一個檔案,載入完資料後大小都為800M。
1、備份表空間 b3
rman>backup tablespace b3 format '/orabak/tb_%d_%U';
備份集大小為
[oracle@DATABASE orabak]$ du -h tb_ORCL_0aq1jkl2_1_1
775M tb_ORCL_0aq1jkl2_1_1
truncate table B3;
繼續備份表空間b3
rman>backup tablespace b3 format '/orabak/tbs_%d_%U';
備份集大小為
-rw-r----- 1 oracle oinstall 1613824 Mar 11 23:42 tbs_ORCL_0bq1jkrt_1_1 16M
一個775M truncate後為16M
2、繼續往下看
truncate 表b4
備份表空間b4
[oracle@DATABASE orabak]$ du -h tbs4_ORCL_0cq1jlc7_1_1
775M tbs4_ORCL_0cq1jlc7_1_1
大小同樣為775M
3、測試刪除
1、刪除單數行資料(這裡刪除單行是造成空閒塊不連續)
delete from b5 where mod(id,2)=1
備份表空間b5 (沒有關係的因為每個表空間只有一個資料檔案且存放一張表所有的表資料量相同)
rman>backup tablespace b5 format '/orabak/tbs5_%d_%U';
備份集合大小為
[oracle@DATABASE orabak]$ du -h tbs5_ORCL_0dq1jmp1_1_1
776M tbs5_ORCL_0dq1jmp1_1_1
2、刪除id 小於2048的資料
delete from b5 where id<1024;
備份表空間b5
backup tablespace b5 format '/orabak/tbs5_%d_%U';
[oracle@DATABASE orabak]$ du -h tbs52_ORCL_0eq1jn3b_1_1
776M tbs52_ORCL_0eq1jn3b_1_1
大小不變
3、刪除id>1024的資料我們在b8表上操作
delete from b8 where id>1024;
備份表空間b8
[oracle@DATABASE orabak]$ du -h tbs8_ORCL_0fq1jnk8_1_1
776M tbs8_ORCL_0fq1jnk8_1_1
備份集大小不變
結論:truncate 對rman 是有效果的
delete 對rman 來講 就算你刪除了資料他的備份大小還是檔案的大小相當
我這裡刪除單行,刪除<1024 刪除>1024 是想驗證備份時候時不時基於block 塊的ID 來計算的。你要了解資料庫分配空間的過程和原理
---------------------------------------注意本次實驗是在測試庫上基於普通檔案系統非ASM 離散檔案系統-----------------------------------------------
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26764973/viewspace-1455460/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- rman開啟備份優化對備份歸檔的影響優化
- Backup And Recovery User's Guide-備份RMAN備份-備份保留期對備份的備份的影響GUIIDE
- RMAN備份恢復之歸檔日誌對BLOCKRECOVER的影響BloC
- nid 對RMAN備份的影響--- 控制檔案中備份記錄全部丟失
- 表的storage (MINEXTENTS 屬性對truncate後表大小的影響
- OS和資料庫版本不同對RMAN備份還原的影響資料庫
- Backup And Recovery User's Guide-RMAN備份概念-備份集的數量和大小(多路化備份集)GUIIDE
- rman backup ENCRYPTION(備份加密特性)測試!加密
- RMAN備份恢復測試指令碼指令碼
- rman備份集的保留策略
- [20121127]rman備份資料檔案大小與truncate.txt
- 歸檔日誌大小 與使用rman 備份後的歸檔日誌產生的備份集大小的關係
- truncate 和 delete 的效能對比delete
- Backup And Recovery User's Guide-備份RMAN備份-使用RMAN備份備份集GUIIDE
- delete語句對索引的影響之分析delete索引
- RMAN說,我能備份(11)--RMAN中的備份集屬性
- rman備份的策略和croosschek delete基本命令delete
- Stripe Size大小對讀寫的影響
- stopkey對索引掃描的影響測試TopK索引
- 人工智慧對軟體測試的影響人工智慧
- 測試SQLPLUS的ARRAYSIZE對效能的影響SQL
- RMAN筆記之備份集和備份片筆記
- rman備份恢復-rman恢復資料檔案測試
- Oracle DG從庫 Rman備份恢復測試Oracle
- Backup And Recovery User's Guide-RMAN備份概念-備份集-備份集和備份片GUIIDE
- mysql的DDL操作對業務產生影響測試MySql
- RMAN備份之備份多個備份集到帶庫(三)
- RMAN備份之備份多個備份集到帶庫(二)
- RMAN備份之備份多個備份集到帶庫(一)
- RMAN備份多個備份集到帶庫的小bug
- MySQL和Oracle中的delete,truncate對比MySqlOracledelete
- ASM+RMAN使用delete input備份日誌的問題ASMdelete
- [Oracle] rman備份channel數量和時間測試.Oracle
- Oracle 11g 測試停庫對job的影響Oracle
- Backup And Recovery User's Guide-RMAN備份概念-備份集-備份集塊壓縮GUIIDE
- 深入探討!Batch 大小對訓練的影響BAT
- RMAN備份恢復——備份集儲存位置改變
- MogDB/openGauss 壞塊測試-對啟動的影響-測試筆記1筆記