Oracle資料庫幫浦的備份與恢復

2021-06-27 12:57:10 字數 3910 閱讀 7684

oracle資料庫幫浦的備份與恢復

目錄

一、資料庫備份和恢復前的準備

...

1

1、給資料庫使用者授權並建立directory物件...

1_toc388455817

二、資料幫浦的備份和恢復

...

1

1、資料庫備份

... 12、

資料庫恢復

...

2三、進入互動模式

...

4

在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)備份表

expdp資料庫使用者名稱/密碼【@資料庫例項名】 directory=目錄名 tables=表1,表2  dumpfile=匯出的dmp檔案logfile=導dmp檔案時生成的log檔案;

例:expdp username/password@expdb 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/password@expdb 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/password@expdb 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)資料庫備份的檔案過大,會把dmp檔案分成多個小檔案,以備份使用者為例

expdp資料庫使用者名稱/密碼【@例項名】 schemas=使用者1,使用者2 directory=目錄名 dumpfile=bak_%u.dmp  filesize=檔案大小  logfile=匯出dmp檔案時生成的log檔案;

例:expdp username/passwd@expdb schemas=user01,user02,user03  directory=bak_dir dumpfile=bak _%u.dmp  filesize=5g  logfile= baklog.log;a、

content

包括:all, data_only

和metadata_only

。all

為預設

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

當設定該選項為

data_only

時,表明匯出的是資料;

當設定該選項為

metadata_only

時,表明匯出的是元資料(表結構); b

、該選項用於將源方案的所有物件裝載到目標方案中,原物件和目標物件的對映

. schemas=

原物件remap_schema=

原物件:

目標物件 c

、該選項用於指定當表已經存在時匯入作業要執行的操作

,預設為

skip

replace}

當設定該選項為

skip時,

匯入作業會跳過已存在表處理下乙個物件

;當設定為時,

會追加資料,為

truncate時,

匯入作業會截斷表

,然後為其追加新資料

;當設定為

replace時,

匯入作業會刪除已存在表

,重建表病追加資料,注意

,truncate

選項不適用與簇表和

network_link選項

(1)恢復表

】  directory=目錄名 dumpfile=匯入的dmp檔案  logfile=匯入dmp檔案時生成的log檔案;

例:impdp username/passwd tables= tablename1,tablename2 directory=res_dir         dumpfile= resfile.dmp lgfile=reslog.log;

(2)恢復使用者

例:impdp username/password@impdb schemas=user1,user2 directory= res_dir dumpfile= resfile.dmp  logfile= reslog.log;

(3)恢復表空間

】  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)恢復資料庫

】 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 username/passwd@impdb schemas=user1,user2,user3,user4 directory=res_dir  dumpfile=res _%u.dmp  filesize=5g  logfile= reslog.log;

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

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

expdp username/password@insdb attach=expfull(備份或恢復任務的名稱) 進入互動模式

import>stop_job停止當前的任務

import>start_job啟動停止的任務

import> status 檢視任務的狀態資訊。

import>exit_client退出export互動模式

Oracle和MySQL資料庫的備份與恢復

oracle 最簡單的備份與恢復的例子 匯出 exp scott tiger orcl file c wolfetest export scott data.dmp 匯入 imp scott tiger orcl file c wolfetest export scott data.dmp 注意 在...

oracle資料幫浦備份與還原

完整的常用的一套oracle備份以及還原方案 在新庫中新建資料目錄,我沒有特別說明在哪執行的語句都可在plsql中執行 create or replace directory dump dir as e oracledatafile 將此目錄的讀寫許可權賦予所有使用者,可以按照自己的具體情況單獨賦予...

oracle資料幫浦匯入匯出資料庫(備份自用)

1 匯出資料庫 在命令列中匯出資料方案 set nls lang american america.zhs16gbk expdp user password orcl directory dump dumpfile dmp 或 expdp system sigma directory dump du...