oracle 靜態歷史資料的壓縮分離
最近一直在糾結資料庫伺服器空間的問題, 前段時間此伺服器由於空間的問題調整過備份策略, 但是效果不是很明顯,由於此庫是一個類似資料倉儲的系統, 裡面有很多靜態(用於只讀的)的歷史資料,由於是以前的老專案,增加硬體儲存是非常地難, 你懂的。。。 呵呵 於是想到了資料庫的壓縮分離的方法,此方案主要有以下步驟:
A. 與專案經理會議,決定需要分離與壓縮的物件
B. 建立新的歷史表空間
C. 檢查相關物件的索引 儲存過程 包體 執行的job,以及將要執行的job
D. 先對資料進行遷移, 再對索引進行遷移
E. 將靜態資料分割批次進行,每完成一批次,完成失效物件編譯 ,
$ORACLE_HOME/rdbms/admin/utlrp.sql
首先統計分離壓縮前的資料大小:
SQL> select tablespace_name,sum(blocks),sum(bytes)/1024/1024/1024 from dba_segments where owner='P_STDT' group by tablespace_name;
TABLESPACE_NAME SUM(BLOCKS) SUM(BYTES)/1024/1024/1024
------------------------------ ----------- -------------------------
STDT 71815992 547.912536621094
STDT_INDEX 10784296 82.2776489257813
遷移前歷史表空間的建立:
SQL> CREATE TABLESPACE STDT_HIS DATAFILE
2 '/data/app/oracle/oradata/mostdt4/stdt_his01.dbf' SIZE 25600M AUTOEXTEND OFF,
3 '/data/app/oracle/oradata/mostdt4/stdt_his02.dbf' SIZE 25600M AUTOEXTEND OFF,
4 '/data/app/oracle/oradata/mostdt4/stdt_his03.dbf' SIZE 25600M AUTOEXTEND OFF,
5 '/data/app/oracle/oradata/mostdt4/stdt_his04.dbf' SIZE 25600M AUTOEXTEND OFF
6 LOGGING
7 ONLINE
8 PERMANENT
9 EXTENT MANAGEMENT LOCAL AUTOALLOCATE
10 BLOCKSIZE 8K
11 SEGMENT SPACE MANAGEMENT AUTO
12 FLASHBACK ON;
Tablespace created
SQL> CREATE TABLESPACE STDT_HIS_INDEX DATAFILE
2 '/data/app/oracle/oradata/mostdt4/stdt_his_index01.dbf' SIZE 25600M AUTOEXTEND OFF
3 LOGGING
4 ONLINE
5 PERMANENT
6 EXTENT MANAGEMENT LOCAL AUTOALLOCATE
7 BLOCKSIZE 8K
8 SEGMENT SPACE MANAGEMENT AUTO
9 FLASHBACK ON;
Tablespace created
SQL> alter user p_stdt quota unlimited on stdt_his;
User altered
SQL> alter user p_stdt quota unlimited on stdt_his_index;
User altered
小試牛刀:
SQL> select count(*) from dba_indexes where table_name in('TBL_STDT_AH11_MB_1007','TBL_STDT_AH11_MB_1008', 'TBL_STDT_AH11_MB_1009', 'TBL_STDT_AH11_MB_1010','TBL_STDT_AH11_MB_1011');
COUNT(*)
----------
0
做壓縮處理 並轉移表空間
SQL> alter table TBL_STDT_AH11_MB_1007 move compress tablespace stdt_his;
Table altered
SQL>
SQL> alter table TBL_STDT_AH11_MB_1008 move compress tablespace stdt_his;
Table altered
SQL> alter table TBL_STDT_AH11_MB_1009 move compress tablespace stdt_his;
Table altered
SQL> alter table TBL_STDT_AH11_MB_1010 move compress tablespace stdt_his;
Table altered
SQL> alter table TBL_STDT_AH11_MB_1011 move compress tablespace stdt_his;
Table altered
壓縮後:
SQL> select sum(bytes)/1024/1024/1024 from dba_segments where segment_name in ('TBL_STDT_AH11_MB_1007','TBL_STDT_AH11_MB_1008', 'TBL_STDT_AH11_MB_1009', 'TBL_STDT_AH11_MB_1010','TBL_STDT_AH11_MB_1011');
SUM(BYTES)/1024/1024/1024
-------------------------
1.4765625
沒有出現什麼問題, 繼續。。。。。。
壓縮前:
SQL> select count(*) from dba_indexes where table_name in('TBL_STDT_FJ08_MB_1006','TBL_STDT_FJ08_MB_1007','TBL_STDT_FJ08_MB_1008','TBL_STDT_GD01_MB_1007','TBL_STDT_GD01_MB_1008',
2 'TBL_STDT_GD01_MB_1009',
3 'TBL_STDT_GD01_MB_1010',
4 'TBL_STDT_GD01_MB_1011',
5 'TBL_STDT_GX03_MB_1007',
6 'TBL_STDT_GX03_MB_1008',
7 'TBL_STDT_GX03_MB_1009',
8 'TBL_STDT_GX03_MB_1010',
9 'TBL_STDT_GZ10_MB_1007',
10 'TBL_STDT_GZ10_MB_1008',
11 'TBL_STDT_GZ10_MB_1010',
12 'TBL_STDT_GZ10_MB_1011',
13 'TBL_STDT_GZ10_MB_1012',
14 'TBL_STDT_GZ10_MB_1013',
15 'TBL_STDT_GZ10_MB_1102',
16 'TBL_STDT_HB14_MB_1009',
17 'TBL_STDT_HB14_MB_1010',
18 'TBL_STDT_HB14_MB_1011',
19 'TBL_STDT_HB14_MB_1012',
20 'TBL_STDT_HB14_MB_1101',
21 'TBL_STDT_HB14_MB_1102',
22 'TBL_STDT_HB16_MB_1007',
23 'TBL_STDT_HB16_MB_1008',
24 'TBL_STDT_HB16_MB_1009',
25 'TBL_STDT_HB16_MB_1010',
26 'TBL_STDT_HLJ09_MB_1007',
27 'TBL_STDT_HLJ09_MB_1008',
28 'TBL_STDT_HLJ09_MB_1009',
29 'TBL_STDT_HLJ09_MB_1010',
30 'TBL_STDT_HLJ09_MB_1011',
31 'TBL_STDT_HLJ09_MB_1012',
32 'TBL_STDT_HN15_MB_1007',
33 'TBL_STDT_HN15_MB_1008',
34 'TBL_STDT_HN15_MB_1009',
35 'TBL_STDT_HN15_MB_1010',
36 'TBL_STDT_HN15_MB_1011',
37 'TBL_STDT_HN15_MB_1012',
38 'TBL_STDT_HN17_MB_1101',
39 'TBL_STDT_JL18_MB_1007',
40 'TBL_STDT_JL18_MB_1008',
41 'TBL_STDT_JL18_MB_1009',
42 'TBL_STDT_JL18_MB_1010',
43 'TBL_STDT_JL18_MB_1011',
44 'TBL_STDT_JL18_MB_1012',
45 'TBL_STDT_JL18_MB_1101',
46 'TBL_STDT_JL18_MB_1102',
47 'TBL_STDT_JX20_MB_1007',
48 'TBL_STDT_JX20_MB_1008',
49 'TBL_STDT_JX20_MB_1009',
50 'TBL_STDT_JX20_MB_1010',
51 'TBL_STDT_JX20_MB_1011',
52 'TBL_STDT_JX20_MB_1012',
53 'TBL_STDT_JX20_MB_ACCT',
54 'TBL_STDT_JX20_MB_CUST');
COUNT(*)
----------
29
準備好索引的遷移指令碼:
SQL> select 'alter index '|| index_name || ' rebuild parallel 4 tablespace stdt_his_index;' from dba_indexes where table_name in('TBL_STDT_FJ08_MB_1006','TBL_STDT_FJ08_MB_1007','TBL_STDT_FJ08_MB_1008','TBL_STDT_GD01_MB_1007','TBL_STDT_GD01_MB_1008',
2 'TBL_STDT_GD01_MB_1009',
3 'TBL_STDT_GD01_MB_1010',
4 'TBL_STDT_GD01_MB_1011',
5 'TBL_STDT_GX03_MB_1007',
6 'TBL_STDT_GX03_MB_1008',
7 'TBL_STDT_GX03_MB_1009',
8 'TBL_STDT_GX03_MB_1010',
9 'TBL_STDT_GZ10_MB_1007',
10 'TBL_STDT_GZ10_MB_1008',
11 'TBL_STDT_GZ10_MB_1010',
12 'TBL_STDT_GZ10_MB_1011',
13 'TBL_STDT_GZ10_MB_1012',
14 'TBL_STDT_GZ10_MB_1013',
15 'TBL_STDT_GZ10_MB_1102',
16 'TBL_STDT_HB14_MB_1009',
17 'TBL_STDT_HB14_MB_1010',
18 'TBL_STDT_HB14_MB_1011',
19 'TBL_STDT_HB14_MB_1012',
20 'TBL_STDT_HB14_MB_1101',
21 'TBL_STDT_HB14_MB_1102',
22 'TBL_STDT_HB16_MB_1007',
23 'TBL_STDT_HB16_MB_1008',
24 'TBL_STDT_HB16_MB_1009',
25 'TBL_STDT_HB16_MB_1010',
26 'TBL_STDT_HLJ09_MB_1007',
27 'TBL_STDT_HLJ09_MB_1008',
28 'TBL_STDT_HLJ09_MB_1009',
29 'TBL_STDT_HLJ09_MB_1010',
30 'TBL_STDT_HLJ09_MB_1011',
31 'TBL_STDT_HLJ09_MB_1012',
32 'TBL_STDT_HN15_MB_1007',
33 'TBL_STDT_HN15_MB_1008',
34 'TBL_STDT_HN15_MB_1009',
35 'TBL_STDT_HN15_MB_1010',
36 'TBL_STDT_HN15_MB_1011',
37 'TBL_STDT_HN15_MB_1012',
38 'TBL_STDT_HN17_MB_1101',
39 'TBL_STDT_JL18_MB_1007',
40 'TBL_STDT_JL18_MB_1008',
41 'TBL_STDT_JL18_MB_1009',
42 'TBL_STDT_JL18_MB_1010',
43 'TBL_STDT_JL18_MB_1011',
44 'TBL_STDT_JL18_MB_1012',
45 'TBL_STDT_JL18_MB_1101',
46 'TBL_STDT_JL18_MB_1102',
47 'TBL_STDT_JX20_MB_1007',
48 'TBL_STDT_JX20_MB_1008',
49 'TBL_STDT_JX20_MB_1009',
50 'TBL_STDT_JX20_MB_1010',
51 'TBL_STDT_JX20_MB_1011',
52 'TBL_STDT_JX20_MB_1012',
53 'TBL_STDT_JX20_MB_ACCT',
54 'TBL_STDT_JX20_MB_CUST');
'ALTERINDEX'||INDEX_NAME||'REB
--------------------------------------------------------------------------------
alter index UI_STDT_HN15_MB_1008 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_FJ08_MB_1006 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_GX03_MB_1008 rebuild parallel 4 tablespace stdt_his_index;
alter index INDEX_HN17_MB_1101 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_GX03_MB_1007 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_GX03_MB_1009 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_GX03_MB_1010 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_JX20_MB_1007 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_HN15_MB_1007 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_JX20_MB_1011 rebuild parallel 4 tablespace stdt_his_index;
alter index I_GZ10_1010 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_JX20_MB_CUST rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_JX20_MB_ACCOUNT rebuild parallel 4 tablespace stdt_his_index
alter index UI_STDT_JX20_MB_1009 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_JX20_MB_1010 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_HN15_MB_1009 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_HN15_MB_1010 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_HB14_MB_1101 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_HB14_MB_1102 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_HB14_MB_1012 rebuild parallel 4 tablespace stdt_his_index;
'ALTERINDEX'||INDEX_NAME||'REB
--------------------------------------------------------------------------------
alter index INDEX_GZ1007 rebuild parallel 4 tablespace stdt_his_index;
alter index I_GZ10_1011 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_JX20_MB_1008 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_JX20_MB_1012 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_HB14_MB_1009 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_HB14_MB_1010 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_HN15_MB_1011 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_HN15_MB_1012 rebuild parallel 4 tablespace stdt_his_index;
alter index UI_STDT_HB14_MB_1011 rebuild parallel 4 tablespace stdt_his_index;
29 rows selected
--為了防止redo log對空間的衝擊, 在進行大資料量的索引rebuild 時, 強烈建議使用
Nologging 的方式。
SQL> select sum(bytes)/1024/1024/1024,sum(blocks) from dba_segments where segment_name in
2 ('TBL_STDT_FJ08_MB_1006','TBL_STDT_FJ08_MB_1007','TBL_STDT_FJ08_MB_1008','TBL_STDT_GD01_MB_1007','TBL_STDT_GD01_MB_1008',
3 'TBL_STDT_GD01_MB_1009',
4 'TBL_STDT_GD01_MB_1010',
5 'TBL_STDT_GD01_MB_1011',
6 'TBL_STDT_GX03_MB_1007',
7 'TBL_STDT_GX03_MB_1008',
8 'TBL_STDT_GX03_MB_1009',
9 'TBL_STDT_GX03_MB_1010',
10 'TBL_STDT_GZ10_MB_1007',
11 'TBL_STDT_GZ10_MB_1008',
12 'TBL_STDT_GZ10_MB_1010',
13 'TBL_STDT_GZ10_MB_1011',
14 'TBL_STDT_GZ10_MB_1012',
15 'TBL_STDT_GZ10_MB_1013',
16 'TBL_STDT_GZ10_MB_1102',
17 'TBL_STDT_HB14_MB_1009',
18 'TBL_STDT_HB14_MB_1010',
19 'TBL_STDT_HB14_MB_1011',
20 'TBL_STDT_HB14_MB_1012',
21 'TBL_STDT_HB14_MB_1101',
22 'TBL_STDT_HB14_MB_1102',
23 'TBL_STDT_HB16_MB_1007',
24 'TBL_STDT_HB16_MB_1008',
25 'TBL_STDT_HB16_MB_1009',
26 'TBL_STDT_HB16_MB_1010',
27 'TBL_STDT_HLJ09_MB_1007',
28 'TBL_STDT_HLJ09_MB_1008',
29 'TBL_STDT_HLJ09_MB_1009',
30 'TBL_STDT_HLJ09_MB_1010',
31 'TBL_STDT_HLJ09_MB_1011',
32 'TBL_STDT_HLJ09_MB_1012',
33 'TBL_STDT_HN15_MB_1007',
34 'TBL_STDT_HN15_MB_1008',
35 'TBL_STDT_HN15_MB_1009',
36 'TBL_STDT_HN15_MB_1010',
37 'TBL_STDT_HN15_MB_1011',
38 'TBL_STDT_HN15_MB_1012',
39 'TBL_STDT_HN17_MB_1101',
40 'TBL_STDT_JL18_MB_1007',
41 'TBL_STDT_JL18_MB_1008',
42 'TBL_STDT_JL18_MB_1009',
43 'TBL_STDT_JL18_MB_1010',
44 'TBL_STDT_JL18_MB_1011',
45 'TBL_STDT_JL18_MB_1012',
46 'TBL_STDT_JL18_MB_1101',
47 'TBL_STDT_JL18_MB_1102',
48 'TBL_STDT_JX20_MB_1007',
49 'TBL_STDT_JX20_MB_1008',
50 'TBL_STDT_JX20_MB_1009',
51 'TBL_STDT_JX20_MB_1010',
52 'TBL_STDT_JX20_MB_1011',
53 'TBL_STDT_JX20_MB_1012',
54 'TBL_STDT_JX20_MB_ACCT',
55 'TBL_STDT_JX20_MB_CUST');
SUM(BYTES)/1024/1024/1024 SUM(BLOCKS)
------------------------- -----------
92.4228515625 12114048
壓縮後:
SQL> select sum(bytes)/1024/1024/1024,sum(blocks) from dba_segments where segment_name in('TBL_STDT_FJ08_MB_1006','TBL_STDT_FJ08_MB_1007','TBL_STDT_FJ08_MB_1008','TBL_STDT_GD01_MB_1007','TBL_STDT_GD01_MB_1008',
2 'TBL_STDT_GD01_MB_1009',
3 'TBL_STDT_GD01_MB_1010',
4 'TBL_STDT_GD01_MB_1011',
5 'TBL_STDT_GX03_MB_1007',
6 'TBL_STDT_GX03_MB_1008',
7 'TBL_STDT_GX03_MB_1009',
8 'TBL_STDT_GX03_MB_1010',
9 'TBL_STDT_GZ10_MB_1007',
10 'TBL_STDT_GZ10_MB_1008',
11 'TBL_STDT_GZ10_MB_1010',
12 'TBL_STDT_GZ10_MB_1011',
13 'TBL_STDT_GZ10_MB_1012',
14 'TBL_STDT_GZ10_MB_1013',
15 'TBL_STDT_GZ10_MB_1102',
16 'TBL_STDT_HB14_MB_1009',
17 'TBL_STDT_HB14_MB_1010',
18 'TBL_STDT_HB14_MB_1011',
19 'TBL_STDT_HB14_MB_1012',
20 'TBL_STDT_HB14_MB_1101',
21 'TBL_STDT_HB14_MB_1102',
22 'TBL_STDT_HB16_MB_1007',
23 'TBL_STDT_HB16_MB_1008',
24 'TBL_STDT_HB16_MB_1009',
25 'TBL_STDT_HB16_MB_1010',
26 'TBL_STDT_HLJ09_MB_1007',
27 'TBL_STDT_HLJ09_MB_1008',
28 'TBL_STDT_HLJ09_MB_1009',
29 'TBL_STDT_HLJ09_MB_1010',
30 'TBL_STDT_HLJ09_MB_1011',
31 'TBL_STDT_HLJ09_MB_1012',
32 'TBL_STDT_HN15_MB_1007',
33 'TBL_STDT_HN15_MB_1008',
34 'TBL_STDT_HN15_MB_1009',
35 'TBL_STDT_HN15_MB_1010',
36 'TBL_STDT_HN15_MB_1011',
37 'TBL_STDT_HN15_MB_1012',
38 'TBL_STDT_HN17_MB_1101',
39 'TBL_STDT_JL18_MB_1007',
40 'TBL_STDT_JL18_MB_1008',
41 'TBL_STDT_JL18_MB_1009',
42 'TBL_STDT_JL18_MB_1010',
43 'TBL_STDT_JL18_MB_1011',
44 'TBL_STDT_JL18_MB_1012',
45 'TBL_STDT_JL18_MB_1101',
46 'TBL_STDT_JL18_MB_1102',
47 'TBL_STDT_JX20_MB_1007',
48 'TBL_STDT_JX20_MB_1008',
49 'TBL_STDT_JX20_MB_1009',
50 'TBL_STDT_JX20_MB_1010',
51 'TBL_STDT_JX20_MB_1011',
52 'TBL_STDT_JX20_MB_1012',
53 'TBL_STDT_JX20_MB_ACCT',
54 'TBL_STDT_JX20_MB_CUST');
SUM(BYTES)/1024/1024/1024 SUM(BLOCKS)
------------------------- -----------
33.677734375 4414208
SQL> select count(*) from dba_indexes where owner='P_STDT' and status='UNUSABLE';
COUNT(*)
----------
0
整完後,一定記得把索引的並行度 恢復回去,否則在索引使用時會消耗大量資源。
SQL> select index_name,degree from user_indexes where degree =4;
INDEX_NAME DEGREE
------------------------------ ----------------------------------------
UI_STDT_HN15_MB_1012 4
UI_STDT_HN15_MB_1011 4
UI_STDT_HB14_MB_1010 4
UI_STDT_HB14_MB_1009 4
UI_STDT_GX03_MB_1007 4
INDEX_HN17_MB_1101 4
UI_STDT_JX20_MB_1012 4
UI_STDT_HB14_MB_1012 4
UI_STDT_HB14_MB_1011 4
UI_STDT_HN15_MB_1008 4
…………
SQL> select 'alter index '|| index_name || ' noparallel;' from user_indexes where degree =4;
'ALTERINDEX'||INDEX_NAME||'NOP
------------------------------------------------------
alter index UI_STDT_HN15_MB_1012 noparallel;
alter index UI_STDT_HN15_MB_1011 noparallel;
alter index UI_STDT_HB14_MB_1010 noparallel;
alter index UI_STDT_HB14_MB_1009 noparallel;
alter index UI_STDT_GX03_MB_1007 noparallel;
alter index INDEX_HN17_MB_1101 noparallel;
alter index UI_STDT_JX20_MB_1012 noparallel;
alter index UI_STDT_HB14_MB_1012 noparallel;
alter index UI_STDT_HB14_MB_1011 noparallel;
alter index UI_STDT_HN15_MB_1008 noparallel;
………
SQL> alter index UI_STDT_HN15_MB_1012 noparallel;
Index altered
SQL> alter index UI_STDT_HN15_MB_1011 noparallel;
Index altered
SQL> alter index UI_STDT_HB14_MB_1010 noparallel;
………
當然也可以使用exp/imp,expdp/impdp 完成以上工作。
整個靜態資料分離壓縮完畢後, 其空間的大小為:
SQL> select tablespace_name,sum(blocks),sum(bytes)/1024/1024/1024 from dba_segments where owner='P_STDT' group by tablespace_name;
TABLESPACE_NAME SUM(BLOCKS) SUM(BYTES)/1024/1024/1024
------------------------------ ----------- -------------------------
STDT 50274864 383.566772460938
STDT_HIS 8688392 66.2871704101563
STDT_INDEX 10181032 77.6751098632813
STDT_HIS_INDEX 875160 6.67694091796875
此次的壓縮 在不影響應用的情況下, 將資料庫資料空間 縮減了 630G- 534G = 100G, 算上每個星期的兩次備份, 為伺服器節約了 300G 左右的空間, 此次compress沒有涉及到partition表, clob欄位 後期將對partition 表的壓縮做一個實驗。
完成以上操作後,對資料庫做一個全備 然後透過dba_extens 的查詢
SQL> select tablespace_name, file_id, sum(bytes)/1024/1024/1024 as GB from dba_extents where wner='P_STDT' group by tablespace_name, file_id order by GB ;
TABLESPACE_NAME FILE_ID GB
------------------------------ ---------- ----------
STDT_HIS_INDEX 34 6.67694091
STDT_INDEX 27 8.11401367
STDT 23 11.0874633
STDT 22 11.2519531
STDT 25 12.3560180
STDT 26 12.4826660
STDT 24 12.5075073
透過 resize datafile 的大小,把壓縮空間釋放出來, 整個過程到此結束。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8117479/viewspace-702309/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 靜態資料壓縮分離Oracle
- 無損資料壓縮演算法的歷史演算法
- 資料壓縮的歷史、原理及常用演算法演算法
- 資料壓縮簡史 (轉)
- 利用oracle 傳輸表空間來實現歷史資料分離的方案Oracle
- Oracle資料壓縮Oracle
- Oracle壓縮黑科技(二)—壓縮資料的修改Oracle
- nginx+tomcat動靜態資源分離NginxTomcat
- xPath 動態分離XML資料XML
- gulp之自動化靜態資源壓縮合並加版本號
- oracle 交換分割槽歷史資料歸檔Oracle
- oracle資料庫的靜默(Quiesce)狀態Oracle資料庫UI
- 資料讀寫壓力大,讀寫分離
- 走進資料的歷史
- c# 上傳壓縮包 解壓,遍歷資料夾和檔案C#
- iOS拆分,合併靜態庫以壓縮打包空間iOS
- Oracle歷史Oracle
- ORACLE 壓縮Oracle
- oracle 的表壓縮Oracle
- Oracle表的壓縮Oracle
- 資料庫收縮,刪除日誌,自動收縮,資料庫分離附加資料庫
- 資料庫廠商的發展歷史之Oracle(2)資料庫Oracle
- 資料庫廠商的發展歷史之Oracle(1)資料庫Oracle
- Teradata資料壓縮
- 歷史股票資料的爬取
- Oracle資料庫的靜默狀態和掛起狀態Oracle資料庫
- 資料庫歷史資料有效管理資料庫
- oracle 索引壓縮Oracle索引
- Oracle表壓縮Oracle
- oracle 表壓縮Oracle
- Oracle11g清理資料庫歷史日誌Oracle資料庫
- Jim Gray:資料管理歷史
- 資料庫治理利器:動態讀寫分離資料庫
- Windows的壓縮資料夾(zip/cab)Windows
- 知物由學 | 輿情資料清洗“動”“靜”分離方案
- Oracle壓縮黑科技(一)—基礎表壓縮Oracle
- 11,nginx動靜分離Nginx
- oracle壓縮表(一)Oracle