資料泵用法筆記
資料泵用法筆記:
*** 2009-4-2
有個別庫可能缺少物件
,資料泵操作會失敗!
:資料泵主要做資料的應用操作比較方便,也就是做資料匯入匯出!
測試環境hp oracle 11g
Data Pump 匯出:
匯出前提:
1. 首先必須建立資料夾!
#mkdir –p /backup/test1
#chmod –R 777 /backup/test1
2. 設定資料泵資料庫環境變數:
$export ORACLE_SID=test
$sqlplus /nolog
sql>conn / as sysdbasql>create directory dptest1 as '/backup/test1';
3. 賦予使用者讀寫許可權:
sql>grant read, write on directory dptest1 to impcms
匯出操作:
1. 匯出一使用者下的表
$expdp impcms/impcms tables=t_cms_mtv directory= dptest1 dumpfile=expcases.dmp job_name=cases_export
說明:這樣把使用者下的一個表可以匯出來,並匯出使用者表的索引,約束,資料和註釋資訊,但是涉及到的過程不匯出來!
2. 並行操作
$expdp impcms/impcms directory=dptest1 dumpfile=expcases_%u.dmp parallel=3 job_name=cases_export include=table:"like 'T_UMS_%'"
說明:您可以透過 PARALLEL 引數為匯出使用一個以上的執行緒來顯著地加速作業。每個執行緒建立一個單獨的轉儲檔案,因此引數 dumpfile 應當擁有和並行度一樣多的專案。您可以指定萬用字元作為檔名,而不是顯式地輸入各個檔名, 可以匯出三個表,並且生成N檔案!匯出來的東西就是比導一個使用者下的表多了幾張表而已!
3. 匯出表,並匯出函式和過程
$expdp impcms/impcms directory=dptest1 dumpfile=expcases1_%u.dmp parallel=3 job_name=cases_export1 include=table:"like 'T_UMS_%'",procedure,function
說明:這樣可以把過程和函式給匯出來,在前一個的基礎上把其他的資料物件過程和函式給匯出來!
4. 使用者級別,匯出所有物件
$expdp impcms/impcms directory= dptest1 dumpfile=expcases1_%u.dmp parallel=3 job_name=cases_export1
說明:匯出使用者所有物件:
5. 只匯出資料,不導其他物件
expdp impcms/impcms directory= dptest1 dumpfile=expcases1_%u.dmp parallel=3 job_name=cases_export1 content=data_only
說明:這個在資料移植的時候應該很實用,僅僅可以把資料匯出來,加上其他條件還可以快速移動資料物件!
6. 導後設資料,不匯出資料
$expdp impcms/impcms directory= dptest1 dumpfile=expcases1_%u.dmp parallel=3 job_name=cases_export1 content=metadata_only
說明:可以匯出使用者的所有物件資訊,沒有資料,結構移植很實用
7. 匯出表空間
$expdp impcms/impcms directory=dptest1 dumpfile=expcase1s_%u.dmp parallel=3 job_name=cases_export TABLESPACES=imp
$expdp impcms/impcms directory=dptest1 dumpfile=expcase1s_%u.dmp parallel=3 job_name=cases_export TABLESPACES=impidx
說明:這個可以把表空間裡的資料匯出來,主要是表,其他暫時還不知道,依賴關係沒有研究!
8. 匯出幾個使用者的辦法
$expdp system/sys directory= dptest1 dumpfile=expcases.dmp schemas=impcms,test
9. 匯出全部資料庫
$expdp system/sys directory= dptest1 dumpfile=expcases.dmp full=y
說明:暫時不知道怎樣導進去
10. 過濾資料庫物件
$expdp pe0402/pe0402 directory= dptest1 dumpfile=expcases.dmp job_name=cases_export exclude=procedure,function,package,index,comment
說明:可以不匯出procedure,function,package,index,comment等物件資訊
匯出總結:
1, 可以匯出任意物件
2, 可以過濾任意物件
Data Pump 匯出:
資料匯入會在很多地方出問題!
1. 用impcms匯出一個表,匯入到test使用者下的情況
$expdp impcms/impcms tables= t_ums_rolepermission directory= dptest1 dumpfile=expcases.dmp job_name=cases_export
$impdp test/test directory= dptest1 dumpfile=expcases.dmp job_name=cases_export remap_schema=impcms:test
這個涉及到物件的移動到不同的使用者方案下面
$impdp test/test directory= dptest1 tables=t_ums_rolepermission dumpfile=expcases.dmp job_name=cases_export remap_schema=impcms:test
這個語句可以涉及到使用者的物件過濾
2. 匯出使用者的資訊,然後做物件的限制匯入
$expdp impcms/impcms directory= dptest1 dumpfile=expcases1.dmp job_name=cases_export1
1, 全導進去
$impdp test/test directory= dptest1 dumpfile=expcases1.dmp job_name=cases_export remap_schema=impcms:test
包的匯入出了很多的問題,關鍵是type沒有導進來,導致很多問題!
僅僅匯入資料(先做物件匯入)
$impdp test/test directory= dptest1 dumpfile=expcases1.dmp job_name=cases_export remap_schema=impcms:test content= metadata_only
僅僅匯入資料(資料匯入)
$impdp test/test directory= dptest1 dumpfile=expcases1.dmp job_name=cases_export remap_schema=impcms:test content= data_only exclude= CONSTRAINT,REF_CONSTRAINT
有主外來鍵的時候會出問題(提前禁止使用)!
可以把資料給導進去,到資料要確保資料結構物件已經存在!
$impdp test/test directory= dptest1 dumpfile=expcases1.dmp job_name=cases_export remap_schema=impcms:test content= metadata_only
匯入的時候不要把約束導進去!要提前禁止使用各種約束
$impdp test/test directory= dptest1 dumpfile=expcases1.dmp job_name=case1s_export remap_schema=impcms:test content=data_only exclude= CONSTRAINT,REF_CONSTRAINT skip_unusable_indexes=y,table_exists_action= replace
$impdp test/test directory= dptest1 dumpfile=expcases1.dmp job_name=case1s_export remap_schema=impcms:test exclude= CONSTRAINT,REF_CONSTRAINT sqlfile=procs.sql
生成物件建立的指令碼!
匯入總結:
1, 使用者級別的匯入的時候,要提前禁止約束的使用(如果有資料)!
2, 使用者匯入的時候,要提前把型別建立好,否則由於依賴關係,一般會建立type失敗
3, 使用者匯入操作的時候可以不進行匯入操作,僅僅生成建立的sql語句!
遠端匯出操作步驟:
遠端必須有資料庫,因為資料泵程式上伺服器程式!
僅僅做資料的移植問題較小,涉及到物件就比較容易出問題
1建立使用者
Sql> create user test identified by test
default tablespace users
quota unlimited on users;
2 授予許可權
Sql> grant connect to test;
Sql> grant create table, create database link to test;
Sql> grant read, write on directory test1 to test;
3,建立連線
Sql> conn test/test
Sql> create database link test113 connect to impcms identified by impcms
using 'test';
select * from global_name@test113;
4,匯出操作(問題多多,有很多東西暫時不清楚:版本,語言,平臺)
$expdp test/test directory=test1 dumpfile=test.dp network_link=test113 logfile=jiangsu.log content= data_only
5,遠端操作(會有很多容易失敗和依賴的東西,需要再做驗證)
$impdp test/test directory=test1 network_link=test113 logfile=jiangsu.log remap_schema=impcms:test content=data_only
如果有大物件操作,暫時還沒有做驗證!!!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9879835/viewspace-1020732/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 10G新特性筆記之資料泵技術筆記
- 資料泵
- 資料泵datapump(expdp/impdp)的parfile用法,避免跳脫字元字元
- ORACLE 資料泵Oracle
- oracle資料泵Oracle
- 【Pandas學習筆記02】-資料處理高階用法筆記
- 殺停資料泵
- oracle 資料泵解析Oracle
- 資料泵的使用
- 資料泵 impdp 操作
- 資料泵檔案
- 資料泵小bug
- oracle之資料泵Oracle
- 資料泵引數檔案用於執行資料泵命令
- 資料庫升級之-資料泵資料庫
- 使用資料泵impdp匯入資料
- 資料泵造成的資料損失
- Impdp資料泵匯入
- Oracle 資料泵的使用Oracle
- oracle 資料泵引數Oracle
- C#中 as is 用法筆記C#筆記
- 資料泵重建使用者
- 資料泵匯出匯入
- 正確停止資料泵程式
- 資料泵基礎(impdp/expdp)
- EXPDP資料泵使用方法
- 海量資料處理_資料泵分批資料遷移
- python 中 pipenv 用法筆記Python筆記
- Axios用法–學習筆記iOS筆記
- VIM高階用法筆記【轉】筆記
- Oracle資料庫(資料泵)遷移方案(上)Oracle資料庫
- Oracle資料庫(資料泵)遷移方案(下)Oracle資料庫
- 使用資料泵工具expdp工具匯出資料
- 【移動資料】data pump(上) 資料泵概述
- 資料泵匯出資料包錯處理
- 資料庫遷移之資料泵實驗資料庫
- 資料互動筆記筆記
- 6,修改資料(筆記)筆記