Oracle資料庫泵的備份與恢複

來源:互聯網
上載者:User

標籤:備份   schema   資料庫   metadata   

Oracle資料庫泵的備份與恢複

目錄

一、Database Backup和恢複前的準備...1

1、給資料庫使用者授權並建立DIRECTORY對象...1_Toc388455817

二、資料泵的備份和恢複...1

1、     Database Backup...1

2、     資料庫恢複...2

三、進入互動模式...4

 

一、Database Backup和恢複前的準備1、給資料庫使用者授權並建立DIRECTORY對象

在SQL命令列下執行如下命令(執行sql的使用者要有目錄建立和授權的許可權):

grant create any directory to username;(username---執行備份/恢複的使用者)

create directory  res_dir  as  ‘D:\dbres‘;(res_dir—恢複命令中使用的目錄名---把匯出的檔案放到這個目錄中)

create directory bak_dir as ‘C:\dbback‘;(bak_dir—備份命令中使用的目錄名,刪除目錄的命令drop directory bak_dir;)

二、資料泵的備份和恢複

資料泵包括備份/恢複表、備份/恢複使用者、備份/恢複資料表空間、備份/恢複資料庫4種方式,在作業系統命令列中執行以下的備份/恢複命令完成相關操作

1、           Database Backup

(1)備份表

expdp資料庫使用者名稱/密碼【@資料庫執行個體名】 DIRECTORY=目錄名 TABLES=表1,表2  DUMPFILE=匯出的dmp檔案logfile=導dmp檔案時產生的log檔案;

例:expdp username/[email protected] tables=tablename1,tablename2 DIRECTORY=bak_dir DUMPFILE=bakFile.dmp LOGFILE=bakLog.log;

 

 

(2)備份使用者(schema,與使用者對應)

expdp資料庫使用者名稱/密碼【@執行個體名】SCHEMAS=使用者1,使用者2 DIRECTORY=目錄名 DUMPFILE=匯出的dmp檔案 logfile=匯出dmp檔案時產生的log檔案;

例:expdp username/[email protected] SCHEMAS=user01,user02 DIRECTORY=bak_dir DUMPFILE=bakFile.dmp LOGFILE=bakLog.log;

 

(3)備份資料表空間

expdp資料庫使用者名稱/密碼【@執行個體名】 DIRECTORY=目錄名 TABLESPACES=資料表空間1,資料表空間2 DUMPFILE=匯出的dmp檔案 logfile=匯出dmp檔案時產生的log檔案;

例:expdp username/[email protected] DIRECTORY=dump_dir

TABLESPACES=tablespace01,tablespace02 DUMPFILE=bakFile.dmp  logfile=bakLog.log;

 

(4)備份資料庫

expdp資料庫使用者名稱/密碼【@執行個體名】DIRECTORY=目錄名FULL=Y  DUMPFILE=匯出的dmp檔案  logfile=匯出dmp檔案時產生的log檔案;

例:expdp username/password DIRECTORY=dump_dir FULL=Y DUMPFILE=bakFile.dmp logfile=bakLog.log;

 

(5)Database Backup的檔案過大,會把dmp檔案分成多個小檔案,以備份使用者為例

expdp資料庫使用者名稱/密碼【@執行個體名】 SCHEMAS=使用者1,使用者2 DIRECTORY=目錄名 DUMPFILE=bak _%U.dmp  filesize=檔案大小  LOGFILE=匯出dmp檔案時產生的log檔案;

例:expdp username/[email protected] SCHEMAS=user01,user02,user03  DIRECTORY=bak_dir DUMPFILE=bak _%U.dmp  filesize=5G  LOGFILE= bakLog.log;

2、           資料庫恢複

a、CONTENT包括:ALL, DATA_ONLY和 METADATA_ONLY。ALL為預設

當設定該選項為ALL時,表明匯出的是資料和表結構的所有內容;

當設定該選項為DATA_ONLY時,表明匯出的是資料;

當設定該選項為METADATA_ONLY時,表明匯出的是中繼資料(表結構);

b、該選項用於將源方案的所有對象裝載到目標方案中,原對象和目標對象的映射. SCHEMAS=原對象REMAP_SCHEMA=原對象:目標對象

