Oracle是一種被廣泛應(yīng)用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),其功能強(qiáng)大、穩(wěn)定性高、安全性好等特點深受用戶青睞。其中,Oracle 11g版本中的exp和expdp是備份和導(dǎo)出數(shù)據(jù)庫中數(shù)據(jù)的重要工具。本文將詳細(xì)介紹Oracle 11g中的exp/expdp工具,同時通過實例和操作,來讓大家對其有更深刻的理解和應(yīng)用。
Oracle 11g中的exp和expdp都是將數(shù)據(jù)庫中的表、視圖、存儲過程以及數(shù)據(jù)等內(nèi)容導(dǎo)出和備份的工具,expdp相比較于exp而言,功能更加強(qiáng)大。在使用exp/expdp工具時,需要事先確定好導(dǎo)出/備份的用戶、對象、路徑以及文件名等參數(shù)。下面舉例說明:
$ exp userid=scott/tiger file=/backup/full.dmp full=y
在此命令中,userid為登錄Oracle數(shù)據(jù)庫的用戶名和密碼;file為備份文件名稱及路徑;full表示導(dǎo)出整個數(shù)據(jù)庫。同樣地,我們也可以為指定的用戶名、表名或者視圖進(jìn)行導(dǎo)出。類似上面的命令如下:
$ expdp directory=backup_dir dumpfile=emp.dmp schemas=scott
在此命令中,directory用來指定備份文件的路徑,dumpfile表示備份文件名稱,schemas表示備份的用戶。
除了基本的參數(shù)之外,exp/expdp還支持通過WHERE子句對導(dǎo)出的數(shù)據(jù)進(jìn)行限制,通過行級別的安全控制對導(dǎo)出的數(shù)據(jù)進(jìn)行過濾,可以同時進(jìn)行多個導(dǎo)出文件的創(chuàng)建等高級功能。下面通過操作實例,來更細(xì)致了解其使用和功能。
實例1:完整的數(shù)據(jù)庫備份
$ exp userid=scott/tiger file=/backup/full.dmp full=y
在此命令中,指定了scott用戶進(jìn)行完整的備份,并且備份文件將會上傳至/backup/full.dmp下。
實例2:導(dǎo)出指定用戶的數(shù)據(jù)
$ expdp directory=backup_dir dumpfile=emp.dmp schemas=scott
在此命令中,指定了backup_dir為備份路徑,emp.dmp為備份文件名稱,備份對象為scott用戶下的數(shù)據(jù)。
實例3:同時導(dǎo)出多個表
$ expdp directory=backup_dir parallel=4 dumpfile=emp.dmp tables=(emp, dept, project)
在此命令中,指定了backup_dir為備份路徑,backup_file為備份文件名稱。通過parenathesis中進(jìn)行了多個表的導(dǎo)出。
實例4:使用QUERY參數(shù)導(dǎo)出符合條件的數(shù)據(jù)
$ expdp directory=backup_dir dumpfile=emp.dmp tables=emp query=\"where emp_no=7788\"
在此命令中,指定了backup_dir為備份路徑,backup_file為備份文件名稱,查詢了emp表,并且導(dǎo)出的數(shù)據(jù)符合emp_no為7788的記錄。
實例5:行級別的安全控制
$ expdp directory=backup_dir dumpfile=emp.dmp tables=emp dp_excluded_where=\"salary\<5000\"
在此命令中,指定了backup_dir為備份路徑,backup_file為備份文件名稱,查詢了emp表,并且過濾掉了薪水低于5000的員工。
實例6:指定導(dǎo)出物理數(shù)據(jù)庫的部分
$ expdp directory=backup_dir dumpfile=emp.dmp tablespaces=system,sysaux
在此命令中,指定了backup_dir為備份路徑,backup_file為備份文件名稱,導(dǎo)出了物理數(shù)據(jù)庫中的system、sysaux。
實例7:執(zhí)行導(dǎo)出數(shù)據(jù)時進(jìn)行壓縮
$ expdp directory=backup_dir dumpfile=emp.dmp compress=y
在此命令中,壓縮導(dǎo)出的數(shù)據(jù)文件。
通過以上實例和操作,我們對Oracle 11g中的exp/expdp工具有了更深刻的理解和應(yīng)用。希望通過這篇文章,能夠讓大家掌握更多Oracle 11g的知識和技巧。