溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Oracle數(shù)據(jù)泵

發(fā)布時(shí)間:2020-07-08 22:21:24 來(lái)源:網(wǎng)絡(luò) 閱讀:426 作者:居思涵 欄目:關(guān)系型數(shù)據(jù)庫(kù)

一、數(shù)據(jù)泵技術(shù)的優(yōu)點(diǎn)

原有的導(dǎo)出和導(dǎo)入技術(shù)基于客戶(hù)機(jī),而數(shù)據(jù)泵技術(shù)基于服務(wù)器。默認(rèn)所有的轉(zhuǎn)儲(chǔ),日志和其他文件都建立在服務(wù)器上。以下是數(shù)據(jù)泵技術(shù)的主要優(yōu)點(diǎn):
1、改進(jìn)了性能
2、重新啟動(dòng)作業(yè)的能力
3、并行執(zhí)行的能力
4、關(guān)聯(lián)運(yùn)行作業(yè)的能力
5、估算空間需求的能力
6、操作的網(wǎng)格方式
7、細(xì)粒度數(shù)據(jù)導(dǎo)入功能
8、重映射能力

二、數(shù)據(jù)泵導(dǎo)出和導(dǎo)入的用途

1、將數(shù)據(jù)從開(kāi)發(fā)環(huán)境轉(zhuǎn)到測(cè)試環(huán)境或產(chǎn)品環(huán)境
2、將數(shù)據(jù)從開(kāi)發(fā)環(huán)境轉(zhuǎn)到測(cè)試環(huán)境或產(chǎn)品環(huán)境
3、在修改重要表之前進(jìn)行備份
4、備份數(shù)據(jù)庫(kù)
5、把數(shù)據(jù)庫(kù)對(duì)象從一個(gè)表空間移動(dòng)到另一個(gè)表空間
6、在數(shù)據(jù)庫(kù)直接移植表空間
7、提取表或其他對(duì)象的DDL
注意:數(shù)據(jù)庫(kù)不建立完備的備份,因?yàn)樵趯?dǎo)出文件中沒(méi)有災(zāi)難發(fā)生時(shí)的最新數(shù)據(jù)。但是對(duì)于較小的數(shù)據(jù)庫(kù)和個(gè)別的表空間的導(dǎo)出,數(shù)據(jù)導(dǎo)出仍然是一個(gè)可行的備份工具。

三、數(shù)據(jù)泵的組成部分

數(shù)據(jù)泵技術(shù)主要有三個(gè)以下部件組成:
?DBMS_DATAPUMP程序包。 這是驅(qū)動(dòng)數(shù)據(jù)字段元數(shù)據(jù)裝載和卸載的主要引擎。DBMS_DATAPUMP程序包包括數(shù)據(jù)泵技術(shù)的核心部分,此核心部分以過(guò)程的形式出現(xiàn),實(shí)際驅(qū)動(dòng)數(shù)據(jù)裝載和卸載。
?DBMS_METADATA。 為了提取并修改元數(shù)據(jù),Oracle提供了DBMS_METADATA程序包。
?命令行客戶(hù)機(jī)。兩個(gè)實(shí)用程序expdp和impdp進(jìn)行導(dǎo)出和導(dǎo)入工作

四、數(shù)據(jù)泵文件

對(duì)于數(shù)據(jù)泵轉(zhuǎn)儲(chǔ)文件,可以使用三種類(lèi)型的文件:
?轉(zhuǎn)儲(chǔ)文件:此文件存儲(chǔ)實(shí)際原數(shù)據(jù)
?日志文件:記錄數(shù)據(jù)泵操作的消息和結(jié)果
?SQL文件:數(shù)據(jù)泵使用一種特殊的參數(shù)sqlfile,把導(dǎo)入作業(yè)中要執(zhí)行的所有DDL語(yǔ)句寫(xiě)入一個(gè)文件中。數(shù)據(jù)泵并不實(shí)際執(zhí)行SQL,它僅僅是將DDL語(yǔ)句寫(xiě)入由SQLFILE參數(shù)制定的文件中。

