oracle有條件導出導入,含參數文件導入導出

0. 準備:

sys/passwd: system/oracle123

schema/passwd: cloud/cloud123

1. 創建導出導入目錄directory(使用)

create or replace directory dpump_dir as 'd:\dpump_dir';

grant read, write on directory dpump_dir to cloud;

2. 導出模式

    full 全庫導入導出,使用system用戶或具有dba權限的用戶進行導出命令

    schema 按用戶導出導入

    table 按表導出導入

    tablespace 按表空間導出導入

    注:在導出或導入時,四種模式只能選擇其一,任何兩者或者兩者以上不可同時使用

3. 導出語法

expdp system/oracle123 directory=dpump_dir dumpfile=expdp.dmp logfile=expdp.log

| full=y 全庫導出

| schema=cloud 導出用戶cloud

| tables=table_name1,table_name2,...,tables_namen 導出表1,表2,...,表n

| tablespace=cloud,user 導出表空間cloud,user

| exclude=table,view,function,procedure,queue,sequence,materialized views,trigger

| include=table,view,function,procedure,queue,sequence,materialized views,trigger

| content=all | data_only | metadata_only

| filesize= integer B | KB | MB | GB | TB

| flashback_scn=scn_value

| include=TABLE:"IN ('EMPLOYEES', 'DEPARTMENTS')"

| include=INDEX:"LIKE 'EMP%'"

| query=(cloud.user:"WHERE last_name IN(SELECT last_name FROM cloud.user@dblink1)")

注:除了四種導出導出模式不能兩者或兩者以上組合使用外,其他方式可以根據需求自由組合使用

4. 使用參數文件

由於業務需求參數可能過去冗長(如根據需要導出cloud用戶下查出的幾十個表),因此使用參數文件可以更好的編輯導入導出命令

命令:expdp cloud/cloud123 parfile=cloud.par

參數文件cloud.par:

directory=dpump_dir

dumpfile=cloud.dmp

logfile=cloud.log

tables=table_name1,table_name2,...,tables_namen

注:參數文件其實就是將除了導出導入expdp|impdp和導出導入用戶密碼(即:expdp|impdp username/passwd)之外的命令放到參數文件中

5. 導出示例

(1)全庫導出:

expdp system/oracle123 directory=dpump_dir dumpfile=full.dmp logfile=full.log full=y full默認爲y

    (2)導出cloud用戶:

​expdp system/oracle123 directory=dpump_dir dumpfile=cloud.dmp logfile=cloud.log schema=cloud

   (3)僅導出cloud用戶下的指定表

expdp cloud/cloud directory=dpump_dir dumpfile=cloud_specify_table.dmp logfile=cloud_specify_table.log tables=table_name1,table_name2,...,tables_namen

(4)僅導出cloud用戶下的所有表(以及視圖,存儲過程)

expdp cloud/cloud directory=dpump_dir dumpfile=cloud_table.dmp logfile=cloud_table.log include=table(,view,procedure)

     (5)導出cloud用戶下除了表之外的所有對象

expdp cloud/cloud directory=dpump_dir dumpfile=cloud_except_table.dmp logfile=cloud_except_table.log exclude=table

     (6)導出cloud用戶指定表以及其他說對象內容

expdp cloud/cloud directory=dpump_dir dumpfile=cloud_specify_table.dmp logfile=cloud_specify_table.log include=table:"in ('table_name1', 'table_name2')"

     (7)導出cloud用戶下的所有對象,但不導出數據

expdp cloud/cloud directory=dpump_dir dumpfile=cloud_except_data.dmp logfile=cloud_except_data.log content=metadata_only

6. 導入示例

導出和導入是對應的,只需將expdp換成impdp即可

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章