通過資料泵expdp、impdp方式備份與還原(匯出與匯入)Oracle資料庫
前言
備份還原oracle資料庫的方式有很多種,本文只講解使用expdp、impdp資料泵方式備份與還原(恢復)資料庫,此種方式可以匯出/匯入資料庫表以及表中的資料。
請自行修改目錄路徑,否則出現錯誤別怪我哦~
一、備份
step1:使用system登入oracle
開啟DOS命令列介面,使用system使用者登入oracle,格式:sqlplus 使用者名稱/密碼@例項名(或者使用plsql、sqlyog等工具登入)。
C:\Users\Administrator>sqlplus system/000000@orcl
step2:建立邏輯目錄
建立備份邏輯目錄,此目錄不是真實的目錄(單引號裡面的內容是備份的目錄,
可以先檢視一下所有的目錄:select * from dba_directories;)
SQL>create or replace directory data as 'D:\app\shuhao\oradata\orcl';
step3:給使用者授權
SQL>grant read, write on directory data to jeecg_test;
step4:匯出資料庫
退出資料庫,進入DOS命令列介面,執行下列命令匯出資料庫
expdp jeecg_test/000000@orcl directory=data dumpfile=JEECG_20180226.DMP logfile=jeecg.log schemas=jeecg_test
解讀:
directory是step2建立的目錄
dumpfile是匯出的檔名,存放於directory目錄裡
schemas後面是使用者名稱
step5:檢視匯出的檔案
二、還原資料庫前準備工作
注:在本地或者另外一臺電腦都可以進行還原
step1:刪除表空間與使用者
匯入前需要先刪除原來的表空間和使用者,如果之前沒建立過該表空間,則忽略此步驟
drop tablespace JEECG_TEST including contents and datafiles;
drop user JEECG_TEST cascade;
step2:建立表空間與使用者
create tablespace JEECG_TEST datafile 'D:\app\shuhao\oradata\orcl\JEECG_TEST.DBF' size 50m autoextend on;
注:單引號裡面的檔名與表空間名字相同
create user jeecg_test identified by 000000 default tablespace JEECG_TEST temporary tablespace temp;
step3:給使用者授權
grant connect to JEECG_TEST;
grant resource to JEECG_TEST;
grant dba to JEECG_TEST;
注:dba為最高階許可權,可以建立資料庫,表等。
三、還原
step1:使用system登入oracle
開啟dos命令列介面,使用system登入oracle,格式:sqlplus 使用者名稱/密碼@例項名(或者使用plsql、sqlyog等工具登入)。
C:\Users\shuhao>sqlplus system/orcl@orcl
step2:建立邏輯目錄
建立還原目錄(單引號裡面的內容是匯入的目錄,與前面建立的目錄相同)
SQL>create or replace directory data as 'D:\app\shuhao\oradata\orcl';
step3:給目標使用者授權
SQL>grant read,write on directory data to jeecg_test;
step4:建立真實目錄,存放備份檔案
在相應位置建立真實目錄,把備份的檔案JEECG_20180226.DMP放到真實目錄裡
step5:匯入備份檔案
DOS命令列執行下列命令
impdp jeecg_test/000000@orcl directory=data dumpfile=JEECG_20180226.DMP logfile=jeecg.log remap_schema =JEECG_TEST:JEECG_TEST
注:remap_schema=JEECG_TEST:JEECG_TEST表示把左邊的JEECG_TEST使用者的資料,匯入到右邊的JEECG_TEST使用者裡面