1.原理圖
1.1 數(shù)據(jù)泵組成部分
? a.數(shù)據(jù)包核心部分程序包 dbms_datapump
? b.提供院數(shù)據(jù)的程序包 dbms_matadata
? c.命令行客戶機(jī):expdp,impdp'
1.2 數(shù)據(jù)泵文件
? a.轉(zhuǎn)儲(chǔ)文件:此文件包含對(duì)象數(shù)據(jù)
? b.日志文件:記錄操作信息和結(jié)果
? c.sql文件: 將導(dǎo)入作業(yè)的ddl語(yǔ)句與sqlfile指定的參數(shù)文件中
1.3 數(shù)據(jù)泵的目錄及文件位置
以sys 或system 用戶完成數(shù)據(jù)泵的導(dǎo)入導(dǎo)出時(shí),可以使用缺省的目錄 data_pump_dir
如果設(shè)置了環(huán)境變量oracle_base,則data_pump_dir缺省目錄位置為:
$roacle_base/admin/database_name/dpdump
配置oracle環(huán)境變量ORACLE_HOME
--查詢邏輯目錄
select * from dba_directories;
SYS DATA_PUMP_DIR D:\app\Administrator/admin/orcl/dpdump/
2.備份恢復(fù)實(shí)戰(zhàn)
2.1 表的備份和恢復(fù)
? 思路:刪除2個(gè)表,通過(guò)表備份進(jìn)行恢復(fù)。
? 創(chuàng)建目錄
? a.創(chuàng)建真是目錄: D:\dumpbak
? b.創(chuàng)建邏輯目錄:
create or replace directory dumpbak as 'D:\dumpbak'
? c.確認(rèn)創(chuàng)建成功
? select * from dba_directories;
SYS DUMPBAK D:\dumpbak
? d.給邏輯目錄授權(quán)給所有用戶
grant all on directory dumpbak to public;
? e.確認(rèn)授權(quán)
select * from dba_tab_
? f.備份,導(dǎo)出多個(gè)表
? --注意不要加 ;
? --導(dǎo)出用戶下所有表
expdp scott/tiger? directory=dumpbak dumpfile=expdp_emp_demp.dmp logfile=expdp_emp_demp.log
? --導(dǎo)出用戶指定表 加tables=
expdp scott/tiger? directory=dumpbak dumpfile=expdp_emp_demp.dmp logfile=expdp_emp_demp.log tables=emp,dept
expdp scott/tiger dir
? --刪除用戶表
drop? table scott.emp;
drop table scott.dept;
? --表導(dǎo)入
impdp scott/tiger? directory=dumpbak dumpfile=expdp_emp_demp.dmp logfile=expdp_emp_demp.log tables=emp,dept
2.2 用戶的備份和恢復(fù)
2.3 數(shù)據(jù)庫(kù)的備份和恢復(fù)