最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle導入導出dmp文件的方法對比及示例

 更新時間:2025年01月14日 08:57:56   作者:滿船清夢壓星河~  
這篇文章主要介紹了Oracle數(shù)據(jù)庫中的dmp文件格式及其相關工具impdp/expdp的使用方法,包括它們的區(qū)別、參數(shù)說明及示例,并指出了執(zhí)行導入導出時需要的前置條件,需要的朋友可以參考下

前言

在工作中,經常會遇到需要備份庫,庫表遷移的場景,對于oracle會使用dmp文件進行數(shù)據(jù)遷移和備份?;谝淮芜w移數(shù)據(jù)庫的經歷,整理記錄dmp相關知識點,供后續(xù)工作參考使用。

一、什么是dmp?

● dmp是"Data Pump"的縮寫,它是Oracle獨有的一種數(shù)據(jù)導入導出文件格式。.dmp文件是一種數(shù)據(jù)庫導出文件的擴展名,通常用于存儲數(shù)據(jù)庫中的表、數(shù)據(jù)、視圖等對象的結構和內容。是一種特定數(shù)據(jù)庫系統(tǒng)的二進制信息,因此不能直接用文本編輯器打開。

●.dmp文件一般包含數(shù)據(jù)定義語言(DDL)和數(shù)據(jù)操作語言(DML)。具體來說,DDL是用來定義數(shù)據(jù)庫對象,例如表、視圖、用戶等等;DML則是用來操作這些對象,例如插入、刪除、更新數(shù)據(jù)等。常用來進行數(shù)據(jù)庫遷移或者備份操作。

●其他數(shù)據(jù)庫也有類似備份文件,比如MySQL數(shù)據(jù)庫使用.sql文件或者.dump文件來表示數(shù)據(jù)庫導出文件,而SQL Server數(shù)據(jù)庫使用.bak文件來表示備份文件。

二、imp/impdp、exp/expdp對比及示例

imp/exp(Oracle導入導出實用程序)是使用傳統(tǒng)的導出技術,而impdp/expdp(數(shù)據(jù)泵導入實用程序)是使用Oracle Data Pump技術。Data Pump是Oracle在10g版本中引入的高性能、可擴展的導入導出工具,即 Oracle 10g 之前的版本不可以使用 impdp/expdp。

1.區(qū)別

●imp和exp是傳統(tǒng)的導入和導出工具,而impdp和expdp是數(shù)據(jù)泵工具,采用了新的架構和方法。

●imp和exp是基于基于二進制文件的,而impdp和expdp則是使用數(shù)據(jù)泵作業(yè)來執(zhí)行數(shù)據(jù)移動操作,可以提供更高的性能和擴展性。

●imp和exp不支持在分布式環(huán)境中執(zhí)行,而impdp和expdp可以在分布式環(huán)境中執(zhí)行。

●數(shù)據(jù)泵通常指的是一種高性能的數(shù)據(jù)導入和導出工具,用于在數(shù)據(jù)庫系統(tǒng)中進行快速的數(shù)據(jù)遷移和加載操作。數(shù)據(jù)泵工具能夠提供比傳統(tǒng)的導入導出工具更快速、更靈活的數(shù)據(jù)傳輸方式,通常支持并行處理、大容量數(shù)據(jù)傳輸和高性能加載等特點。

2.imp/impdp對比及示例

a. imp

可通過 imp help=y 命令查詢相關參數(shù)

  • imp常用參數(shù)說明,可以根據(jù)需要指定不同的參數(shù)來控制導入的方式和內容。
參數(shù)使用說明
TOUSER指定要導入數(shù)據(jù)的用戶名。
FROMUSER指定導入數(shù)據(jù)來自的用戶名。
FILE指定要導入的文件路徑和名稱。例如,F(xiàn)ILE=/path/to/import.dmp。
IGNORE指定是否忽略導入過程中遇到的錯誤。可以是Y或N。
INDEXES指定是否導入索引??梢允荵或N。
ROWS控制是否導入表中的行數(shù)據(jù)??梢允荵或N。
DATA_ONLY指定只導入數(shù)據(jù),不包括對象定義??梢允荵或N。
IGNORECASE指定導入時是否忽略大小寫??梢允荵或N。
FULL指定導入前先刪除現(xiàn)有對象??梢允荵或N。
LOG指定導入操作的日志文件路徑和名稱。例如,LOG=/path/to/import.log。
BUFFER指定讀取導入文件時的緩沖區(qū)大小。
REMAP_SCHEMA指定要將導入的對象映射到的新模式名。
REMAP_TABLESPACE指定要將導入的表空間映射到的新表空間名。
TABLES指定要導入的特定表。舉例:IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N(or TABLES=(T1:P1,T1:P2) 表分區(qū)可用)
  • 命令格式:
