1. 程式人生 > >RMAN中基於copy的全備合併增備進行增量備份的方式

RMAN中基於copy的全備合併增備進行增量備份的方式

日常在生產環境中使用RMAN線上熱備資料庫一般都是每週一次全備+每天備歸檔   或者 每週一次全備,每天一次增備的方式進行備份的。這種方式備份的優點時,佔用空間較少,備份快,恢復時間相對較長(因為要逐一讀取全備之後的所有增備的備份檔案)。

而另一種不常用的方法是:

1、先做一次基於 level 0級別資料庫檔案副本完全拷貝(backup ascopy level 0 database),RMAN指令碼類似如下:

run{
  allocate channel c1 type disk;
  allocate channel c2 type disk;
  allocate channel c3 type disk;
  backup as copy incremental level 0 tag incr_update database format'/backup/rman_bak/full/lv0_%U.bak';
  #backup archivelog all format '/backup/rman_bak/full/lv0_arc_%U.bak' tagincr_update;
  #backup current controlfile format'/backup/rman_bak/full/lv0_ctl_%U.bak' tag incr_update;
  release channel c1;
  release channel c2;
  release channel c3;
}

2、之後至少執行兩次基於以上 level 0級別的資料庫檔案副本完全拷貝(全備)的增量備份,RMAN指令碼如下:

run{
  allocate channel c1 type disk format '/backup/rman_bak/incr/%U_cp.bak';
  allocate channel c2 type disk format '/backup/rman_bak/incr/%U_cp.bak';
  recover copy of database  with tag 'incr_update';
  backup incremental level 1 for recover of copy with tag 'incr_update'database;
  #backup archivelog all format '/backup/rman_bak/incr/arc_%U.bak' tagincr_update;
  #backup current controlfile format '/backup/rman_bak/incr/ctl_%U.bak'tag incr_update;
  release channel c1;
  release channel c2;
}

以上 tag  的名稱必須要全部一致,必須要和之前的level 0的拷貝全備的 tag 名稱一致。

其中:

2.1)、recover copy of database  with tag 'incr_update'; 表示將上次的增備的備份檔案內容應用到全備檔案中,應用後,全備檔案的最後修改時間會變為最新的時間。第一次增備時,由於還不存在上次的的增備,所以是不會應用上一次的增備到全庫檔案的。

2.2)、backup incremental level 1 for recover of copy withtag 'incr_update' database; 這個是開始執行本次的增備。

昨天測試的具體實現過程如下:

1、檢查當前的日誌組是group 1:

15:52:[email protected]*SQL> select * from v$log;                                              
                                                                                       
GROUP#   THREAD#    SEQUENCE#             BYTES          BLOCKSIZE   MEMBERS ARC STATUS  
------ --------- ------------ ------------------ ------------------ ------------- --------
     1         1           1           52428800               512         1 NO  CURRENT 
     2         1           0           52428800               512         1 YES UNUSED  
     3         1           0           52428800               512          1 YESUNUSED  

2、執行基於 level 0 的 backup as copy  全備:

RMAN> run{
2>  allocate channel c1 type disk;
3>  allocate channel c2 type disk;
4>  allocate channel c3 type disk;
5>  backup as copy incremental level 0 tag incr_update database format'/backup/rman_bak/full/lv0_%U.bak';
6>  backup archivelog all format '/backup/rman_bak/full/lv0_arc_%U.bak'tag incr_update;
7>  backup current controlfile format'/backup/rman_bak/full/lv0_ctl_%U.bak' tag incr_update;
8>  release channel c1;
9>  release channel c2;
10> release channel c3;
11> }

using targetdatabase control file instead of recovery catalog
allocated channel: c1
channel c1: SID=22 device type=DISK


allocated channel: c2
channel c2: SID=143 device type=DISK


allocated channel: c3
channel c3: SID=9 device type=DISK


Starting backup at 11-OCT-17
channel c1: starting datafile copy
input datafile file number=00001 name=/oracle/oradata/orcl/system01.dbf
channel c2: starting datafile copy
input datafile file number=00002 name=/oracle/oradata/orcl/sysaux01.dbf
channel c3: starting datafile copy
input datafile file number=00006 name=/oracle/oradata/orcl/test_tbs01.dbf
output filename=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-TEST_TBS_FNO-6_5isgolnd.baktag=INCR_UPDATE RECID=138 STAMP=957110026
channel c3: datafile copy complete, elapsed time: 00:00:47
channel c3: starting datafile copy
input datafile file number=00003 name=/oracle/oradata/orcl/undotbs01.dbf
output file name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-SYSTEM_FNO-1_5gsgolnd.baktag=INCR_UPDATE RECID=140 STAMP=957110122
channel c1: datafile copy complete, elapsed time: 00:02:05
channel c1: starting datafile copy
input datafile file number=00005 name=/oracle/oradata/orcl/example01.dbf
output file name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-SYSAUX_FNO-2_5hsgolnd.baktag=INCR_UPDATE RECID=139 STAMP=957110117
channel c2: datafile copy complete, elapsed time: 00:02:05
channel c2: starting datafile copy
input datafile file number=00008 name=/oracle/oradata/orcl/goldengate01.dbf
output filename=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-UNDOTBS1_FNO-3_5jsgolp8.baktag=INCR_UPDATE RECID=141 STAMP=957110125
channel c3: datafile copy complete, elapsed time: 00:01:09
channel c3: starting datafile copy
copying current control file
output filename=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-EXAMPLE_FNO-5_5ksgolra.baktag=INCR_UPDATE RECID=142 STAMP=957110136
channel c1: datafile copy complete, elapsed time: 00:00:22
channel c1: starting datafile copy
input datafile file number=00004 name=/oracle/oradata/orcl/users01.dbf
output filename=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-GOLDENGATE_FNO-8_5lsgolra.baktag=INCR_UPDATE RECID=143 STAMP=957110137
channel c2: datafile copy complete, elapsed time: 00:00:21
channel c2: starting datafile copy
input datafile file number=00010 name=/oracle/oradata/orcl/users02.dbf
output file name=/backup/rman_bak/full/lv0_cf_D-ORCL_id-1342766198_5msgolrg.baktag=INCR_UPDATE RECID=144 STAMP=957110137
channel c3: datafile copy complete, elapsed time: 00:00:15
channel c3: starting incremental level 0 datafile backup set
channel c3: specifying datafile(s) in backup set
including currentSPFILE in backup set
channel c3:starting piece 1 at 11-OCT-17
output filename=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-USERS_FNO-4_5nsgols0.baktag=INCR_UPDATE RECID=145 STAMP=957110144
channel c1: datafile copy complete, elapsed time: 00:00:00
output file name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-USERS_FNO-10_5osgols0.baktag=INCR_UPDATE RECID=146 STAMP=957110144
channel c2: datafile copy complete, elapsed time: 00:00:00
channel c3: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/full/lv0_5psgols0_1_1.bak tag=INCR_UPDATEcomment=NONE
channel c3: backup set complete, elapsed time: 00:00:01
Finished backup at 11-OCT-17


Starting backup at 11-OCT-17
current log archived
channel c1: starting archived log backup set
channel c1: specifying archived log(s) in backup set
input archived log thread=1 sequence=3 RECID=145 STAMP=957019801
input archived log thread=1 sequence=4 RECID=146 STAMP=957020136
input archived log thread=1 sequence=5 RECID=147 STAMP=957020138
input archived log thread=1 sequence=6 RECID=148 STAMP=957020140
input archived log thread=1 sequence=7 RECID=149 STAMP=957020143
channel c1: starting piece 1 at 11-OCT-17
channel c2: starting archived log backup set
channel c2: specifying archived log(s) in backup set
input archived log thread=1 sequence=8 RECID=150 STAMP=957106841
channel c2: starting piece 1 at 11-OCT-17
channel c3: starting archived log backup set
channel c3: specifying archived log(s) in backup set
input archived log thread=1 sequence=9 RECID=151 STAMP=957107100
input archived log thread=1 sequence=10 RECID=152 STAMP=957107524
input archived log thread=1 sequence=11 RECID=153 STAMP=957108249
input archived log thread=1 sequence=12 RECID=154 STAMP=957108273
channel c3: starting piece 1 at 11-OCT-17
channel c1: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/full/lv0_arc_5qsgols4_1_1.bak tag=INCR_UPDATEcomment=NONE
channel c1: backup set complete, elapsed time: 00:00:02
channel c1: starting archived log backup set
channel c1: specifying archived log(s) in backup set
input archived log thread=1 sequence=1 RECID=157 STAMP=957110147
channel c1: starting piece 1 at 11-OCT-17
channel c2: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/full/lv0_arc_5rsgols4_1_1.bak tag=INCR_UPDATEcomment=NONE
channel c2: backup set complete, elapsed time: 00:00:02
channel c2: starting archived log backup set
channel c2: specifying archived log(s) in backup set
input archived log thread=1 sequence=13 RECID=155 STAMP=957108614
input archived log thread=1 sequence=14 RECID=156 STAMP=957109582
channel c2: starting piece 1 at 11-OCT-17
channel c1: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/full/lv0_arc_5tsgols6_1_1.bak tag=INCR_UPDATEcomment=NONE
channel c1: backup set complete, elapsed time: 00:00:00
channel c3: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/full/lv0_arc_5ssgols4_1_1.bak tag=INCR_UPDATEcomment=NONE
channel c3: backup set complete, elapsed time: 00:00:01
channel c2: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/full/lv0_arc_5usgols6_1_1.bak tag=INCR_UPDATEcomment=NONE
channel c2: backup set complete, elapsed time: 00:00:01
Finished backup at 11-OCT-17


Starting backup at 11-OCT-17
channel c1: starting full datafile backup set
channel c1: specifying datafile(s) in backup set
including currentcontrol file in backup set
channel c1:starting piece 1 at 11-OCT-17
channel c1: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/full/lv0_ctl_5vsgols7_1_1.bak tag=INCR_UPDATEcomment=NONE
channel c1: backup set complete, elapsed time: 00:00:01
Finished backup at 11-OCT-17


released channel: c1


released channel: c2


released channel: c3

說明:執行 backup as copy 副本方式備份資料庫時,也會自動備份 spfile control file 檔案,如上黑粗體所示,並且基於 copy 方式的備份,是原樣拷貝資料檔案進行備份,備份檔案大小與資料檔案大小一樣大(不像 backup,只備份資料檔案的已用資料塊)。

2.1)、全備完後,檢查一下備份檔案的大小備份檔案的生成 時間,如下:

[email protected]:/backup/rman_bak/full>ls -l
total 1923888
-rw-r----- 1 oracle oinstall     98304 2017-10-11 15:55lv0_5psgols0_1_1.bak
-rw-r----- 1 oracle oinstall    218624 2017-10-11 15:55lv0_arc_5qsgols4_1_1.bak
-rw-r----- 1 oracle oinstall  17538560 2017-10-11 15:55lv0_arc_5rsgols4_1_1.bak
-rw-r----- 1 oracle oinstall   1186816 2017-10-11 15:55lv0_arc_5ssgols4_1_1.bak
-rw-r----- 1 oracle oinstall    318464 2017-10-11 15:55lv0_arc_5tsgols6_1_1.bak
-rw-r----- 1 oracle oinstall    307200 2017-10-11 15:55lv0_arc_5usgols6_1_1.bak
-rw-r----- 1 oracle oinstall  10010624 2017-10-11 15:55lv0_cf_D-ORCL_id-1342766198_5msgolrg.bak
-rw-r----- 1 oracle oinstall  10059776 2017-10-11 15:55lv0_ctl_5vsgols7_1_1.bak
-rw-r----- 1 oracle oinstall 104865792 2017-10-11 15:55lv0_data_D-ORCL_I-1342766198_TS-EXAMPLE_FNO-5_5ksgolra.bak
-rw-r----- 1 oracle oinstall 104865792 2017-10-11 15:55lv0_data_D-ORCL_I-1342766198_TS-GOLDENGATE_FNO-8_5lsgolra.bak
-rw-r----- 1 oracle oinstall 660611072 2017-10-11 15:55lv0_data_D-ORCL_I-1342766198_TS-SYSAUX_FNO-2_5hsgolnd.bak
-rw-r----- 1 oracle oinstall 734011392 2017-10-11 15:55lv0_data_D-ORCL_I-1342766198_TS-SYSTEM_FNO-1_5gsgolnd.bak
-rw-r----- 1 oracle oinstall 160440320 2017-10-11 15:53lv0_data_D-ORCL_I-1342766198_TS-TEST_TBS_FNO-6_5isgolnd.bak
-rw-r----- 1 oracle oinstall 157294592 2017-10-11 15:55lv0_data_D-ORCL_I-1342766198_TS-UNDOTBS1_FNO-3_5jsgolp8.bak
-rw-r----- 1 oracle oinstall   1056768 2017-10-11 15:55lv0_data_D-ORCL_I-1342766198_TS-USERS_FNO-10_5osgols0.bak
-rw-r----- 1 oracle oinstall   5251072 2017-10-11 15:55lv0_data_D-ORCL_I-1342766198_TS-USERS_FNO-4_5nsgols0.bak

2.2)、全備完後,檢查一下當前日誌組:

15:57:[email protected]*SQL> select * from v$log;                              
                                                                      
ROUP#    HREAD#  SEQUENCE#       BYTES BLOCKSIZE   MEMBERS ARC STATUS   
----- --------- ---------- ----------- ---------- --------- --- ---------
    1         1         1    52428800        512        1 YES ACTIVE   
    2         1         2    52428800        512        1 NO  CURRENT  
    3         1         0    52428800        512        1 YES UNUSED   

說明:當前日誌組變成 group 2 了,因為以上全備時指定全備後執行 backup archivelog all 備份歸檔,所以執行備份歸檔時,會自動歸檔當前日誌,會切換一次日誌,所以當前日誌變為2

3、執行增備

RMAN> run{
2> allocate channel c1 type disk format '/backup/rman_bak/incr/%U_cp.bak';
3> allocate channel c2 type disk format '/backup/rman_bak/incr/%U_cp.bak';
4> recover copy of database  with tag 'incr_update';
5> backup incremental level 1 for recover of copy with tag 'incr_update'database;
6> #backup archivelog all format '/backup/rman_bak/incr/arc_%U.bak' tagincr_update;
7> #backup current controlfile format '/backup/rman_bak/incr/ctl_%U.bak' tagincr_update;
8>release channel c1;
 9> release channel c2;
10> }



using target database control file instead of recovery catalog
allocated channel: c1
channel c1: SID=9 device type=DISK


allocated channel: c2
channel c2: SID=143 device type=DISK


Starting recover at 11-OCT-17
no copy of datafile 1 found to recover
no copy of datafile 2 found to recover
no copy of datafile 3 found to recover
no copy of datafile 4 found to recover
no copy of datafile 5 found to recover
no copy of datafile 6 found to recover
no copy of datafile 8 found to recover
no copy of datafile 10 found to recover   ##這裡只是執行了第一次增備,所以沒有上一次的增備可以應用到全備檔案。 
Finished recover at 11-OCT-17



Starting backup at 11-OCT-17
channel c1: starting incremental level 1 datafile backup set
channel c1: specifying datafile(s) in backup set
input datafile file number=00002 name=/oracle/oradata/orcl/sysaux01.dbf
input datafile file number=00006 name=/oracle/oradata/orcl/test_tbs01.dbf
input datafile file number=00005 name=/oracle/oradata/orcl/example01.dbf
input datafile file number=00008 name=/oracle/oradata/orcl/goldengate01.dbf
channel c1: starting piece 1 at 11-OCT-17
channel c2: starting incremental level 1 datafile backup set
channel c2: specifying datafile(s) in backup set
input datafile file number=00001 name=/oracle/oradata/orcl/system01.dbf
input datafile file number=00003 name=/oracle/oradata/orcl/undotbs01.dbf
input datafile file number=00004 name=/oracle/oradata/orcl/users01.dbf
input datafile file number=00010 name=/oracle/oradata/orcl/users02.dbf
channel c2: starting piece 1 at 11-OCT-17
channel c2: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/incr/61sgom0d_1_1_cp.bak tag=INCR_UPDATEcomment=NONE
channel c2: backup set complete, elapsed time: 00:01:06
channel c2: starting incremental level 1 datafile backup set
channel c2: specifying datafile(s) in backup set
channel c1: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/incr/60sgom0d_1_1_cp.bak tag=INCR_UPDATEcomment=NONE
channel c1: backup set complete, elapsed time: 00:01:13
channel c1: starting incremental level 1 datafile backup set
channel c1: specifying datafile(s) in backup set
including current SPFILE in backup set
channel c1: starting piece 1 at 11-OCT-17
including current control file in backup set
channel c2: starting piece 1 at 11-OCT-17
channel c1: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/incr/63sgom2m_1_1_cp.bak tag=INCR_UPDATEcomment=NONE
channel c1: backup set complete, elapsed time: 00:00:01
channel c2: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/incr/62sgom2f_1_1_cp.bak tag=INCR_UPDATEcomment=NONE
channel c2: backup set complete, elapsed time: 00:00:01
Finished backup at 11-OCT-17


released channel: c1


released channel: c2

3.1)、執行完增備後,由於是第一次增備,所以沒有上一次的增備可以應用到全備檔案,所以全備檔案的大小和時間是不變的,如下:

[email protected]:/backup/rman_bak/full>ls -l
total 1923888
-rw-r----- 1 oracle oinstall     98304 2017-10-11 15:55lv0_5psgols0_1_1.bak
-rw-r----- 1 oracle oinstall    218624 2017-10-11 15:55lv0_arc_5qsgols4_1_1.bak
-rw-r----- 1 oracle oinstall  17538560 2017-10-11 15:55lv0_arc_5rsgols4_1_1.bak
-rw-r----- 1 oracle oinstall   1186816 2017-10-11 15:55lv0_arc_5ssgols4_1_1.bak
-rw-r----- 1 oracle oinstall    318464 2017-10-11 15:55lv0_arc_5tsgols6_1_1.bak
-rw-r----- 1 oracle oinstall    307200 2017-10-11 15:55lv0_arc_5usgols6_1_1.bak
-rw-r----- 1 oracle oinstall  10010624 2017-10-11 15:55lv0_cf_D-ORCL_id-1342766198_5msgolrg.bak
-rw-r----- 1 oracle oinstall  10059776 2017-10-11 15:55lv0_ctl_5vsgols7_1_1.bak
-rw-r----- 1 oracle oinstall 104865792 2017-10-11 15:55lv0_data_D-ORCL_I-1342766198_TS-EXAMPLE_FNO-5_5ksgolra.bak
-rw-r----- 1 oracle oinstall 104865792 2017-10-11 15:55lv0_data_D-ORCL_I-1342766198_TS-GOLDENGATE_FNO-8_5lsgolra.bak
-rw-r----- 1 oracle oinstall 660611072 2017-10-11 15:55 lv0_data_D-ORCL_I-1342766198_TS-SYSAUX_FNO-2_5hsgolnd.bak
-rw-r----- 1 oracle oinstall 734011392 2017-10-11 15:55lv0_data_D-ORCL_I-1342766198_TS-SYSTEM_FNO-1_5gsgolnd.bak
-rw-r----- 1 oracle oinstall 160440320 2017-10-11 15:53lv0_data_D-ORCL_I-1342766198_TS-TEST_TBS_FNO-6_5isgolnd.bak
-rw-r----- 1 oracle oinstall 157294592 2017-10-11 15:55lv0_data_D-ORCL_I-1342766198_TS-UNDOTBS1_FNO-3_5jsgolp8.bak
-rw-r----- 1 oracle oinstall   1056768 2017-10-11 15:55lv0_data_D-ORCL_I-1342766198_TS-USERS_FNO-10_5osgols0.bak
-rw-r----- 1 oracle oinstall   5251072 2017-10-11 15:55lv0_data_D-ORCL_I-1342766198_TS-USERS_FNO-4_5nsgols0.bak

3.2)、增備檔案已經生成,如下:

[email protected]:/backup/rman_bak/incr>ls -l
total 10362
drwxr-xr-x 2 oracle oinstall       48 2017-10-11 15:47 2
drwxr-xr-x 2 oracle oinstall       48 2017-10-11 14:41 3
-rw-r----- 1 oracle oinstall   212992 2017-10-11 15:59 60sgom0d_1_1_cp.bak
-rw-r----- 1 oracle oinstall   229376 2017-10-11 15:59 61sgom0d_1_1_cp.bak
-rw-r----- 1 oracle oinstall 10059776 2017-10-11 15:59 62sgom2f_1_1_cp.bak
-rw-r----- 1 oracle oinstall    98304 2017-10-11 15:5963sgom2m_1_1_cp.bak

4、我們建立一個測試表 tmp,用於應用全備加增量進行做不完全恢復測試

4.1)、檢查當前日誌組,仍然是 group 2:

16:04:[email protected]*SQL> select * from v$log;                        
                                                                   
GROUP#   HREAD#   EQUENCE#     BYTES  BLOCKSIZE MEMBERS ARC STATUS   
------ -------- ---------- --------- ---------- -------- --- ---------
     1        1         1  52428800        512       1 YES INACTIVE 
     2        1         2  52428800        512       1 NO  CURRENT  
     3        1         0  52428800        512       1 YES UNUSED   

4.2)建立 tmp 測試表:

16:04:[email protected]*SQL> create table tmp(id int);   

16:05:[email protected]*SQL> alter system switch logfile;          

16:05:[email protected]*SQL> insert into tmp values(1);

16:06:[email protected]*SQL> commit;

16:08:[email protected]*SQL> alter system switch logfile;     

6:08:[email protected]*SQL> select * from v$log;                           
                                                                     
ROUP#   HREAD#  SEQUENCE#     BYTES  BLOCKSIZE MEMBERS ARC STATUS      
----- -------- ---------- --------- ---------- -------- --- ------------
    1        1         4  52428800        512       1 NO  CURRENT     
    2        1         2  52428800        512       1 YES ACTIVE      
    3        1         3  52428800        512       1 YES ACTIVE      
                                                                                                                 

5、再次執行增備:

run{
2> allocate channel c1 type disk format '/backup/rman_bak/incr/2/%U_cp.bak';
3> allocate channel c2 type disk format '/backup/rman_bak/incr/2/%U_cp.bak';
4> recover copy of database  with tag 'incr_update';
5> backup incremental level 1 for recover of copy with tag 'incr_update'database;
6> #backup archivelog all format '/backup/rman_bak/incr/arc_%U.bak' tagincr_update;
7> #backup current controlfile format '/backup/rman_bak/incr/ctl_%U.bak' tagincr_update;
8> release channel c1;
9> release channel c2;
10> }

using target database control file instead of recoverycatalog
allocated channel: c1
channel c1: SID=9 device type=DISK


allocated channel: c2
channel c2: SID=139 device type=DISK


Starting recover at 11-OCT-17
channel c1: starting incremental datafile backup set restore
channel c1: specifying datafile copies to recover
recovering datafile copy file number=00001name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-SYSTEM_FNO-1_5gsgolnd.bak
recovering datafile copy file number=00003name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-UNDOTBS1_FNO-3_5jsgolp8.bak
recovering datafile copy file number=00004 name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-USERS_FNO-4_5nsgols0.bak
recovering datafile copy file number=00010name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-USERS_FNO-10_5osgols0.bak

channel c1: reading from backup piece /backup/rman_bak/incr/61sgom0d_1_1_cp.bak
channel c2: starting incremental datafile backup set restore
channel c2: specifying datafile copies to recover
recovering datafile copy file number=00002name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-SYSAUX_FNO-2_5hsgolnd.bak
recovering datafile copy file number=00005name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-EXAMPLE_FNO-5_5ksgolra.bak
recovering datafile copy file number=00006name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-TEST_TBS_FNO-6_5isgolnd.bak
recovering datafile copy file number=00008name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-GOLDENGATE_FNO-8_5lsgolra.bak ##以上recovering datafile... 就是指應用上一次的增備到全備檔案

channel c2: reading from backup piece /backup/rman_bak/incr/60sgom0d_1_1_cp.bak
channel c2: piece handle=/backup/rman_bak/incr/60sgom0d_1_1_cp.baktag=INCR_UPDATE
channel c2: restored backup piece 1
channel c2: restore complete, elapsed time: 00:00:01
channel c1: piece handle=/backup/rman_bak/incr/61sgom0d_1_1_cp.baktag=INCR_UPDATE
channel c1: restored backup piece 1
channel c1: restore complete, elapsed time: 00:00:03
Finished recover at 11-OCT-17


Starting backup at 11-OCT-17
channel c1: starting incremental level 1 datafile backup set
channel c1: specifying datafile(s) in backup set
input datafile file number=00002 name=/oracle/oradata/orcl/sysaux01.dbf
input datafile file number=00006 name=/oracle/oradata/orcl/test_tbs01.dbf
input datafile file number=00005 name=/oracle/oradata/orcl/example01.dbf
input datafile file number=00008 name=/oracle/oradata/orcl/goldengate01.dbf
channel c1: starting piece 1 at 11-OCT-17
channel c2: starting incremental level 1 datafile backup set
channel c2: specifying datafile(s) in backup set
input datafile file number=00001 name=/oracle/oradata/orcl/system01.dbf
input datafile file number=00003 name=/oracle/oradata/orcl/undotbs01.dbf
input datafile file number=00004 name=/oracle/oradata/orcl/users01.dbf
input datafile file number=00010 name=/oracle/oradata/orcl/users02.dbf
channel c2: starting piece 1 at 11-OCT-17
channel c1: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/incr/2/64sgomm7_1_1_cp.bak tag=INCR_UPDATEcomment=NONE
channel c1: backup set complete, elapsed time: 00:01:15
channel c1: starting incremental level 1 datafile backup set
channel c1: specifying datafile(s) in backup set
channel c2: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/incr/2/65sgomm7_1_1_cp.bak tag=INCR_UPDATEcomment=NONE
channel c2: backup set complete, elapsed time: 00:01:15
channel c2: starting incremental level 1 datafile backup set
channel c2: specifying datafile(s) in backup set
including current SPFILE in backup set
channel c2: starting piece 1 at 11-OCT-17
including current control file in backup set
channel c1: starting piece 1 at 11-OCT-17
channel c2: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/incr/2/67sgomoj_1_1_cp.bak tag=INCR_UPDATEcomment=NONE
channel c2: backup set complete, elapsed time: 00:00:01
channel c1: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/incr/2/66sgomoi_1_1_cp.bak tag=INCR_UPDATEcomment=NONE
channel c1: backup set complete, elapsed time: 00:00:01
Finished backup at 11-OCT-17


released channel: c1


released channel: c2

5.1)、第一次增備完成後,其生成的備份檔案和時間如下:

[email protected]:/backup/rman_bak/incr/2>ls -l
total 13925
-rw-r----- 1 oracle oinstall  2719744 2017-10-11 16:10 64sgomm7_1_1_cp.bak
-rw-r----- 1 oracle oinstall  1368064 2017-10-11 16:10 65sgomm7_1_1_cp.bak
-rw-r----- 1 oracle oinstall 10059776 2017-10-11 16:11 66sgomoi_1_1_cp.bak
-rw-r----- 1 oracle oinstall    98304 2017-10-11 16:1067sgomoj_1_1_cp.bak

5.2)、再次檢查全備檔案的最後修改時間變成了以上第二次增備時的執行 recovering datafile copy 時的時間了,如下:

[email protected]:/backup/rman_bak/full>ls -l
total 1923888
-rw-r----- 1 oracle oinstall     98304 2017-10-11 15:55lv0_5psgols0_1_1.bak
-rw-r----- 1 oracle oinstall    218624 2017-10-11 15:55lv0_arc_5qsgols4_1_1.bak
-rw-r----- 1 oracle oinstall  17538560 2017-10-11 15:55lv0_arc_5rsgols4_1_1.bak
-rw-r----- 1 oracle oinstall   1186816 2017-10-11 15:55lv0_arc_5ssgols4_1_1.bak
-rw-r----- 1 oracle oinstall    318464 2017-10-11 15:55lv0_arc_5tsgols6_1_1.bak
-rw-r----- 1 oracle oinstall    307200 2017-10-11 15:55lv0_arc_5usgols6_1_1.bak
-rw-r----- 1 oracle oinstall  10010624 2017-10-11 15:55lv0_cf_D-ORCL_id-1342766198_5msgolrg.bak
-rw-r----- 1 oracle oinstall  10059776 2017-10-11 15:55lv0_ctl_5vsgols7_1_1.bak
-rw-r----- 1 oracle oinstall 104865792 2017-10-11 16:09lv0_data_D-ORCL_I-1342766198_TS-EXAMPLE_FNO-5_5ksgolra.bak
-rw-r----- 1 oracle oinstall 104865792 2017-10-11 16:09 lv0_data_D-ORCL_I-1342766198_TS-GOLDENGATE_FNO-8_5lsgolra.bak
-rw-r----- 1 oracle oinstall 660611072 2017-10-11 16:09lv0_data_D-ORCL_I-1342766198_TS-SYSAUX_FNO-2_5hsgolnd.bak
-rw-r----- 1 oracle oinstall 734011392 2017-10-11 16:09lv0_data_D-ORCL_I-1342766198_TS-SYSTEM_FNO-1_5gsgolnd.bak
-rw-r----- 1 oracle oinstall 160440320 2017-10-11 16:09lv0_data_D-ORCL_I-1342766198_TS-TEST_TBS_FNO-6_5isgolnd.bak
-rw-r----- 1 oracle oinstall 157294592 2017-10-11 16:09lv0_data_D-ORCL_I-1342766198_TS-UNDOTBS1_FNO-3_5jsgolp8.bak
-rw-r----- 1 oracle oinstall   1056768 2017-10-11 16:09lv0_data_D-ORCL_I-1342766198_TS-USERS_FNO-10_5osgols0.bak
-rw-r----- 1 oracle oinstall   5251072 2017-10-11 16:09lv0_data_D-ORCL_I-1342766198_TS-USERS_FNO-4_5nsgols0.bak

6、為測試表 tmp 做不完全恢復

6.1)、獲取要做不完全恢復的測試的 scn 位置:

16:13:[email protected]*SQL> select sysdate,current_scn from v$database;


SYSDATE                   CURRENT_SCN
------------------- ------------------
2017-10-11 16:14:04            3092625

6.2)、為測試表 tmp 再新增多一條資料,不完全恢復時,只恢復到上一條資料:

16:14:[email protected]*SQL> insert into tmp values(2);


1 row created.


Elapsed: 00:00:00.01
16:14:35 [email protected]*SQL> commit;


Commit complete.


Elapsed: 00:00:00.00
16:14:37 [email protected]*SQL> alter system switch logfile;


System altered.


Elapsed: 00:00:00.30
16:14:43 [email protected]*SQL> select * from v$log;


GROUP#  HREAD#   EQUENCE#      BYTES   BLOCKSIZE   MEMBERS ARC STATUS               FIRST_CHANGE# FIRST_TIME               NEXT_CHANGE# NEXT_TIME
------ ------- ---------- ---------- ------------ --------- ------------------- ------------------ ------------------- -------------------------------------
     1       1         4   52428800          512        1 YES ACTIVE                     3092321 2017-10-11 16:08:48           3092652 2017-10-11 16:14:43
     2       1         5   52428800          512        1 NO  CURRENT                    3092652 2017-10-11 16:14:43   281474976710655
     3       1         3   52428800          512        1 YES INACTIVE   

16:14:[email protected]*SQL> select * from tmp;


                ID
------------------
                 1
                 2

7、再執行一次增備:

RMAN> run{
2> allocate channel c1 type disk format '/backup/rman_bak/incr/3/%U_cp.bak';
3> allocate channel c2 type disk format '/backup/rman_bak/incr/3/%U_cp.bak';
4> recover copy of database  with tag 'incr_update';
5> backup incremental level 1 for recover of copy with tag 'incr_update'database;
6> #backup archivelog all format '/backup/rman_bak/incr/arc_%U.bak' tagincr_update;
7> #backup current controlfile format '/backup/rman_bak/incr/ctl_%U.bak' tagincr_update;
8> release channel c1;
9> release channel c2;
10> }

using target database control file instead of recoverycatalog
allocated channel: c1
channel c1: SID=139 device type=DISK


allocated channel: c2
channel c2: SID=145 device type=DISK


Starting recover at 11-OCT-17
channel c1: starting incremental datafile backup set restore
channel c1: specifying datafile copies to recover
recovering datafile copy file number=00001 name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-SYSTEM_FNO-1_5gsgolnd.bak
recovering datafile copy file number=00003name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-UNDOTBS1_FNO-3_5jsgolp8.bak
recovering datafile copy file number=00004 name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-USERS_FNO-4_5nsgols0.bak
recovering datafile copy file number=00010name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-USERS_FNO-10_5osgols0.bak
channel c1: reading from backup piece /backup/rman_bak/incr/2/65sgomm7_1_1_cp.bak ##應用到了第二次增備(即包含 insert into tmpvaluies(1)時的備份)到了全備檔案

channel c2: starting incremental datafile backup set restore
channel c2: specifying datafile copies to recover
recovering datafile copy file number=00002 name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-SYSAUX_FNO-2_5hsgolnd.bak
recovering datafile copy file number=00005name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-EXAMPLE_FNO-5_5ksgolra.bak
recovering datafile copy file number=00006 name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-TEST_TBS_FNO-6_5isgolnd.bak
recovering datafile copy file number=00008name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-GOLDENGATE_FNO-8_5lsgolra.bak ##
channel c2: reading from backup piece /backup/rman_bak/incr/2/64sgomm7_1_1_cp.bak ##應用到了第二次增備(即包含 insert into tmpvaluies(1)時的備份)到了全備檔案
channel c1: piecehandle=/backup/rman_bak/incr/2/65sgomm7_1_1_cp.bak tag=INCR_UPDATE
channel c1: restored backup piece 1
channel c1: restore complete, elapsed time: 00:00:03
channel c2: piece handle=/backup/rman_bak/incr/2/64sgomm7_1_1_cp.baktag=INCR_UPDATE
channel c2: restored backup piece 1
channel c2: restore complete, elapsed time: 00:00:07
Finished recover at 11-OCT-17


Starting backup at 11-OCT-17
channel c1: starting incremental level 1 datafile backup set
channel c1: specifying datafile(s) in backup set
input datafile file number=00002 name=/oracle/oradata/orcl/sysaux01.dbf
input datafile file number=00006 name=/oracle/oradata/orcl/test_tbs01.dbf
input datafile file number=00005 name=/oracle/oradata/orcl/example01.dbf
input datafile file number=00008 name=/oracle/oradata/orcl/goldengate01.dbf
channel c1: starting piece 1 at 11-OCT-17
channel c2: starting incremental level 1 datafile backup set
channel c2: specifying datafile(s) in backup set
input datafile file number=00001 name=/oracle/oradata/orcl/system01.dbf
input datafile file number=00003 name=/oracle/oradata/orcl/undotbs01.dbf
input datafile file number=00004 name=/oracle/oradata/orcl/users01.dbf
input datafile file number=00010 name=/oracle/oradata/orcl/users02.dbf
channel c2: starting piece 1 at 11-OCT-17
channel c1: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/incr/3/68sgon10_1_1_cp.bak tag=INCR_UPDATEcomment=NONE
channel c1: backup set complete, elapsed time: 00:01:15
channel c1: starting incremental level 1 datafile backup set
channel c1: specifying datafile(s) in backup set
channel c2: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/incr/3/69sgon10_1_1_cp.bak tag=INCR_UPDATEcomment=NONE
channel c2: backup set complete, elapsed time: 00:01:15
channel c2: starting incremental level 1 datafile backup set
channel c2: specifying datafile(s) in backup set
including current SPFILE in backup set
channel c2: starting piece 1 at 11-OCT-17
including current control file in backup set
channel c1: starting piece 1 at 11-OCT-17
channel c1: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/incr/3/6asgon3b_1_1_cp.bak tag=INCR_UPDATEcomment=NONE
channel c1: backup set complete, elapsed time: 00:00:01
channel c2: finished piece 1 at 11-OCT-17
piece handle=/backup/rman_bak/incr/3/6bsgon3b_1_1_cp.bak tag=INCR_UPDATEcomment=NONE
channel c2: backup set complete, elapsed time: 00:00:01
Finished backup at 11-OCT-17


released channel: c1


released channel: c2

7.1)、檢查以上第三次增備生成的備份檔案及時間:

[email protected]:/backup/rman_bak/incr/3>ls -l

total 10762
-rw-r----- 1 oracle oinstall   516096 2017-10-11 16:16 68sgon10_1_1_cp.bak
-rw-r----- 1 oracle oinstall   335872 2017-10-11 16:16 69sgon10_1_1_cp.bak
-rw-r----- 1 oracle oinstall 10059776 2017-10-11 16:16 6asgon3b_1_1_cp.bak
-rw-r----- 1 oracle oinstall    98304 2017-10-11 16:166bsgon3b_1_1_cp.bak

7.2)、執行以上第三次增時應用的第二次增備到全備檔案後,檢查全備檔案的修改時間已經變化,如下:

[email protected]:/backup/rman_bak/full>ls -l
total 1923888
-rw-r----- 1 oracle oinstall     98304 2017-10-11 15:55lv0_5psgols0_1_1.bak
-rw-r----- 1 oracle oinstall    218624 2017-10-11 15:55lv0_arc_5qsgols4_1_1.bak
-rw-r----- 1 oracle oinstall  17538560 2017-10-11 15:55lv0_arc_5rsgols4_1_1.bak
-rw-r----- 1 oracle oinstall   1186816 2017-10-11 15:55lv0_arc_5ssgols4_1_1.bak
-rw-r----- 1 oracle oinstall    318464 2017-10-11 15:55lv0_arc_5tsgols6_1_1.bak
-rw-r----- 1 oracle oinstall    307200 2017-10-11 15:55lv0_arc_5usgols6_1_1.bak
-rw-r----- 1 oracle oinstall  10010624 2017-10-11 15:55lv0_cf_D-ORCL_id-1342766198_5msgolrg.bak
-rw-r----- 1 oracle oinstall  10059776 2017-10-11 15:55lv0_ctl_5vsgols7_1_1.bak
-rw-r----- 1 oracle oinstall 104865792 2017-10-11 16:15lv0_data_D-ORCL_I-1342766198_TS-EXAMPLE_FNO-5_5ksgolra.bak
-rw-r----- 1 oracle oinstall 104865792 2017-10-11 16:15lv0_data_D-ORCL_I-1342766198_TS-GOLDENGATE_FNO-8_5lsgolra.bak
-rw-r----- 1 oracle oinstall 660611072 2017-10-11 16:15lv0_data_D-ORCL_I-1342766198_TS-SYSAUX_FNO-2_5hsgolnd.bak
-rw-r----- 1 oracle oinstall 734011392 2017-10-11 16:15lv0_data_D-ORCL_I-1342766198_TS-SYSTEM_FNO-1_5gsgolnd.bak
-rw-r----- 1 oracle oinstall 160440320 2017-10-11 16:15lv0_data_D-ORCL_I-1342766198_TS-TEST_TBS_FNO-6_5isgolnd.bak
-rw-r----- 1 oracle oinstall 157294592 2017-10-11 16:15lv0_data_D-ORCL_I-1342766198_TS-UNDOTBS1_FNO-3_5jsgolp8.bak
-rw-r----- 1 oracle oinstall   1056768 2017-10-11 16:15lv0_data_D-ORCL_I-1342766198_TS-USERS_FNO-10_5osgols0.bak
-rw-r----- 1 oracle oinstall   5251072 2017-10-11 16:15 lv0_data_D-ORCL_I-1342766198_TS-USERS_FNO-4_5nsgols0.bak

8、接下來做不完全恢復測試:

RMAN> shutdown immediate;

RMAN> startup mount;

RMAN> run{
2>  allocate channel c1 type disk;
3>  allocate channel c2 type disk;
4>  set until scn 3092625;  ##這個是第二次增備後(包含 insert into tmp values(1)),insert into tmpvalues(2) 前的 scn,即只恢復到tmp表插入為1的記錄。
5>  restore database;
6>  recover database;
7>  release channel c1;
8>  release channel c2;
9> }

using target database control file instead of recovery catalog
allocated channel: c1
channel c1: SID=133 device type=DISK


allocated channel: c2
channel c2: SID=10 device type=DISK


executing command: SET until clause


Starting restore at 11-OCT-17


channel c1: restoring datafile 00001
input datafile copy RECID=160 STAMP=957111322 filename=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-SYSTEM_FNO-1_5gsgolnd.bak
destination for restore of datafile 00001: /oracle/oradata/orcl/system01.dbf
channel c2: restoring datafile 00002
input datafile copy RECID=162 STAMP=957111323 filename=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-SYSAUX_FNO-2_5hsgolnd.bak
destination for restore of datafile 00002: /oracle/oradata/orcl/sysaux01.dbf
channel c1: copied datafile copy of datafile 00001
output file name=/oracle/oradata/orcl/system01.dbf RECID=0 STAMP=0
channel c1: restoring datafile 00003
input datafile copy RECID=158 STAMP=957111321 filename=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-UNDOTBS1_FNO-3_5jsgolp8.bak
destination for restore of datafile 00003: /oracle/oradata/orcl/undotbs01.dbf
channel c2: copied datafile copy of datafile 00002
output file name=/oracle/oradata/orcl/sysaux01.dbf RECID=0 STAMP=0
channel c2: restoring datafile 00004
input datafile copy RECID=156 STAMP=957111320 file name=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-USERS_FNO-4_5nsgols0.bak
destination for restore of datafile 00004: /oracle/oradata/orcl/users01.dbf
channel c2: copied datafile copy of datafile 00004
output file name=/oracle/oradata/orcl/users01.dbf RECID=0 STAMP=0
channel c2: restoring datafile 00005
input datafile copy RECID=157 STAMP=957111321 filename=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-EXAMPLE_FNO-5_5ksgolra.bak
destination for restore of datafile 00005: /oracle/oradata/orcl/example01.dbf
channel c1: copied datafile copy of datafile 00003
output file name=/oracle/oradata/orcl/undotbs01.dbf RECID=0 STAMP=0
channel c1: restoring datafile 00006
input datafile copy RECID=161 STAMP=957111322 filename=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-TEST_TBS_FNO-6_5isgolnd.bak
destination for restore of datafile 00006: /oracle/oradata/orcl/test_tbs01.dbf
channel c2: copied datafile copy of datafile 00005
output file name=/oracle/oradata/orcl/example01.dbf RECID=0 STAMP=0
channel c2: restoring datafile 00008
input datafile copy RECID=159 STAMP=957111321 filename=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-GOLDENGATE_FNO-8_5lsgolra.bak
destination for restore of datafile 00008:/oracle/oradata/orcl/goldengate01.dbf
channel c1: copied datafile copy of datafile 00006
output file name=/oracle/oradata/orcl/test_tbs01.dbf RECID=0 STAMP=0
channel c1: restoring datafile 00010
input datafile copy RECID=155 STAMP=957111320 filename=/backup/rman_bak/full/lv0_data_D-ORCL_I-1342766198_TS-USERS_FNO-10_5osgols0.bak
destination for restore of datafile 00010: /oracle/oradata/orcl/users02.dbf
channel c2: copied datafile copy of datafile 00008
output file name=/oracle/oradata/orcl/goldengate01.dbf RECID=0 STAMP=0
channel c1: copied datafile copy of datafile 00010
output file name=/oracle/oradata/orcl/users02.dbf RECID=0 STAMP=0
Finished restore at 11-OCT-17


Starting recover at 11-OCT-17


starting media recovery
media recovery complete, elapsed time: 00:00:03


Finished recover at 11-OCT-17


released channel: c1


released channel: c2

說明:以上只應用了全備檔案,因為每次增備時,都已經應用更新上一次的增備到全備檔案了,並且不需要使用歸檔,就可以恢復到 tmp 表插入第一條記錄的時候了。

9、恢復後驗證:

16:23:46 [email protected]*SQL> alter database open resetlogs;


Database altered.

16:24:20 [email protected]*SQL> select * from tmp;


                ID
------------------
                 1

已經按預期進行了恢復,只恢復tmp表的插入的第一條記錄了。

以上就是使用 基於 backup as copylevel 0 database 進行增備合併的備份和恢復方法。

(完)

相關推薦

RMAN基於copy全備合併進行增量備份方式

日常在生產環境中使用RMAN線上熱備資料庫一般都是每週一次全備+每天備歸檔   或者 每週一次全備,每天一次增備的方式進行備份的。這種方式備份的優點時,佔用空間較少,備份快,恢復時間相對較長(因為要逐一讀取全備之後的所有增備的備份檔案)。 而另一種不常用的方法是: 1、先

MySQL數據庫全備增量數據恢復案例以及定時清理 binlog 日誌

代碼 fun transacti 適合 壓縮包 password 意願 root ati 一、mysql 全量備份以及增量備份1、全量備份命令: /application/mysql/bin/mysqldump -uroot -p123456 --lock-all-tab

innobackupex 全備腳本

root .cn oot dir base nobackup edi def use 全備腳本:innobackupex --defaults-file=/etc/my.cnf --user root --password mypasswd /mydata/fullbak/

XtraBackup的全備的恢復

[環境] 作業系統:CentOS release 6.8 MySQL版本:5.6.26 XtraBackup版本:2.4.12 1.XtraBackup備份 #全備 xtrabackup --defaults-file=/etc/my.cnf  

【mysql】windows下備份mysql(全備,差,全還,還,差還)

簡介        linux 下mysql備份工具xtrabackup ,可以很好的實現mysql資料的備份和還原;但現在想備份windows下的mysql資料庫,怎麼辦;下面第一部分 為參考官網整理的一個執行一次備份過程  ;第二部分 為基於第一部分實現的全備,差別,增

xtrabackup自動全備以及自動恢復腳本

roo redo mysql only ply mysqld mysql2 time default cat xtrabackup.sh #!/bin/bash [ -d /home/increment/ ] || mkdir -p /home/increment/ mys

在Arcgis基於Python對地圖分級別進行四色填充

四色填充是數學領域比較有名的定理,大概意思是說對於任意無飛地的多邊形區域,總能選取四種顏色對每個多邊形進行填充,保證相鄰的多邊形具有不同的顏色。在地圖製圖中,該定理被用於地圖著色,保證只採用四種顏色而使得每個省/市/縣與相鄰區域具有不同的顏色。 一、專案需

percona for mysql5.6 使用xtrabackup 備份一周全備每天基於全備進行增量備份腳本

庫服務器 sshpass als top 備份腳本 basedir grep error: 調用腳本 此備份方案設置為兩個腳本 xtrabackup.sh 為通用腳本call_xtrabackup_copy.sh為調用腳本經過兩臺服務器進行備份,所有腳本在192.16

DB2 冷增量備份

################################備份前準備################################# ***************************建立存放歸檔日誌和備份的目錄******************** [[em

思路:如何快速寫一個全面的數據庫 +全備+刪除,自動化的腳本?

rgb 完成 -s databases blog als 思路 日誌 職業 1、數據作用:數據對我們來說是非常非常的重要,如果你是管理數據員、運維人員的,數據丟失了,找不回來,也就意味著,你的職業生涯就結束了,為了避免數據丟失,我們也做了很多的維護、備份,比如做主從復制、做

mysql資料庫的簡單刪改查,合併欄位,拼接字元操作,用java完成將一張表的查詢結果合併存入另一張表的指定欄位

首先問題描述:我現在有兩個表,一個表是關鍵詞,一個表是含有關鍵詞的標籤,需要做的就是在關鍵詞表中新建一個標籤欄位,把包含該關鍵詞的全部標籤存入其中。比如關鍵詞是Java,標籤可能有Java開發,Java後臺等。我這裡關鍵詞有4000個,標籤有40000個,我用了小段java程式碼+sql的函式就完成

Android基於Socket的網絡通信

ram pre 請求 android 鏈接 ted block param gen Socket鏈接的建立過程: 1.服務器監聽 2.客戶端發出請求 3.建立鏈接 4.通信 Socketl特點: 1.Socket基於TCP鏈接,數據傳輸有保障 2.Socket適用於建立長時

MySQL基於mysqldump和二進制日誌log-bin二進制日誌進行邏輯備份以及基於時間點的還原

總結 mysql-bin lin .sql bin -h eat log-bin 之前 本文出處:http://www.cnblogs.com/wy123/p/6956464.html 本文僅模擬使用mysqldump和log-bin二進制日誌進行簡單

Java基於HTTP協議網絡編程

copy 統一 throws 網絡編程 設置 查詢 trac enc pac java中為我們的網絡支持提供了java.net包,能夠使我們以編程的方式來訪問Web服務功能,這篇博客,就跟大家分享一下。Java中的網絡編程的知識。主要是學習下該java.net包下的

LVM基於xfs的文件系統進行擴容

linux以前沒接觸過CentsOS 7 ,對其所改變的特性不了解,偶然在centos 7中接觸到LVM,創建LVM的方法和6中沒有區別,但是對LVM進行擴容就有點不一樣了,使用以前的方法進行擴容後始終沒有生效,折騰了半天才搞清楚其擴容的方法。Xfs是CentOS7的默認文件系統類型,而不同文件系統類型對應的

RMANnocatalog與catalog的區別?

oracle歸檔日誌nocatalog方式:用control file作為catalog,每一次備份都要往控制文件裏面寫好多備份信息,控制文件裏面會有越來越多的備份信息,即RMAN的備份信息寫在本地控制文件裏面。catalog方式:必須要首先要創建目錄備份數據庫(catalog,也稱知識庫),建立恢復目錄,即

mysql

pipe replace perfect fmt 目錄 print open asc author mysql每隔5分鐘增備一次 1,邏輯示意圖 2,目錄結構圖 3,producer #!/usr/local/bin/python3 # -*- coding: UTF

通過js的useragrent來判斷設是pc端還是移動端,跳轉不同的地址

lenovo err agent indexof pad ren phi mobile 手機 if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|L

delphicopy函數和pos函數

結果 -1 位置 s函數 第一次 best 一個 字符 開始 1、copy(‘csdn’,1,2) 返回的結果是 cs 註釋: Copy有3個參數,第一個是要處理的字符串,第二個是要截取的開始位置,第三個是截取位數 當第三個參數大於字符長度,那麽效果就是

c# 命令copy 已退出,返回值為1

col .cn 文件 返回 copy nbsp spa round img 後期生成時間命令行,可以指定生成目錄,是否刪除.pdb文件 c#中 命令copy 已退出,返回值為1