聲明:本文爲博主原創文章,未經博主允許不得轉載。https://blog.csdn.net/qq_26230421/article/details/79382013
前言
備份還原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用戶裏面