1. 程式人生 > 其它 >達夢與Oracle邏輯備份與還原效能對比

達夢與Oracle邏輯備份與還原效能對比

本文對邏輯備份進行學習與測試,並選取個別場景對達夢與Oracle進行對比測試。

一、測試環境

(一)達夢

系統平臺

作業系統

配置

邏輯CPU個數

VMware

REDHAT6.8

Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz

MemTotal: 8061104kB

4

資料庫

軟體資訊

達夢

DM 資料庫管理系統:DM Database Server x64 V7.1.5.158-Build ENT

(二)Oracle

系統平臺

作業系統

配置

邏輯

CPU個數

VMware

REDHAT6.8

Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz

MemTotal: 8061104kB

4

資料庫

軟體資訊

Oracle

Oracle資料庫管理系統:Release 11.2.0.4.0 Production

二、備份方式對比

邏輯/物理備份方式對比表

邏輯備份

物理備份

原理

邏輯匯出資料

物理塊拷貝

資料保護級別

只是備份時間點資料庫資料。

不只備份時間點資料庫資料,可以通過歸檔日誌進行任意時刻資料恢復(歸檔覆蓋時間範圍)。

故障恢復時間(同恢復粒度)

相對較慢

相對較快

資料恢復粒度

表、使用者、模式、全庫

表、表空間、全庫

優勢

針對表、使用者、資料庫進行備份恢復,能夠跨平臺、跨版本進行資料恢復,無需開啟歸檔。

備份恢復範圍更廣、更為精確,可恢復到任意時間點資料(歸檔覆蓋範圍內)。資料庫遷移場景可極大縮減停機視窗。

劣勢

恢復時間較長且恢復資料時間點固定。資料庫遷移場景停機視窗較長。

操作相對複雜,前提需開啟歸檔模式。資料恢復粒度相對較粗。對源環境與目標環境匹配度要求較高。

三、邏輯備份與恢復

(一)邏輯備份

1、引數及注意事項

引數及預設值內容詳見官方手冊。在此只列出部分帶有預設值的引數作為強化記憶。並對注意事項進行備註說明。

引數

引數含義

預設值

FULL

是否匯出整個資料庫

N

FUZZY_MATCH

TABLES選項是否支援模糊匹配

N

CONSTRAINTS

是否匯出約束

Y

TABLESPACE

匯出的物件定義是否包含表空間

N

GRANTS

是否匯出許可權

Y

INDEXES

是否匯出索引

Y

TRIGGERS

是否匯出觸發器

Y

ROWS

是否匯出資料行

Y

NOLOGFILE

不使用日誌檔案

N

NOLOG

螢幕上不顯示日誌資訊

N

LOG_WRITE

日誌資訊實時寫入檔案

N

COMPRESS

是否壓縮匯出資料檔案

N

ENCRYPT

匯出資料是否加密

N

DROP

匯出後刪除原表,但不級聯刪除

N

LOCAL

MPP環境使用MPP_LOCAL登入

N

引數注意事項:

  • TABLESPACE引數可解決資料恢復更換表空間的問題(可對比Oracle的REMAP_TABLESPACE引數),在做資料備份時需要提前為資料恢復做考慮。
  • COMPRESS引數可對備份資料進行壓縮以節省備份空間,但要注意開啟壓縮後,無論資料備份還是資料恢復速度都會變慢。
  • PWD密碼中帶有特殊字元(/,@.:等),需要外加三層雙引號("""""")進行轉義。
  • FILE和LOG中指定的路徑,優先順序高於DIRECTORY中指定的路徑。如果都沒有指定路徑,則使用系統當前路徑。
  • 物件(CONSTRAINTS、GRANTS、INDEXES、TRIGGERS、ROWS)分別單獨設定,和EXCLUDE/INCLUDE中批量設定功能一樣。如果單獨設定和批量同時出現時,以最後出現的為準。
  • 對於匯出單個檔案過大的情況,可使用FILESIZE限制單個檔案上限,同時配合FILE引數中的%u來自動擴充套件檔名,配合FILENUM控制檔案個數。
  • 對於命令過於複雜,長度過長的可使用PARFILE進行命令封裝。

2、備份測試

2.1、測試案例1-匯出schemas

  • 構造測試用例:

  • 備份schemas
dxep xxx/[email protected]:5236 directory=/dmdata file=exp.test1.dmp log=exp.test1.log schemas=test1

2.2、測試用例2-匯出tables,並使用query過濾age小於20的記錄

  • 備份tables:
dexp xxx/xxx@10.100.x.x:5236 directory=/dmdata file=exp.test1_1.dmp log=exp.test1_1.log tables=test1.test query=" WHERE AGE<20"