五、操作

chmod -R 777 /opt //root模式下開(kāi)放/opt文件夾的權(quán)限
su - oracle //切換oracle用戶(hù)
mkdir /opt/app/bak //創(chuàng)建數(shù)據(jù)泵備份文件目錄
sqlplus / as sysdba //使用管理員身份登錄
SQL> create directory dump_dir as '/opt/app/bak'; #新建目錄對(duì)象dump_dir,將目錄"/opt/app/bak"進(jìn)行映射
SQL> create user c##tom identified by abc123 #創(chuàng)建"c##tom"測(cè)試用戶(hù)并授權(quán)
2 default tablespace users
3 temporary tablespace temp
4 quota unlimited on users;
grant connect,resource,dba to c##tom; #授權(quán)連接、管理數(shù)據(jù)庫(kù)以及dba管理員權(quán)限
grant read,write on directory dump_dir to c##tom; #授權(quán)用戶(hù)對(duì)directory目錄進(jìn)行讀、寫(xiě)執(zhí)行權(quán)限
conn c##tom/abc123 #切換c##tom用戶(hù)
用tom用戶(hù)創(chuàng)建測(cè)試數(shù)據(jù):info,grade兩個(gè)表
create table info
(
id number(5),
name varchar(10)
);
insert into info values(1,'zhangsan'); #隨便插入一條數(shù)據(jù)

create table grade
(
id number(5),
name varchar(10),
score varchar(5)
);
insert into grade values(1,'lisi','88'); #表grade中插入一條數(shù)據(jù)

導(dǎo)出數(shù)據(jù)
expdp c##tom/abc123 directory=dump_dir dumpfile=tom.dmp tables=info,grade
Oracle數(shù)據(jù)泵
#導(dǎo)出c##tom用戶(hù)下的表
解析:
directory #指定其路徑映射的別名名稱(chēng),導(dǎo)出數(shù)據(jù)的路徑
dumpfile #指定轉(zhuǎn)儲(chǔ)文件的名稱(chēng),默認(rèn)名稱(chēng)為expdat.dmp
tables #指定表模式導(dǎo)出
查看導(dǎo)出的數(shù)據(jù)文件: ls /opt/app/bak/

導(dǎo)入數(shù)據(jù)
sqlplus c##scott/abc23 #使用"tom"用戶(hù)登錄
SQL> drop table info; #模擬故障刪除其中一張表
恢復(fù)數(shù)據(jù):
impdp c##tom/tom123 directory=dump_dir dumpfile=tom.dmp tables=info #恢復(fù)info表及其數(shù)據(jù)
Oracle數(shù)據(jù)泵
sqlplus c##tom/tom123 #登錄"scott"用戶(hù)
SQL> select table_name from user_tables; #查看是否恢復(fù)成功
Oracle數(shù)據(jù)泵

六、總結(jié)

數(shù)據(jù)泵使用EXPDP和IMPDP時(shí)應(yīng)該注意的事項(xiàng):
1、EXP和IMP是客戶(hù)端工具程序,它們既可以在客戶(hù)端使用,也可以在服務(wù)端使用。
2、EXPDP和IMPDP是服務(wù)端的工具程序,他們只能在ORACLE服務(wù)端使用,不能在客戶(hù)端使用。
3、IMP只適用于EXP導(dǎo)出的文件,不適用于EXPDP導(dǎo)出文件;IMPDP只適用于EXPDP導(dǎo)出的文件,而不適用于EXP導(dǎo)出文件。
4、expdp或impdp命令時(shí),可暫不指出用戶(hù)名/密碼@實(shí)例名 as 身份,然后根據(jù)提示再輸入,如:
expdp schemas=scott dumpfile=expdp.dmp DIRECTORY=dir;

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI