oracle 10g資料泵之impdp-同時匯入多個檔案
要了解impdp,請先了解匯出,我之前作過匯出的筆記:oracle
10g資料泵之expdp。這兩個筆記也許只對程式設計師有用,通常用於把正式區的資料匯入到測試區,對資料庫管理員也許幫助不大,他們使用這些工具大多是用於資料備份。
impdp可以將資料載入到整個資料庫、特定的方案(也就是使用者)、特定的表空間或者特定的表,也可以將表空間傳輸到資料庫。impdp支援網路模式操作,即從另一個資料庫載入資料。
使用impdp匯入資料
1.指定轉儲檔案(存放匯出資料的檔案)存放的目錄
SQL>connect sys/password as sysdba;
SQL>create directory dump_dir as ‘d:\dump’;
2.使用impdp命令
開始-->執行-->cmd
impdp username/password parameter1[,parameter2,….]
其中,username表示使用者名稱;password表示使用者密碼;parameter1和parameter2表示引數。引數的型別有近40個,可以使用命令impdp help=y檢視所有引數和引數的含義。下面介紹一些對匯入資料庫和表需要的常用引數,它們的含義和在expdp中的含義完全相同。
content :指定匯入的內容。語法格式:content={all| data_only|metadate_only}。其中all表示匯入物件定義及其資料,data_only表示只匯入物件資料,metadate_only表示只匯入物件定義。預設為all
directory:指定轉儲檔案和日誌檔案所在的預設位置(也就是儲存資料的檔案位置)。語法格式:directory=direcotry_object。direcotry_object 是create directory語句建立的目錄物件。
dumpfile:指定轉儲檔案的名稱。語法格式:dumpfile=[ direcotry_object:]file_name[,….]。direcotry_object預設為上面directory引數指定的目錄對 象。file_name預設名稱是expdat.dmp。如果匯入檔案過大,可以指定多個檔名,如 direcotry_object:mydb_%U.dmp。”%U”是一個佔位符,使用這種方式不會出現同名的檔案。
logfile:指定日誌檔案的名稱。語法格式:logfile=[ direcotry_object:]file_name。direcotry_object預設為directory引數指定的目錄物件。file_name日誌檔案,預設名稱是export.log。
exclude:匯入時要排除的物件。語法格式: exclude=object_type[:name_clause][,….]。object_type表示物件型別,如table、view、 index、function、preocedure,name_clause表示使用SQL語句,指定物件名的篩選條件,如table:”like ‘emp%’”表示排除emp開始的任何表。
include:匯入時要包含的物件。語法格式:include =object_type[:name_clause][,….]。object_type和name_clause含義同exclude引數解釋一樣。include和exclude不可以同時使用。當一個物件被包含時,所有相關物件也被包含。
network_link:指定網格匯入時的資料庫連結名。語法格式:network_link=database_link。database_link表示遠端資料庫連結名。
query:指定匯入資料的where條件。語法格式:query=[schema.][table_name:]query_clause。其中 schema表示方案名,也就是使用者名稱,table_name表示表名,query_clause表示條件子句,即where子句。
tables:指定匯入表。語法格式:tables=[schema.]table_name[,….]。schema表示方案名,table_name表示表名
full:指定是否將整個資料庫匯入。語法格式:full={y|n}。y表示執行資料庫匯入,n表不執行。預設為n。
parfile:指定匯入引數檔名。把impdp命令所需的引數寫在一個檔案中,執行impdp命令時指定這個檔案,而不用指定各種引數
匯入例項
順便把expdp命令也寫進來,以方便對比。為了不和上一篇匯出筆記重複,這裡以匯入遠端資料庫的資料到本地資料庫為例。
匯出遠端資料庫
1.估算轉儲檔案大小
如果資料庫很大,這個過程也許會執行很久。在匯出資料庫之前,最好先估算一下轉儲檔案(匯出到的檔案)的大小,以便確定合適filesize引數值,和確定是否有足夠的磁碟空間。使用語法:
expdp username/password@234DB full=y estimate_only=y nologfile=y;
其中estimate_only=y表示只估算轉儲檔案的佔的磁碟空間,不執行匯出操作;@234DB表示遠端資料庫,它是在tnsnames.ora檔案中定義的。
2.匯出資料庫
expdp username/password@234DB directory=dump_dir dumpfile=mydb_%U.dmp logfile=mydb.log filesize=200m full=y
其中dump_dir表示匯出檔案的目錄,由於這裡是匯出遠端資料庫,所以這個目錄是在遠端機子中的;%U是一個佔位符,表示01~99的兩位數,這時執行會建立如MYDB_21.DMP之類的檔案
3.匯入整個資料庫
impdp username/password directory=dump_dir dumpfile=mydb_%U.dmp full=y;
其中dump_dir表示入出檔案的目錄,這裡要把遠端匯出的檔案複製到本地機子上
匯入遠端表
1.匯出表
expdp username/password@234DB directory=dump_dir dumpfile=mytable.dmp tables=schemas.emp
其中schemas表示方案(即使用者),emp表示遠端資料庫名。使用這種方式轉儲檔案將儲存在遠端伺服器的作業系統中。如果要把轉儲檔案儲存到本地機子,使用以下語法:
expdp username/password directory=dump_dir dumpfile=mytable.dmp tables=schemas.emp network_link=to234db
其中username/password分別是本機資料庫使用者名稱和密碼,to234db是本地資料庫指向遠端資料庫的database link。這種方式可以把資料儲存到本機中,但是會產生網路流量。
2.匯入表
impdp username/password directory=dump_dir dumpfile=mytable.dmp tables=schemas.emp
其中schemas要和遠端使用者名稱相同,也就是說如果本地沒有這個使用者,要先建立使用者,格式如:
grant connect,resource to schemas identified by password。emp是要匯入的表,如果本地schemas方案已經存在要匯入的表,可以指定tables_exists_action引數,使用格 式是tables_exists_action={skip|append|truncate|replace}這四個引數值分別表示忽略這個表、把記錄 追加到該表後面、先刪除表資料再追加記錄和使用新表替代已經存在的表。
come from:http://blog.sina.com.cn/s/blog_5016113a0100an7p.html
impdp可以將資料載入到整個資料庫、特定的方案(也就是使用者)、特定的表空間或者特定的表,也可以將表空間傳輸到資料庫。impdp支援網路模式操作,即從另一個資料庫載入資料。
使用impdp匯入資料
1.指定轉儲檔案(存放匯出資料的檔案)存放的目錄
SQL>connect sys/password as sysdba;
SQL>create directory dump_dir as ‘d:\dump’;
2.使用impdp命令
開始-->執行-->cmd
impdp username/password parameter1[,parameter2,….]
其中,username表示使用者名稱;password表示使用者密碼;parameter1和parameter2表示引數。引數的型別有近40個,可以使用命令impdp help=y檢視所有引數和引數的含義。下面介紹一些對匯入資料庫和表需要的常用引數,它們的含義和在expdp中的含義完全相同。
content :指定匯入的內容。語法格式:content={all| data_only|metadate_only}。其中all表示匯入物件定義及其資料,data_only表示只匯入物件資料,metadate_only表示只匯入物件定義。預設為all
directory:指定轉儲檔案和日誌檔案所在的預設位置(也就是儲存資料的檔案位置)。語法格式:directory=direcotry_object。direcotry_object 是create directory語句建立的目錄物件。
dumpfile:指定轉儲檔案的名稱。語法格式:dumpfile=[ direcotry_object:]file_name[,….]。direcotry_object預設為上面directory引數指定的目錄對 象。file_name預設名稱是expdat.dmp。如果匯入檔案過大,可以指定多個檔名,如 direcotry_object:mydb_%U.dmp。”%U”是一個佔位符,使用這種方式不會出現同名的檔案。
logfile:指定日誌檔案的名稱。語法格式:logfile=[ direcotry_object:]file_name。direcotry_object預設為directory引數指定的目錄物件。file_name日誌檔案,預設名稱是export.log。
exclude:匯入時要排除的物件。語法格式: exclude=object_type[:name_clause][,….]。object_type表示物件型別,如table、view、 index、function、preocedure,name_clause表示使用SQL語句,指定物件名的篩選條件,如table:”like ‘emp%’”表示排除emp開始的任何表。
include:匯入時要包含的物件。語法格式:include =object_type[:name_clause][,….]。object_type和name_clause含義同exclude引數解釋一樣。include和exclude不可以同時使用。當一個物件被包含時,所有相關物件也被包含。
network_link:指定網格匯入時的資料庫連結名。語法格式:network_link=database_link。database_link表示遠端資料庫連結名。
query:指定匯入資料的where條件。語法格式:query=[schema.][table_name:]query_clause。其中 schema表示方案名,也就是使用者名稱,table_name表示表名,query_clause表示條件子句,即where子句。
tables:指定匯入表。語法格式:tables=[schema.]table_name[,….]。schema表示方案名,table_name表示表名
full:指定是否將整個資料庫匯入。語法格式:full={y|n}。y表示執行資料庫匯入,n表不執行。預設為n。
parfile:指定匯入引數檔名。把impdp命令所需的引數寫在一個檔案中,執行impdp命令時指定這個檔案,而不用指定各種引數
匯入例項
順便把expdp命令也寫進來,以方便對比。為了不和上一篇匯出筆記重複,這裡以匯入遠端資料庫的資料到本地資料庫為例。
匯出遠端資料庫
1.估算轉儲檔案大小
如果資料庫很大,這個過程也許會執行很久。在匯出資料庫之前,最好先估算一下轉儲檔案(匯出到的檔案)的大小,以便確定合適filesize引數值,和確定是否有足夠的磁碟空間。使用語法:
expdp username/password@234DB full=y estimate_only=y nologfile=y;
其中estimate_only=y表示只估算轉儲檔案的佔的磁碟空間,不執行匯出操作;@234DB表示遠端資料庫,它是在tnsnames.ora檔案中定義的。
2.匯出資料庫
expdp username/password@234DB directory=dump_dir dumpfile=mydb_%U.dmp logfile=mydb.log filesize=200m full=y
其中dump_dir表示匯出檔案的目錄,由於這裡是匯出遠端資料庫,所以這個目錄是在遠端機子中的;%U是一個佔位符,表示01~99的兩位數,這時執行會建立如MYDB_21.DMP之類的檔案
3.匯入整個資料庫
impdp username/password directory=dump_dir dumpfile=mydb_%U.dmp full=y;
其中dump_dir表示入出檔案的目錄,這裡要把遠端匯出的檔案複製到本地機子上
匯入遠端表
1.匯出表
expdp username/password@234DB directory=dump_dir dumpfile=mytable.dmp tables=schemas.emp
其中schemas表示方案(即使用者),emp表示遠端資料庫名。使用這種方式轉儲檔案將儲存在遠端伺服器的作業系統中。如果要把轉儲檔案儲存到本地機子,使用以下語法:
expdp username/password directory=dump_dir dumpfile=mytable.dmp tables=schemas.emp network_link=to234db
其中username/password分別是本機資料庫使用者名稱和密碼,to234db是本地資料庫指向遠端資料庫的database link。這種方式可以把資料儲存到本機中,但是會產生網路流量。
2.匯入表
impdp username/password directory=dump_dir dumpfile=mytable.dmp tables=schemas.emp
其中schemas要和遠端使用者名稱相同,也就是說如果本地沒有這個使用者,要先建立使用者,格式如:
grant connect,resource to schemas identified by password。emp是要匯入的表,如果本地schemas方案已經存在要匯入的表,可以指定tables_exists_action引數,使用格 式是tables_exists_action={skip|append|truncate|replace}這四個引數值分別表示忽略這個表、把記錄 追加到該表後面、先刪除表資料再追加記錄和使用新表替代已經存在的表。
come from:http://blog.sina.com.cn/s/blog_5016113a0100an7p.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-700296/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料泵匯出匯入(expdp/impdp)Oracle
- Oracle資料泵的匯入和匯出Oracle
- Oracle使用資料泵expdp,impdp進行資料匯出匯入Oracle
- 資料泵匯出匯入
- ORACLE 資料泵impdp匯入報錯之ORA-31693 ORA-04098Oracle
- oracle10g expdp資料泵的bug,按schema匯出,匯入impdp時無jobOracle
- Oracle expdp資料泵遠端匯出Oracle
- oracle12c還原資料庫遇到的問題-將一個11.2.0.1的資料泵匯出檔案匯入12.1.0.2版本報錯Oracle資料庫
- Oracle用資料泵匯入資料包12899的錯誤碼解決方法Oracle
- oracle邏輯備份之--資料泵Oracle
- [Docker核心之容器、資料庫檔案的匯入匯出、容器映象的匯入匯出]Docker資料庫
- python 如何匯入同級.py檔案Python
- Oracle 資料匯入匯出Oracle
- Oracle資料匯入匯出Oracle
- 資料泵匯出匯入物化檢視(ORA-39083)
- Oracle 單機架構下,多個例項可以同時開啟同一套資料庫檔案嗎?Oracle架構資料庫
- Oracle 資料匯入ExcelOracleExcel
- SQLSERVER匯出TXT文字檔案,ORACLE SQL LOADER匯入TXT文字檔案SQLServerOracle
- Oracle資料檔案和臨時檔案的管理Oracle
- oracle資料匯出匯入(exp/imp)Oracle
- oracle匯入dmp檔案win10怎麼操作_win10系統oracle如何匯入dmp檔案OracleWin10
- oracle匯入dmp檔案的2種方法Oracle
- Access 匯入 oracle 資料庫Oracle資料庫
- Oracle 19.3資料庫impdp匯入view時hang住Oracle資料庫View
- 【oracle 資料匯入匯出字元問題】Oracle字元
- php讀取excel檔案資料的匯入和匯出PHPExcel
- Oracle 28.6資料庫impdp匯入view時hang@11Oracle資料庫View
- Oracle資料泵(Oracle Data Pump) 19cOracle
- Oracle 10g大檔案表空間(轉)Oracle 10g
- 【DATAPUMP】Oracle資料泵定時備份刪除指令碼Oracle指令碼
- Oracle資料庫匯入匯出。imp匯入命令和exp匯出命令Oracle資料庫
- Net.Core匯入EXCel檔案裡的資料Excel
- java程式碼實現excel檔案資料匯入JavaExcel
- MATLAB匯入txt和excel檔案技巧彙總:批量匯入、單個匯入MatlabExcel
- Sql多個表部分資料匯入匯出(臨時想的,暫沒想到其他辦法)SQL
- Oracle 資料檔案回收Oracle
- Oracle資料庫(資料泵)遷移方案(上)Oracle資料庫
- Oracle資料庫(資料泵)遷移方案(下)Oracle資料庫
- 使用Oracle SQL Developer匯入Excel資料OracleSQLDeveloperExcel