imp 用戶名/密碼@數(shù)據(jù)庫實例 FILE=導入文件的路徑.dmp FROMUSER=源用戶名 TOUSER=目標用戶名
  • 命令示例:
--windows環(huán)境下
imp username/password@SERVICENAME:1521 file=e:\temp.dmp rows=y
log=E:/test/dmp/kf_workflow_0512.log full = y;
-linux環(huán)境路徑進行替換

b. impbp

可通過 impbp help=y 命令查詢相關參數(shù)

  • impbp常用參數(shù)說明,可以根據(jù)需要指定不同的參數(shù)來控制導入的方式和內容。
參數(shù)使用說明
ATTACH指定是否附加到正在運行的 impdp 作業(yè)。
DIRECTORY指定導入和導出文件所在的目錄對象。
DUMPFILE指定要導入的數(shù)據(jù)泵文件名。
REMAP_DATAFILE指定要將源數(shù)據(jù)文件映射到的目標數(shù)據(jù)文件。
REMAP_SCHEMA指定要將源模式映射到的目標模式。
REMAP_TABLESPACE指定要將源表空間映射到的目標表空間。
TABLE_EXISTS_ACTION對于已存在的表,指定要采取的操作(SKIP、APPEND、TRUNCATE、REPLACE)。
TRANSFORM指定要應用的數(shù)據(jù)轉換選項。
CONTENT指定要導入的對象類型(ALL、DATA_ONLY、METADATA_ONLY)。
PARALLEL指定并行執(zhí)行導入作業(yè)的程度。
LOGFILE指定導入操作的日志文件名。
INCLUDE/EXCLUDE指定要導入或排除的對象。
QUERY指定導入時使用的查詢條件。For example, QUERY=employees:“WHERE department_id > 10”.
  • 命令格式:
--命令參考
impdp 用戶名/密碼@數(shù)據(jù)庫實例 DIRECTORY=目錄名稱 DUMPFILE=導入文件的名稱.dmp REMAP_SCHEMA=源用戶名:目標用戶名
--舉例
impdp user/password@SID DIRECTORY=DMPDATA DUMPFILE=fileName.dmp remap_tablespace=um_dev:um remap_schema=u_um_dev:u_um

參數(shù)說明:

  • user/password@SID 用戶名/用戶密碼@數(shù)據(jù)庫實例;
  • directory=dmpdata 導入的目錄,DMPDATA為數(shù)據(jù)庫虛擬路徑(參考目錄三中的目錄映射),即導入dmpdata下的文件也就是’/data/u01/dmpdata/';
  • dumpfile=filename.dmp 導入的文件名,結合上面的 directory=dmpdata 就將’/data/u01/dmpdata/filename.dmp’;導入目標服務器(需要注意大小寫);
  • remap_tablespace=um_dev:um----->um_dev:導出表空間 ,um:導入表空間;
  • remap_schema=u_um_dev:u_um ----> u_um_dev:導出用戶 u_um:導入用戶。
  • 命令示例:
impdp kf_gs_workflow_0604/a@gfmisdev directory='DUMP_DIR' DUMPFILE='GSU_WORKFLOW_20240604.dmp' LOGFILE='GSU_WORKFLOW_20240604.log' REMAP_SCHEMA=GSU_WORKFLOW:kf_gs_workflow_0604 REMAP_TABLESPACE=GRP:USERS

3.exp/expdp對比及示例

a. exp

可通過 exp help=y 命令查詢相關參數(shù)

  • imp常用參數(shù)說明,可以根據(jù)需要指定不同的參數(shù)來控制導入的方式和內容。
參數(shù)使用說明
TABLES指定要導出的表格。例如,TABLES=table1,table2。
FILE指定導出文件的路徑和名稱。例如,F(xiàn)ILE=/path/to/export.dmp。
LOG指定導出過程的日志文件路徑和名稱。例如,LOG=/path/to/export.log。
QUERY指定要導出數(shù)據(jù)的查詢條件。例如,QUERY=“ SELECT * FROM TABLE WHERE column_name=‘value’”。
ROWS控制是否導入表中的行數(shù)據(jù)??梢允荵或N。
STATISTICS指定是否導出統(tǒng)計信息??梢允茿LL、ESTIMATE或NONE。
GRANTS指定是否導出對象的授權信息。可以是Y、N或FULL。
CONSISTENT指定是否導出一致性視圖??梢允荵或N。
INDEXES指定是否導出索引??梢允荵或N。
COMPRESS指定是否壓縮導出文件??梢允荵或N。
  • 命令格式:
exp username/password@[database] FILE=[導出文件路徑] TABLES=[要導出的表名]
  • 命令示例:
