Oracle是廣泛使用的關(guān)系數(shù)據(jù)庫軟件,數(shù)據(jù)庫管理員經(jīng)常需要將數(shù)據(jù)從一個(gè)Oracle數(shù)據(jù)庫實(shí)例導(dǎo)出到另一個(gè)實(shí)例中,或從一個(gè)Oracle數(shù)據(jù)庫實(shí)例中導(dǎo)出特定表的數(shù)據(jù),以備其他用途。此時(shí),可以使用Oracle的導(dǎo)出導(dǎo)入工具。
Oracle的導(dǎo)出工具叫做exp,通過它可以將整個(gè)數(shù)據(jù)庫實(shí)例或指定的表空間、表、視圖、過程、函數(shù)等導(dǎo)出為一組二進(jìn)制文件。例如,以下命令將整個(gè)數(shù)據(jù)庫實(shí)例導(dǎo)出到expdat.dmp文件中:
exp userid=username/password file=expdat.dmp
如果只需要導(dǎo)出一個(gè)表,則在命令行中添加參數(shù)tables參數(shù):
exp userid=username/password tables=table1,table2,table3 file=expdata.dmp
Oracle的導(dǎo)入工具叫做imp,通過它可以將從exp生成的二進(jìn)制文件導(dǎo)入到一個(gè)新的Oracle實(shí)例中。例如,以下命令將exp生成的二進(jìn)制文件導(dǎo)入到一個(gè)新建的Oracle實(shí)例中:
imp userid=username/password file=expdat.dmp full=y
在導(dǎo)入單個(gè)表時(shí),必須在命令行參數(shù)中顯式指定該表的名稱:
imp userid=username/password file=expdat.dmp tables=table1
除了導(dǎo)出導(dǎo)入整個(gè)數(shù)據(jù)庫實(shí)例或指定的表之外,還可以使用expdp和impdp命令將數(shù)據(jù)導(dǎo)出導(dǎo)入到一個(gè)XML文件中。例如,以下命令將整個(gè)數(shù)據(jù)庫實(shí)例導(dǎo)出到expdat.dmp文件中:
expdp userid=username/password full=y directory=EXPORT_DIR dumpfile=expdat.dmp
將數(shù)據(jù)導(dǎo)入到一個(gè)XML文件中的語法很類似,只需要將expdp替換為impdp即可。
總之,Oracle導(dǎo)入導(dǎo)出工具是強(qiáng)大而靈活的。無論您是要將整個(gè)數(shù)據(jù)庫實(shí)例導(dǎo)出、將某些表導(dǎo)入導(dǎo)出或者將數(shù)據(jù)導(dǎo)入導(dǎo)出XML文件,都可以使用Oracle的導(dǎo)入導(dǎo)出工具。需要注意的是,在使用導(dǎo)出導(dǎo)入工具前必須備份數(shù)據(jù),以防出現(xiàn)意外的情況。