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的默認文件系統類型,而不同文件系統類型對應的
RMAN中nocatalog與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
delphi中的copy函數和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