--完全導出:
exp user/password@SID file=E:/test/dmp/kf_workflow_0512.dmp full=y

--導出A、B表
exp user/password@SID file= E:/test/dmp/kf_workflow_0512.dmp tables=(A,B)

b.expdp

可通過 expdp help=y 命令查詢相關參數(shù)

  • imp常用參數(shù)說明,可以根據(jù)需要指定不同的參數(shù)來控制導入的方式和內容。
參數(shù)使用說明
SCHEMAS指定要導出的模式名。例如,SCHEMAS=schema1,schema2。
INCLUDE指定要包括的對象類型。例如,INCLUDE=TABLE,VIEW將只導出表和視圖。
EXCLUDE指定要排除的對象類型。例如,EXCLUDE=INDEX將排除索引的導出。
DIRECTORY指定導出文件的目錄對象。例如,DIRECTORY=datapump_dir。
DUMPFILE指定導出文件的名稱。例如,DUMPFILE=export.dmp。
LOGFILE指定導出操作的日志文件名稱。例如,LOGFILE=export.log。
PARALLEL指定并行導出的進程數(shù)。
DIRECTORY指定導出文件的目錄對象。例如,DIRECTORY=datapump_dir。
COMPRESSION指定導出文件是否壓縮??梢允茿LL、DATA_ONLY、METADATA_ONLY或NONE。
CONTENT指定導出內容??梢允茿LL、DATA_ONLY、METADATA_ONLY或METADATA_ONLY_EXCLUDING_DATA。
QUERY指定導出的數(shù)據(jù)查詢條件。例如,QUERY=“WHERE column_name=‘value’”。
FILESIZE指定導出文件的最大文件大小。
JOB_NAME指定導出作業(yè)的名稱。
VERSION給定系統(tǒng)版本號的對象。例如,VERSION=SCN,SCN為版本號。
  • 命令格式:
expdp 用戶名/密碼@數(shù)據(jù)庫實例 DIRECTORY=目錄名稱 DUMPFILE=導出文件名.dmp   EXCLUDE=TABLE:"IN ('table1','table2')"  INCLUDE=TABLE:"IN ('EMPLOYEES', 'DEPARTMENTS')"   FULL=Y
  • 命令示例:
--按用戶導
expdp user/password@SID schemas=u_mom_um dumpfile=expdp.dmp directory=dmp logfile=expdlog.log;

--按表名導
expdp user/password@SID tables=test1,test2 dumpfile=expdp.dmp directory=dmp logfile=expdlog.log;

--按查詢條件導
expdp user/password@SID directory=dmp dumpfile=expdp.dmp Tables=test query='WHERE id<20' logfile=expdlog.log;