c、該選項用於指定當表已經存在時匯入作業要執行的操作,預設為SKIP,TABBLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE |REPLACE}

當設定該選項為SKIP時,匯入作業會跳過已存在表處理下一個對象;當設定為APPEND時,會追加資料,為TRUNCATE時,匯入作業會截斷表,然後為其追加新資料;當設定為REPLACE時,匯入作業會刪除已存在表,重建表病追加資料,注意,TRUNCATE選項不適用與簇表和NETWORK_LINK選項

 

(1)恢複表

impdp資料庫使用者名稱/密碼【@執行個體名】 TABLES=表1,表2【REMAP_SCHEMA=ori:tar CONTENT=DATA_ONLY | ALL | METADATA_ONLY  TABLE_EXISTS_ACTION= SKIP | APPEND | TRUNCATE | REPLACE】 DIRECTORY=目錄名 DUMPFILE=匯入的dmp檔案  LOGFILE=匯入dmp檔案時產生的log檔案;

例:impdp username/passwd TABLES= tablename1,tablename2 DIRECTORY=res_dir         DUMPFILE= resFile.dmp LGFILE=resLog.log;

 

(2)恢複使用者

impdp資料庫使用者名稱/密碼【@執行個體名】 SCHEMAS=使用者1,使用者2【REMAP_SCHEMA= ori:tar CONTENT=DATA_ONLY | ALL | METADATA_ONLY  TABLE_EXISTS_ACTION=SKIP | APPEND | TRUNCATE | REPLACE】 DIRECTORY=目錄名 DUMPFILE=匯入的dmp檔案  LOGFILE=匯入dmp檔案時產生的log檔案

例:impdp username/[email protected] SCHEMAS=user1,user2 DIRECTORY= res_dir DUMPFILE= resFile.dmp  LOGFILE= resLog.log;

 

(3)恢複資料表空間

impdp資料庫使用者名稱/密碼【@執行個體名】【 REMAP_SCHEMA=ori:tar CONTENT=DATA_ONLY | ALL | METADATA_ONLY TABLE_EXISTS_ACTION= SKIP | APPEND | TRUNCATE | FRPLACE】 DIRECTORY=目錄名TABLESPACES=資料表空間1, 資料表空間2  DUMPFILE=匯入的dmp檔案 LOGFILE=匯入dmp檔案時產生的log檔案;

例:impdp username/password  DIRECTORY=res_dir  TABLESPACES=tablespace1, tablespace2 DUMPFILE=resFile.dmp logfile=resLog.log; ;

 

(4)恢複資料庫

impdp資料庫使用者名稱/密碼【@執行個體名】【REMAP_SCHEMA=ori:tar CONTENT=DATA_ONLY | ALL | METADATA_ONLY TABLE_EXISTS_ACTION= SKIP | APPEND | TRUNCATE | FRPLACE】DIRECTORY=目錄名 DUMPFILE=匯入的dmp檔案FULL=y LOGFILE=匯入dmp檔案時產生的log檔案;

例:Impdp username/password  DIRECTORY=res_dir FULL=y DUMPFILE=resFile.dmp logfile=resLog.log;

 

(5)資料庫恢複多個dmp小檔案,以恢複使用者為例

impdp資料庫使用者名稱/密碼【@執行個體名】SCHEMAS=使用者1,使用者2【 CONTENT=DATA_ONLY | ALL | METADATA_ONLYTABLE_EXISTS_ACTION=SKIP | APPEND | TRUNCATE | FRPLACE】DIRECTORY=目錄名 DUMPFILE=res _%U.dmp filesize=檔案大小 LOGFILE=匯入dmp檔案時產生的log檔案;

例:impdp username/[email protected] SCHEMAS=user1,user2,user3,user4 DIRECTORY=res_dir  DUMPFILE=res _%U.dmp  filesize=5G  LOGFILE= resLog.log;

三、進入互動模式

在Linux作業系統命令列中執行以下命令:

ctrl+c退出當前的狀態輸出模式

expdp username/[email protected] attach=expfull(備份或恢複任務的名稱) 進入互動模式

Import>stop_job停止當前的任務

Import>start_job啟動停止的任務

Import> status 查看任務的狀態資訊。

Import>exit_client退出export互動模式

Oracle資料庫泵的備份與恢複

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.