数据泵使用心得
數據泵在數據的導入、導出方面突出了它特有的優勢,給數據庫管理人員提供了極大的方便
COMPRESSION 減小有效的轉儲文件內容的大小
??????????????????????關鍵字值為: (METADATA_ONLY) 和 NONE。
CONTENT 指定要卸載的數據, 其中有效關鍵字為:
??????????????????????(ALL), DATA_ONLY 和 METADATA_ONLY。
DIRECTORY 供轉儲文件和日志文件使用的目錄對象。
DUMPFILE 目標轉儲文件 (expdat.dmp) 的列表,
??????????????????????例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。
EXCLUDE 排除特定的對象類型, 例如 EXCLUDE=TABLE:EMP。
FILESIZE 以字節為單位指定每個轉儲文件的大小。
FULL 導出整個數據庫 (N)。
INCLUDE 包括特定的對象類型, 例如 INCLUDE=TABLE_DATA。
JOB_NAME 要創建的導出作業的名稱。
LOGFILE 日志文件名 (export.log)。
NETWORK_LINK 鏈接到源系統的遠程數據庫的名稱。
NOLOGFILE 不寫入日志文件 (N)。
PARALLEL 更改當前作業的活動 worker 的數目。
PARFILE 指定參數文件。
QUERY 用于導出表的子集的謂詞子句。
SCHEMAS 要導出的方案的列表 (登錄方案)。
STATUS 在默認值 (0) 將顯示可用時的新狀態的情況下,
??????????????????????要監視的頻率 (以秒計) 作業狀態。
TABLES 標識要導出的表的列表 - 只有一個方案。
TABLESPACES 標識要導出的表空間的列表。
TRANSPORT_TABLESPACES 要從中卸載元數據的表空間的列表。
命令 說明
ADD_FILE 向轉儲文件集中添加轉儲文件。
CONTINUE_CLIENT 返回到記錄模式。如果處于空閑狀態, 將重新啟動作業。
EXIT_CLIENT 退出客戶機會話并使作業處于運行狀態。
FILESIZE 后續 ADD_FILE 命令的默認文件大小 (字節)。
HELP 總結交互命令。
KILL_JOB 分離和刪除作業。
PARALLEL 更改當前作業的活動 worker 的數目。
??????????????????????PARALLEL=<worker 的數目>。
START_JOB 啟動/恢復當前作業。
STATUS 在默認值 (0) 將顯示可用時的新狀態的情況下,
??????????????????????要監視的頻率 (以秒計) 作業狀態。
??????????????????????STATUS[=interval]
STOP_JOB 順序關閉執行的作業并退出客戶機。
??????????????????????STOP_JOB=IMMEDIATE 將立即關閉
??????????????????????數據泵作業。
語法如下:
(create public database link LINK_CDMABASE
??connect to CDMABASE identified by cdmabase
??using '//192.168.1.202:1521/release.haitu.com')
2、將原數據庫中的schema中所有的對象導入到目標數據庫的schema中
語法如下:
impdp system/orcl network_link=link_cdmabase re
map_schema=cdmabase:zsk tables=cdmabase.action_info
其中:NETWORK_LINK是指鏈接到源系統的遠程數據庫的名稱也就是創建好的Database links。
第一步、查看數據庫中任務的狀態
SQL> select job_name,state from dba_datapump_jobs;
JOB_NAME STATE
EXAMPLE1 NOT RUNNING
第二步、連接任務
>expdp system/manager attach=EXAMPLE1
第 3 步:添加轉儲文件
此時,可以在 Export> 提示符下發出 ADD_FILE 指令來添加轉儲文件。新的轉儲文件將自動創建在與原始轉儲文件相同的目錄 (DATA_PUMP_DIR) 中。
Export>add_file=hr1.dmp
接下來,我們可以執行 status 命令,看到現在顯示出這個添加的轉儲文件。
第四步:重新啟動/繼續作業
最后,我們發出 CONTINUE_CLIENT 命令。作業 EXAMPLE1 此時將恢復運行。
我們也可以使用 START_JOB 命令。CONTINUE_CLIENT 命令將模式從交互式命令模式更改為記錄模式,然后執行 START_JOB。
第 7 步:檢查作業狀態
我們可以隨意地查看作業的狀態。
Import> status
expdp system/dbserver CONTENT=DATA_ONLY directory=DATA_PUMP_DIR dumpfile=cm.dmp logfile=cm.log tables=cdmaos.cm_ctiy version=10.2 注意: 在導出數據時需指定導出數據oracle的版本號,該版本號必須低于所要導入數據的oracle的版本號。
第二步:把從oracle11g中導出來的數據導入到oracle10g中
impdp system/dbserver content=data_only directory=dumpdir dumpfile=cm.dmp logfile=cm.log remap_schema=cdmaos:cdmatest
expdp導出數據
- expdp常用參數介紹
COMPRESSION 減小有效的轉儲文件內容的大小
??????????????????????關鍵字值為: (METADATA_ONLY) 和 NONE。
CONTENT 指定要卸載的數據, 其中有效關鍵字為:
??????????????????????(ALL), DATA_ONLY 和 METADATA_ONLY。
DIRECTORY 供轉儲文件和日志文件使用的目錄對象。
DUMPFILE 目標轉儲文件 (expdat.dmp) 的列表,
??????????????????????例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。
EXCLUDE 排除特定的對象類型, 例如 EXCLUDE=TABLE:EMP。
FILESIZE 以字節為單位指定每個轉儲文件的大小。
FULL 導出整個數據庫 (N)。
INCLUDE 包括特定的對象類型, 例如 INCLUDE=TABLE_DATA。
JOB_NAME 要創建的導出作業的名稱。
LOGFILE 日志文件名 (export.log)。
NETWORK_LINK 鏈接到源系統的遠程數據庫的名稱。
NOLOGFILE 不寫入日志文件 (N)。
PARALLEL 更改當前作業的活動 worker 的數目。
PARFILE 指定參數文件。
QUERY 用于導出表的子集的謂詞子句。
SCHEMAS 要導出的方案的列表 (登錄方案)。
STATUS 在默認值 (0) 將顯示可用時的新狀態的情況下,
??????????????????????要監視的頻率 (以秒計) 作業狀態。
TABLES 標識要導出的表的列表 - 只有一個方案。
TABLESPACES 標識要導出的表空間的列表。
TRANSPORT_TABLESPACES 要從中卸載元數據的表空間的列表。
命令 說明
ADD_FILE 向轉儲文件集中添加轉儲文件。
CONTINUE_CLIENT 返回到記錄模式。如果處于空閑狀態, 將重新啟動作業。
EXIT_CLIENT 退出客戶機會話并使作業處于運行狀態。
FILESIZE 后續 ADD_FILE 命令的默認文件大小 (字節)。
HELP 總結交互命令。
KILL_JOB 分離和刪除作業。
PARALLEL 更改當前作業的活動 worker 的數目。
??????????????????????PARALLEL=<worker 的數目>。
START_JOB 啟動/恢復當前作業。
STATUS 在默認值 (0) 將顯示可用時的新狀態的情況下,
??????????????????????要監視的頻率 (以秒計) 作業狀態。
??????????????????????STATUS[=interval]
STOP_JOB 順序關閉執行的作業并退出客戶機。
??????????????????????STOP_JOB=IMMEDIATE 將立即關閉
??????????????????????數據泵作業。
下面介紹幾種常用的expdp方法π
- 在不同數據庫中把一個schema中所有的對象導入到另一個schema中。
語法如下:
(create public database link LINK_CDMABASE
??connect to CDMABASE identified by cdmabase
??using '//192.168.1.202:1521/release.haitu.com')
2、將原數據庫中的schema中所有的對象導入到目標數據庫的schema中
語法如下:
impdp system/orcl network_link=link_cdmabase re
map_schema=cdmabase:zsk tables=cdmabase.action_info
其中:NETWORK_LINK是指鏈接到源系統的遠程數據庫的名稱也就是創建好的Database links。
- 導出數據庫中以字母A開頭的表 -
- 導出數據庫中除以字母B開頭的表 -
- 導出數據庫中指定的schema -
- 導出數據庫中某一表的部分數據(即把數據過濾)-
expdp查看任務狀態 π
假如我們的導出作業 (EXAMPLE1) 遇到了嚴重錯誤,導致導出失敗,則可以通過以下方法來解決。第一步、查看數據庫中任務的狀態
SQL> select job_name,state from dba_datapump_jobs;
JOB_NAME STATE
EXAMPLE1 NOT RUNNING
第二步、連接任務
>expdp system/manager attach=EXAMPLE1
第 3 步:添加轉儲文件
此時,可以在 Export> 提示符下發出 ADD_FILE 指令來添加轉儲文件。新的轉儲文件將自動創建在與原始轉儲文件相同的目錄 (DATA_PUMP_DIR) 中。
Export>add_file=hr1.dmp
接下來,我們可以執行 status 命令,看到現在顯示出這個添加的轉儲文件。
第四步:重新啟動/繼續作業
最后,我們發出 CONTINUE_CLIENT 命令。作業 EXAMPLE1 此時將恢復運行。
我們也可以使用 START_JOB 命令。CONTINUE_CLIENT 命令將模式從交互式命令模式更改為記錄模式,然后執行 START_JOB。
第 7 步:檢查作業狀態
我們可以隨意地查看作業的狀態。
Import> status
impdp導入數據
- 把數據從oracle11g中導入到oracle10g中 -
expdp system/dbserver CONTENT=DATA_ONLY directory=DATA_PUMP_DIR dumpfile=cm.dmp logfile=cm.log tables=cdmaos.cm_ctiy version=10.2 注意: 在導出數據時需指定導出數據oracle的版本號,該版本號必須低于所要導入數據的oracle的版本號。
第二步:把從oracle11g中導出來的數據導入到oracle10g中
impdp system/dbserver content=data_only directory=dumpdir dumpfile=cm.dmp logfile=cm.log remap_schema=cdmaos:cdmatest
總結
- 上一篇: 转: Vim快捷键分类
- 下一篇: 终极算法 机器学习和人工智能如何重塑世界