--按表空間導
expdp user/password@SID directory=dmp dumpfile=expdp.dmp TABLESPACES={#表空間1},{#表空間2} logfile=expdlog.log;

--導整個庫
expdp user/password@SID directory=dmp dumpfile=expdp.dmp FULL=y logfile=expdlog.log;
  • 具體命令示例:
--按照表空間導
expdp user/password@SID directory=DMPDATA dumpfile=tbs2022.dmp TABLESPACES=tbs  logfile=expdlog.log;

--用EXCLUDE、INCLUDE時,對應的符號需要進行轉譯
expdp GSU_ELEMENT/yth2023 schemas=GSU_ELEMENT dumpfile=GSU_ELEMENT_20240604.dmp EXCLUDE=TABLE:\"IN\(\'GFM_TB_RESULT\',\'GAP_PAYEE_ACCOUNT\'\)\" directory=GSZX logfile=GSU_ELEMENT_20240604.log

3.其他事項

  • 在執(zhí)行導入導出時需要進入oracle去執(zhí)行。
--linux 
su oracle ;--到這就可執(zhí)行導入導出
sqlplus / as sysdba;

--windows: 
win + r,cmd,enter; --到這可執(zhí)行導入導出
sqlplus 用戶名/口令@數(shù)據(jù)庫名 as sysdba;
  • 在執(zhí)行導入、導出的命令時,可通過nohup來執(zhí)行,nohup是一個在Unix和類Unix操作系統(tǒng)上用來忽略HUP(掛起)信號并運行命令的實用程序。通過使用nohup,您可以使命令在后臺運行,即使當前Shell終端窗口關閉,也能繼續(xù)運行。
  • 使用exp 導出文件需要使用imp導入,數(shù)據(jù)泵類型需要一致。
  • EXCLUDE、INCLUDE時,對應的符號需要進行轉譯;

三、執(zhí)行導入導出前置條件

如果數(shù)據(jù)庫用戶已經存在,并有相關目錄跳過此步驟。

1.創(chuàng)建角色并授權

--創(chuàng)建角色
create user orcl identified by orclorcl;

--授權
grant dba ,connect ,resource ,select any table,create view to orcl;

--查看用戶創(chuàng)建情況
select * from all_users;

2.創(chuàng)建目錄映射

 CREATE DIRECTORY my_dir AS '/path/to/directory';
  • 查詢現(xiàn)有目錄是否滿足條件
select * from DBA_DIRECTORIES;
  • 創(chuàng)建文件夾
--linux
mkdir /data/u01/dmpdata

--windows下自行創(chuàng)建文件,記下目錄
  • 文件夾創(chuàng)建后給oracle用戶授權
chown -R oracle /data/u01/dmpdata
  • 數(shù)據(jù)庫里執(zhí)行SQL創(chuàng)建導入/導出目錄(目錄映射)
--目錄對象在數(shù)據(jù)庫中注冊,并映射到實際物理目錄的路徑。
create or replace directory DMPDATA as '/data/u01/dmpdata';
  • 為建立的目錄賦權限,須要以其余用戶運行,建議在sys用戶下執(zhí)行
grant read,write on directory DMPDATA to {#用戶名};

總結 

到此這篇關于Oracle導入導出dmp文件的方法對比及示例的文章就介紹到這了,更多相關Oracle導入導出dmp文件內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • oracle中截斷表的使用介紹

    oracle中截斷表的使用介紹

    Oracle中如果刪除了表中的某一條數(shù)據(jù),還可以通過回滾操作(rollback)進行回滾,假如想清空一張表的數(shù)據(jù),但是又不想使其能進行回滾操作,就可以立刻釋放資源,這時就需要使用截斷表
    2012-11-11
  • oracle if else語句使用介紹

    oracle if else語句使用介紹

    Oracle if else 語句的寫法及應用介紹,詳細可參考本文
    2012-11-11
  • Oracle9i在Win2k環(huán)境下的完全卸載

    Oracle9i在Win2k環(huán)境下的完全卸載

    Oracle9i在Win2k環(huán)境下的完全卸載...
    2007-03-03
  • Oracle 11g 客戶端的安裝和配置的圖文教程

    Oracle 11g 客戶端的安裝和配置的圖文教程

    這篇文章主要介紹了 Oracle 11g 客戶端的安裝和配置的圖文教程,需要的朋友可以參考下
    2017-05-05
  • Oracle關于重建索引爭論的總結

    Oracle關于重建索引爭論的總結

    這篇文章主要介紹了Oracle關于重建索引爭論的總結,本文總結了重建索引的理由、重建索引的本質、反對重建索引的理由等內容,需要的朋友可以參考下
    2014-09-09
  • 在Oracle中導入dmp文件的方法

    在Oracle中導入dmp文件的方法

    這篇文章主要介紹了如何在Oracle中導入dmp文件,很簡單,但很實用,需要的朋友可以參考下
    2014-09-09
  • Oracle查詢表占用的空間(表大小)的3種方法

    Oracle查詢表占用的空間(表大小)的3種方法

    這篇文章主要給大家介紹了關于Oracle查詢表占用的空間(表大小)的3種方法,表空間是oracle數(shù)據(jù)庫中最大的邏輯單位與存儲空間單位,數(shù)據(jù)庫系統(tǒng)通過表空間為數(shù)據(jù)庫對象分配空間,需要的朋友可以參考下
    2023-10-10
  • Oracle GoldenGate同步服務歸檔空間維護【推薦】

    Oracle GoldenGate同步服務歸檔空間維護【推薦】

    這篇文章主要介紹了Oracle GoldenGate同步服務歸檔空間維護的相關知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-08-08
  • Redhat6.5安裝oracle11g的方法

    Redhat6.5安裝oracle11g的方法

    這篇文章主要介紹了Redhat6.5安裝oracle11g的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • Oracle數(shù)據(jù)庫事務的開啟與結束詳解

    Oracle數(shù)據(jù)庫事務的開啟與結束詳解

    事務是一個整體,這些操作要么全部執(zhí)行成功,要么全部不執(zhí)行,下面這篇文章主要給大家介紹了關于Oracle數(shù)據(jù)庫事務的開啟與結束的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-06-06

最新評論

怀集县| 屯门区| 佛教| 垣曲县| 杨浦区| 岳西县| 郑州市| 陵川县| 昔阳县| 封丘县| 肇东市| 常宁市| 土默特右旗| 姜堰市| 莱阳市| 上蔡县| 长岛县| 当阳市| 衡南县| 新闻| 巨鹿县| 石景山区| 巴林右旗| 惠水县| 大英县| 布尔津县| 上犹县| 崇文区| 大关县| 正镶白旗| 海林市| 湖南省| 嘉黎县| 镇江市| 海阳市| 勃利县| 伊金霍洛旗| 南澳县| 宜良县| 山东| 张家界市|