2.3、測試用例3-匯出tables,並指定定義表空間為test1data(後續恢復時驗證)

  • 備份tables:
dexp xxx/xxx@10.100.x.x:5236 directory=/dmdata file=exp.test1_2.log tables=test1.test tablespace=Y

(二)邏輯恢復

1、引數及注意事項

引數及預設值內容詳見官方手冊。在此只列出部分帶有預設值的引數作為強化記憶。並對注意事項進行備註說明。

引數

引數含義

預設值

FULL

是否匯入整個資料庫

N

IGNORE

忽略建立錯誤

N

FAST_LOAD

是否使用dmfldr進行資料匯入

N

GRANTS

是否匯入許可權

Y

CONSTRAINTS

是否匯入約束

Y

INDEXES

是否匯入索引

Y

TRIGGERS

是否匯入觸發器

Y

ROWS

是否匯入資料行

Y

NOLOGFILE

不使用日誌檔案

N

NOLOG

螢幕上不顯示日誌資訊

N

LOG_WRITE

日誌資訊實時寫入檔案

N

COMPILE

編譯過程、程式包和函式

Y

INDEXFIRST

匯入時先建立索引

N

TABLE_FIRST

是否強制匯入表

N

LOCAL

MPP環境使用MPP_LOCAL登入

N

引數注意事項:

  • 一般情況下,OWNER和SCHEMAS匯入匯出是相同的,但是使用者可以包含多個模式,在這種情況下SCHEMAS的匯入匯出是OWNER匯入匯出的一個子集。
  • 當FAST_LOAE=Y是才可以設定TABLE_PARALLEL引數,否則引數無效。

2、恢復測試

2.1、恢復用例1-將測試用例1恢復至test2模式下

  • 資料恢復:
dimp xxx/xxx@10.100.x.x:5236 directory=/dmdata file=exp.test1.dmp log=imp_test1.log remap_schema=TEST1:TEST2

檢視test所屬表空間:可以看到由於備份時未指定tablespace選項,匯出test表定義時未包含表空間,直接恢復到test2的預設表空間test2data中。

2.2、恢復用例2-將測試用例2恢復到test2模式下

  • 資料恢復:
dimp xxx/xxx@10.100.x.x:5236 directory=/dmdata file=exp.test1_1.dmp log=imp.test1_1.log remap_schema=TEST1:TEST2

查看錶資料:可以看到確為age小於20的2條記錄。

2.3、恢復用例3-將測試用例3恢復到test2模式下

  • 資料恢復:
dimp xxx/xxx@10.100.x.x:5236 directory=dmdata file=exp.test1_2.dmp log=imp.test1_2.log remap_schema=TEST1:TEST2

檢視test所屬表空間:可以看到由於備份時指定tablespace選項為Y,匯出test表定義時包含表空間test1data,恢復時就直接恢復到test1data表空間中。

(三)Oracle和達夢資料庫邏輯備份對比

將Oracle資料庫TEST使用者TEST01表遷移至達夢資料庫,都執行邏輯備份,對比時間和資料量。

Oracle

達夢

匯出資料量(不壓縮)

7G

8.5G

匯出用時(不壓縮)

4分18秒

7分23秒

匯出資料量(壓縮)

1.4G

1.4G

匯出用時(壓縮)

5分5秒

10分17秒

1、Oracle邏輯備份

  • 匯出表資訊

  • 匯出測試1:不壓縮,匯出大小為7G,用時4分18秒。
  • 匯出測試2:壓縮,匯出大小為1.4G,用時5分5秒。

2、達夢邏輯備份

  • 匯出表資訊

  • 匯出測試1:不壓縮,匯出大小為8.5G,用時7分23秒。
  • 匯出測試2:壓縮,匯出大小為1.4G,用時10分17秒。

(四)Oracle和達夢資料庫邏輯恢復對比

匯入物件為上一小節中匯出的TEST使用者TEST01表。

Oracle

達夢

恢復用時(不壓縮)

3分55秒

11分11秒

恢復用時(壓縮)

6分16秒

11分10秒

1、Oracle邏輯恢復

  • 匯入測試1:不壓縮,用時3分55秒。
  • 匯入測試2:壓縮,用時6分16秒。

2、達夢邏輯恢復

  • 匯入測試1:不壓縮,用時11分11秒。
  • 匯入測試2:壓縮,用時11分10秒。

作者:花果山有猴子

出處:https://www.cnblogs.com/huzei/

本部落格所有文章僅用於學習、研究和交流目的,歡迎非商業性質轉載。

由於博主的水平有限,不足和錯誤之處在所難免,希望大家能夠批評指出。