這篇文章主要介紹“執(zhí)行SQL語句進(jìn)行表空間備份的方法是什么”,在日常操作中,相信很多人在執(zhí)行SQL語句進(jìn)行表空間備份的方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”執(zhí)行SQL語句進(jìn)行表空間備份的方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
成都創(chuàng)新互聯(lián)專業(yè)提供資陽主機(jī)托管服務(wù),為用戶提供五星數(shù)據(jù)中心、電信、雙線接入解決方案,用戶可自行在線購買資陽主機(jī)托管服務(wù),并享受7*24小時金牌售后服務(wù)。
在DIsql工具中使用BACKUP語句也可以備份單個表空間。同備份數(shù)據(jù)庫一樣,執(zhí)行表空間備份服務(wù)器也必須運(yùn)行在歸檔模式下,啟動DIsql輸入以下語句即可備份表空間:
SQL> backup tablespace main backupset 'ts_backup_main_01'; executed successfully used time: 00:00:13.841. Execute id is 45.
默認(rèn)的備份目錄為+DMDATA/data/rac/bak
SQL> select * from v$dm_ini where para_name='BAK_PATH'; LINEID PARA_NAME PARA_VALUE MIN_VALUE MAX_VALUE MPP_CHK SESS_VALUE FILE_VALUE DESCRIPTION PARA_TYPE ---------- --------- -------------------- --------- --------- ------- -------------------- -------------------- ---------------- --------- 1 BAK_PATH +DMDATA/data/rac/bak NULL NULL N +DMDATA/data/rac/bak +DMDATA/data/rac/bak backup file path READ ONLY used time: 9.531(ms). Execute id is 48. SQL> SQL> select * from v$backupset where backup_path like '+DMDATA/data/rac/bak%'; LINEID DEVICE_TYPE BACKUP_ID PARENT_ID BACKUP_NAME BACKUP_PATH TYPE LEVEL RANGE# OBJECT_NAME OBJECT_ID BASE_NAME BACKUP_TIME DESC# ENCRYPT_TYPE COMPRESS_LEVEL WITHOUT_LOG USE_PWR PKG_SIZE BEGIN_LSN END_LSN BKP_NUM DBF_NUM PARALLEL_NUM DDL_CLONE MPP_FLAG MIN_TRX_START_LSN MIN_EXEC_VER CUMULATIVE ---------- ----------- ----------- ----------- ----------------------------------- -------------------------------------- ----------- ----------- ----------- ----------- ----------- --------- --------------------------- ----- ------------ -------------- ----------- ----------- ----------- -------------------- -------------------- ----------- ----------- ------------ ----------- ----------- -------------------- ------------ ----------- 1 DISK 2044941324 -1 TS_FULL_MAIN_20200529_091214_000914 +DMDATA/data/rac/bak/ts_backup_main_01 0 0 2 MAIN 4 2020-05-29 09:12:22.000279 0 0 0 0 33554432 50908 50990 1 1 1 0 0 49398 117507596 0 used time: 00:00:01.041. Execute id is 50. ASM>cd ts_backup_main_01 +DMDATA/data/rac/bak/ts_backup_main_01 Used time: 2.098(ms). ASM>ls file : ts_backup_main_01.bak file : ts_backup_main_01.meta total count 2. Used time: 3.583(ms).
備份集“ts_backup_main_01”會生成到默認(rèn)的備份路徑下。如要設(shè)置其他備份選項(xiàng)需參考下文的聯(lián)機(jī)備份表空間語法。
語法如下:
BACKUP TABLESPACE <表空間名> [FULL | INCREMENT [CUMULATIVE][WITH BACKUPDIR '<基備份搜索目錄>'{,'<基備份搜索目錄>'}]|
[BASE ON BACKUPSET '<基備份集目錄>']][TO <備份名>] BACKUPSET ['<備份集路徑>']
[DEVICE TYPE <介質(zhì)類型> [PARMS '<介質(zhì)參數(shù)>']]
[BACKUPINFO '<備份集描述>'] [MAXPIECESIZE <備份片限制大小>]
[IDENTIFIED BY <加密密碼>[WITH ENCRYPTION][ENCRYPT WITH <加密算法>]] [COMPRESSED [LEVEL <壓縮級別>]]
[TRACE FILE '
[TASK THREAD <線程數(shù)>][PARALLEL [<并行數(shù)>]];
表空間名:指定備份的表空間名稱(除了temp表空間)。
FULL|INCREMENT:備份類型,F(xiàn)ULL表示完全備份,INCREMENT表示增量備份。若不指定,默認(rèn)為完全備份。
CUMULATIVE:用于增量備份中,指明為累積增量備份類型,若不指定則缺省為差異增量備份類型。
WITH BACKUPDIR:用于增量備份中,指定備份目錄,最大長度為256個字節(jié)。若不指定,服務(wù)器自動在默認(rèn)備份目錄下搜索基備份。如果基備份不在默認(rèn)的備份目錄下,增量備份必須指定該參數(shù)。
BASE ON:用于增量備份中,指定基備份集目錄。
TO:指定生成備份名稱。若未指定,系統(tǒng)隨機(jī)生成,默認(rèn)備份名格式為:DB_備份類型_表空間名_備份時間。其中,備份時間為開始備份的系統(tǒng)時間。
BACKUPSET:指定當(dāng)前備份集生成路徑。若指定為相對路徑,則在默認(rèn)備份路徑中生成備份集。若不指定,則在默認(rèn)備份路徑下以約定規(guī)則生成默認(rèn)的表空間備份集目錄。表空間級備份默認(rèn)備份集目錄名生成規(guī)則:TS_表空間名_備份類型_時間,如
TS_MAIN_INCREMENT_20160518_143057_123456。表明該備份集為2016年5月18日14時30分57秒123456毫秒時生成的表空間名為MAIN的表空間增量備份集。若表空間名稱超長,使上述完整名稱長度大于128個字節(jié),則去掉表空間名字段,調(diào)整為TS_備份類型_時間。
DEVICE TYPE:指存儲備份集的介質(zhì)類型,支持DISK和TAPE,默認(rèn)DISK。DISK表示存儲備份集到磁盤,TAPE表示存儲到磁帶。
PARMS:只對介質(zhì)類型為TAPE時有效。
BACKUPINFO:備份的描述信息。最大不超過256個字節(jié)。
MAXPIECESIZE:最大備份片文件大小上限,以M為單位,最小128M,32位系統(tǒng)最大2G,64位系統(tǒng)最大128G。
IDENTIFIED BY:指定備份時的加密密碼。密碼應(yīng)用雙引號括起來,這樣避免一些特殊字符通不過語法檢測。密碼的設(shè)置規(guī)則遵行ini參數(shù)pwd_policy指定的口令策略。
WITH ENCRYPTION:指定加密類型,0表示不加密,不對備份文件進(jìn)行加密處理;1表示簡單加密,對備份文件設(shè)置口令,但文件內(nèi)容仍以明文存;2表示完全數(shù)據(jù)加密,對備份文件進(jìn)行完全的加密,備份文件以密文方式存儲。
ENCRYPT WITH:加密算法。缺省情況下,算法為AES256_CFB。
加密算法包括:
DES_ECB、DES_CBC、DES_CFB、DES_OFB、DESEDE_ECB、 DESEDE_CBC、DESEDE_CFB、DESEDE_OFB、AES128_ECB、 AES128_CBC、AES128_CFB 、AES128_OFB、AES192_ECB、 AES192_CBC、AES192_CFB 、AES192_OFB、AES256_ECB、 AES256_CBC、AES256_CFB 、AES256_OFB 、RC4
COMPRESSED:取值范圍0~9。0表示不壓縮,1表示1級壓縮,9表示9級壓縮。壓縮級別越高,壓縮越慢,但壓縮比越高。若未指定,但指定COMPRESSED,則默認(rèn)1;否則,默認(rèn)0。
TRACE FILE:指定生成的TRACE文件。啟用TRACE,但不指定TRACE FILE時,默認(rèn)在DM數(shù)據(jù)庫系統(tǒng)的log目錄下生成DM_SBTTRACE_年月.LOG文件;若使用相對路徑,則生成在執(zhí)行碼同級目錄下。若用戶指定,則指定的文件不能為已經(jīng)存在的文件,否則報錯;也不可以為ASM文件。
TRACE LEVEL:有效值1、2,默認(rèn)為1表示不啟用TRACE,此時若指定了TRACE FILE,會生成TRACE文件,但不寫入TRACE信息;為2啟用TRACE并寫入TRACE相關(guān)內(nèi)容。
TASK THREAD:備份過程中數(shù)據(jù)處理過程線程的個數(shù),取值范圍0~64,默認(rèn)為4。若指定為0,則調(diào)整為1;若指定超過當(dāng)前系統(tǒng)主機(jī)核數(shù),則調(diào)整為主機(jī)核數(shù)。線程數(shù)(TASK THREAD)*并行數(shù)(PARALLEL)不得超過512。
PARALLEL:指定并行備份的并行數(shù),取值范圍0~128。若不指定,則默認(rèn)為4,指定0或者1均認(rèn)為為非并行備份。若未指定關(guān)鍵PARALLEL,則認(rèn)為非并行備份。并行備份不支持存在介質(zhì)為TAPE的備份。線程數(shù)(TASK THREAD)*并行數(shù)(PARALLEL)不得超過512。
使用說明:
1. 當(dāng)備份數(shù)據(jù)超過限制大小時,會生成新的備份文件,新的備份文件名是初始文件名后加文件編號。
2. 系統(tǒng)處于歸檔模式下時,才允許進(jìn)行表空間備份。
3. MOUNT狀態(tài)下,不允許進(jìn)行表空間備份。
4. MPP環(huán)境不允許進(jìn)行表空間備份。
2. 設(shè)置備份選項(xiàng)
表空間備份也可指定備份集路徑、介質(zhì)類型、備份名等備份選項(xiàng)。
增量備份指定基備份目錄
BASE ON 參數(shù)用于增量備份中,用來指定基備份集的目錄。如果不指定該參數(shù),會在備份搜索目錄中搜索最近一次的完全備份或增量備份作為這次增量備份的基備份。若需要在特定的備份集基礎(chǔ)上執(zhí)行增量備份就需要使用該參數(shù)。
下面以增量備份用戶MAIN表空間為例,指定BASE ON參數(shù)執(zhí)行增量備份:
SQL> backup tablespace main backupset '/dm7/backup/ts_main_full_bak_20200529_01'; executed successfully used time: 00:00:01.133. Execute id is 51. SQL> backup tablespace main increment backupset '/dm7/backup/ts_main_increment_bak_20200529_01'; executed successfully used time: 00:00:01.126. Execute id is 52. SQL> select sf_bakset_backup_dir_add('disk','/dm7/backup/ts_main_full_bak_20200529_01'); LINEID SF_BAKSET_BACKUP_DIR_ADD('disk','/dm7/backup/ts_main_full_bak_20200529_01') ---------- --------------------------------------------------------------------------- 1 1 used time: 2.024(ms). Execute id is 53. SQL> select sf_bakset_backup_dir_add('disk','/dm7/backup/ts_main_increment_bak_20200529_01'); LINEID SF_BAKSET_BACKUP_DIR_ADD('disk','/dm7/backup/ts_main_increment_bak_20200529_01') ---------- -------------------------------------------------------------------------------- 1 1 used time: 1.520(ms). Execute id is 54. SQL> select * from v$backupset where backup_path like '/dm7/backup/ts%'; LINEID DEVICE_TYPE BACKUP_ID PARENT_ID BACKUP_NAME BACKUP_PATH TYPE LEVEL RANGE# OBJECT_NAME OBJECT_ID BASE_NAME BACKUP_TIME DESC# ENCRYPT_TYPE COMPRESS_LEVEL WITHOUT_LOG USE_PWR PKG_SIZE BEGIN_LSN END_LSN BKP_NUM DBF_NUM PARALLEL_NUM DDL_CLONE MPP_FLAG MIN_TRX_START_LSN MIN_EXEC_VER CUMULATIVE ---------- ----------- ----------- ----------- ----------------------------------- --------------------------------------------- ----------- ----------- ----------- ----------- ----------- ----------------------------------- --------------------------- ----- ------------ -------------- ----------- ----------- ----------- -------------------- -------------------- ----------- ----------- ------------ ----------- ----------- -------------------- ------------ ----------- 1 DISK 1493450986 -1 TS_FULL_MAIN_20200529_111133_000175 /dm7/backup/ts_main_full_bak_20200529_01 0 0 2 MAIN 4 2020-05-29 11:11:34.000272 0 0 0 0 33554432 50908 50996 1 1 1 0 0 49398 117507596 0 2 DISK 1885674227 -1 TS_INCR_MAIN_20200529_111346_000167 /dm7/backup/ts_main_increment_bak_20200529_01 1 0 2 MAIN 4 TS_FULL_MAIN_20200529_111133_000175 2020-05-29 11:13:47.000258 0 0 0 0 33554432 50908 51002 1 1 1 0 0 49398 117507596 0 used time: 00:00:01.048. Execute id is 55. SQL> backup tablespace main increment base on backupset '/dm7/backup/ts_main_full_bak_20200529_01' backupset '/dm7/backup/ts_main_increment_bak_20200529_02'; executed successfully used time: 00:00:01.133. Execute id is 57. SQL> select sf_bakset_backup_dir_add('disk','/dm7/backup/ts_main_increment_bak_20200529_02'); LINEID SF_BAKSET_BACKUP_DIR_ADD('disk','/dm7/backup/ts_main_increment_bak_20200529_02') ---------- -------------------------------------------------------------------------------- 1 1 used time: 1.748(ms). Execute id is 58. SQL> select * from v$backupset where backup_path like '/dm7/backup/ts%'; LINEID DEVICE_TYPE BACKUP_ID PARENT_ID BACKUP_NAME BACKUP_PATH TYPE LEVEL RANGE# OBJECT_NAME OBJECT_ID BASE_NAME BACKUP_TIME DESC# ENCRYPT_TYPE COMPRESS_LEVEL WITHOUT_LOG USE_PWR PKG_SIZE BEGIN_LSN END_LSN BKP_NUM DBF_NUM PARALLEL_NUM DDL_CLONE MPP_FLAG MIN_TRX_START_LSN MIN_EXEC_VER CUMULATIVE ---------- ----------- ----------- ----------- ----------------------------------- --------------------------------------------- ----------- ----------- ----------- ----------- ----------- ----------------------------------- --------------------------- ----- ------------ -------------- ----------- ----------- ----------- -------------------- -------------------- ----------- ----------- ------------ ----------- ----------- -------------------- ------------ ----------- 1 DISK 1493450986 -1 TS_FULL_MAIN_20200529_111133_000175 /dm7/backup/ts_main_full_bak_20200529_01 0 0 2 MAIN 4 2020-05-29 11:11:34.000272 0 0 0 0 33554432 50908 50996 1 1 1 0 0 49398 117507596 0 2 DISK 1885674227 -1 TS_INCR_MAIN_20200529_111346_000167 /dm7/backup/ts_main_increment_bak_20200529_01 1 0 2 MAIN 4 TS_FULL_MAIN_20200529_111133_000175 2020-05-29 11:13:47.000258 0 0 0 0 33554432 50908 51002 1 1 1 0 0 49398 117507596 0 3 DISK 707233150 -1 TS_INCR_MAIN_20200529_111805_000417 /dm7/backup/ts_main_increment_bak_20200529_02 1 0 2 MAIN 4 TS_FULL_MAIN_20200529_111133_000175 2020-05-29 11:18:06.000513 0 0 0 0 33554432 50908 51008 1 1 1 0 0 49398 117507596 0 used time: 00:00:01.045. Execute id is 59.
上述示例中,增量備份ts_main_increment_bak_20200529_02若不指定備份集'/dm7/backup/ts_main_full_bak_20200529_01作為基備份,那么默認(rèn)會使用最近一次的備份集/dm7/backup/ts_main_increment_bak_20200529_01作為基備份。
3. 備份表空間
同數(shù)據(jù)庫備份一樣,表空間備份也可分為完全備份和增量備份。本節(jié)主要內(nèi)容包括:
1. 完全備份
2. 增量備份
1.完全備份
執(zhí)行表空間備份,數(shù)據(jù)庫必須處于OPEN狀態(tài),MOUNT和SUSPEND狀態(tài)下不允許執(zhí)行表空間備份。表空間備份就是拷貝表空間內(nèi)所有數(shù)據(jù)文件有效數(shù)據(jù)的過程。DM7僅支持表空間聯(lián)機(jī)備份,完全備份一個表空間步驟如下:
1) 配置歸檔 。
2) 保證數(shù)據(jù)庫處于OPEN狀態(tài)。
3) DIsql中輸入備份表空間語句,最簡單的不設(shè)置其他參數(shù)的完全備份表空間語句,如下所示:
SQL> backup tablespace main full backupset '/dm7/backup/ts_main_full_bak_20200529_02'; executed successfully used time: 00:00:01.129. Execute id is 68.
備份語句中的FULL參數(shù)可以省略,不指定備份類型服務(wù)器會默認(rèn)指定備份類型為完全備份。
SQL> select sf_bakset_backup_dir_add('disk','/dm7/backup/ts_main_full_bak_20200529_02'); LINEID SF_BAKSET_BACKUP_DIR_ADD('disk','/dm7/backup/ts_main_full_bak_20200529_02') ---------- --------------------------------------------------------------------------- 1 1 used time: 2.508(ms). Execute id is 69. SQL> select * from v$backupset where backup_path='/dm7/backup/ts_main_full_bak_20200529_02'; LINEID DEVICE_TYPE BACKUP_ID PARENT_ID BACKUP_NAME BACKUP_PATH TYPE LEVEL RANGE# OBJECT_NAME OBJECT_ID BASE_NAME BACKUP_TIME DESC# ENCRYPT_TYPE COMPRESS_LEVEL WITHOUT_LOG USE_PWR PKG_SIZE BEGIN_LSN END_LSN BKP_NUM DBF_NUM PARALLEL_NUM DDL_CLONE MPP_FLAG MIN_TRX_START_LSN MIN_EXEC_VER CUMULATIVE ---------- ----------- ----------- ----------- ----------------------------------- ---------------------------------------- ----------- ----------- ----------- ----------- ----------- --------- --------------------------- ----- ------------ -------------- ----------- ----------- ----------- -------------------- -------------------- ----------- ----------- ------------ ----------- ----------- -------------------- ------------ ----------- 1 DISK -1442575362 -1 TS_FULL_MAIN_20200529_112705_000332 /dm7/backup/ts_main_full_bak_20200529_02 0 0 2 MAIN 4 2020-05-29 11:27:06.000424 0 0 0 0 33554432 50908 51014 1 1 1 0 0 49398 117507596 0 used time: 00:00:01.046. Execute id is 70.
2.增量備份
執(zhí)行表空間增量備份的主要目的同數(shù)據(jù)庫增量備份一樣是為了快速備份數(shù)據(jù)庫中的修改,減少備份時間和避免重復(fù)的備份。
增量備份表空間步驟如下:
1) 配置歸檔。
2) 保證數(shù)據(jù)庫處于OPEN狀態(tài)。
3) DIsql中輸入備份表空間語句,最簡單的不設(shè)置其他參數(shù)的增量備份語句如下:
SQL> backup tablespace main increment base on backupset '/dm7/backup/ts_main_full_bak_20200529_02' backupset '/dm7/backup/ts_main_increment_bak_2020052903'; executed successfully used time: 00:00:01.134. Execute id is 71. SQL> select sf_bakset_backup_dir_add('disk','/dm7/backup/ts_main_increment_bak_2020052903'); LINEID SF_BAKSET_BACKUP_DIR_ADD('disk','/dm7/backup/ts_main_increment_bak_2020052903') ---------- ------------------------------------------------------------------------------- 1 1 used time: 1.720(ms). Execute id is 72. SQL> select * from v$backupset where backup_path like '%/dm7/backup/ts_main_%20200529%'; LINEID DEVICE_TYPE BACKUP_ID PARENT_ID BACKUP_NAME BACKUP_PATH TYPE LEVEL RANGE# OBJECT_NAME OBJECT_ID BASE_NAME BACKUP_TIME DESC# ENCRYPT_TYPE COMPRESS_LEVEL WITHOUT_LOG USE_PWR PKG_SIZE BEGIN_LSN END_LSN BKP_NUM DBF_NUM PARALLEL_NUM DDL_CLONE MPP_FLAG MIN_TRX_START_LSN MIN_EXEC_VER CUMULATIVE ---------- ----------- ----------- ----------- ----------------------------------- --------------------------------------------- ----------- ----------- ----------- ----------- ----------- ----------------------------------- --------------------------- ----- ------------ -------------- ----------- ----------- ----------- -------------------- -------------------- ----------- ----------- ------------ ----------- ----------- -------------------- ------------ ----------- 1 DISK 1493450986 -1 TS_FULL_MAIN_20200529_111133_000175 /dm7/backup/ts_main_full_bak_20200529_01 0 0 2 MAIN 4 2020-05-29 11:11:34.000272 0 0 0 0 33554432 50908 50996 1 1 1 0 0 49398 117507596 0 2 DISK 1885674227 -1 TS_INCR_MAIN_20200529_111346_000167 /dm7/backup/ts_main_increment_bak_20200529_01 1 0 2 MAIN 4 TS_FULL_MAIN_20200529_111133_000175 2020-05-29 11:13:47.000258 0 0 0 0 33554432 50908 51002 1 1 1 0 0 49398 117507596 0 3 DISK 707233150 -1 TS_INCR_MAIN_20200529_111805_000417 /dm7/backup/ts_main_increment_bak_20200529_02 1 0 2 MAIN 4 TS_FULL_MAIN_20200529_111133_000175 2020-05-29 11:18:06.000513 0 0 0 0 33554432 50908 51008 1 1 1 0 0 49398 117507596 0 4 DISK -1442575362 -1 TS_FULL_MAIN_20200529_112705_000332 /dm7/backup/ts_main_full_bak_20200529_02 0 0 2 MAIN 4 2020-05-29 11:27:06.000424 0 0 0 0 33554432 50908 51014 1 1 1 0 0 49398 117507596 0 5 DISK -738478264 -1 TS_INCR_MAIN_20200529_113155_000766 /dm7/backup/ts_main_increment_bak_2020052903 1 0 2 MAIN 4 TS_FULL_MAIN_20200529_112705_000332 2020-05-29 11:31:56.000863 0 0 0 0 33554432 50908 51020 1 1 1 0 0 49398 117507596 0 used time: 00:00:01.062. Execute id is 73.
備份語句中指定的INCREMENT參數(shù)表示執(zhí)行的備份類型為增量備份,不可省略。若要創(chuàng)建累積增量備份,還需要指定CUMULATIVE參數(shù),否則缺省為差異增量備份。若基備份不在默認(rèn)備份目錄,WITH BACKUPDIR參數(shù)必須指定,用于搜索基備份集。
到此,關(guān)于“執(zhí)行SQL語句進(jìn)行表空間備份的方法是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!