expdp/impdp操作例項
資料庫版本11.2.0.3
因測試環境需要,需將正式環境下某使用者下的所有物件都匯入到測試環境中,這種情況expdp/impdp派上用場了!
因為expdp/impdp使用的是相當路徑所以我們需要在生產環境和測試環境都要建立directory
正式環境:
SQL> create directory DIRECTORY01 as '/oraod/expdir';
利用select * from dba_directories;可以檢視資料庫已經建立的相對路徑
在匯出之前,我們利用下面的語句查詢該使用者下有多少資料需要我們匯出
SELECT SUM(s.BYTES)/1024/1024/1024 "sizes(GB)"
FROM dba_segments s
WHERE s.owner= 'USER01'
sizes(GB)
----------
841.142395
可以看到有841G,我們可以用11G expdp帶有的compression=ALL引數壓縮資料:
一是考慮到生產環境的磁碟空間不夠
二是等會要將這些資料SCP到測試環境,資料量太大需要很長的時間花在SCP上;
登陸伺服器su到資料庫使用者
執行expdp system/123456 DIRECTORY=DIRECTORY01 DUMPFILE=schema_user01.dmp COMPRESSION=ALL SCHEMAS=USER01 PARALLEL=20 LOGFILE=schema_user01.log;
[prod@gtsbu expdp_dir]# ls -l
total 77345415
-rw-r----- 1 prod dba 79201562624 Apr 28 01:01 schemas_user01.dmp
-rw-r--r-- 1 prod dba 101206 Apr 28 01:01 schemas_user01.log
匯出成功我們可以看到壓縮匯出一共才77G的資料,節省空間是相當可觀的,但是匯出的時間要比正常匯出的時間多
[root@gtsbu expdp_dir]# scp * 在測試環境中建立directory /orasbutmp/expdir就不在贅述
再使用SCP命令將匯出的資料傳到測試環已經建立好的相對路徑中
測試環境:
從上面SCP過來的資料可以看出是root使用者的,所以我們需要把這些匯出資料屬主改成資料庫使用者的
[root@gitibisbudb ~]#cd /orasbutmp/expdir
[root@gitibisbudb expdir]# chown prod:dba *
由於測試環境中使用者資料已經和正式環境中的資料完全不一致的狀態,匯入的過程中所以我們先刪除使用者,再建立使用者,重新匯入
我們可以透過PL\SQL Developer工具匯出這個使用者的建立語句:
登陸PL\SQL Developer ----開啟users----找到user01---右鍵view---再點右下角的View SQL
我們可以得到以下建立使用者語句
create user USER01
identified by "" --建立的時候需要在""加入之前這個使用者的密碼
default tablespace USER01_DATA
temporary tablespace USER01_TEMP
profile DEFAULT;
-- Grant/Revoke object privileges
grant select, insert, update, delete, references, alter, index on EBS_R12.CUX_VEND_CUST_TMP_MV to USER01;
grant execute on SYS.DBMS_CRYPTO to USER01;
-- Grant/Revoke role privileges
grant connect to USER01;
grant dba to USER01;
grant resource to USER01;
-- Grant/Revoke system privileges
grant alter any materialized view to USER01;
grant create database link to USER01;
grant create materialized view to USER01;
grant create session to USER01;
grant create synonym to USER01;
grant create view to USER01;
grant debug connect session to USER01;
grant select any table to USER01;
grant unlimited tablespace to USER01;
刪除使用者SQL >drop user USER01 cascade;
建立使用者
su到資料庫使用者下
執行 impdp system/123456 dumpfile=schemas_user01.dmp directory=DIRECTORY01 SCHAMES=USER01 parallel=20 LOGFILE=schemas_user01.log
匯入匯出的相關命令使用
1.Ctrl+C組合鍵 在執行過程中,可以按CTRL+C鍵退出當前互動模式,退出之後,匯入匯出操作不會停止
2.Export > status 檢視當前JOB的狀態及相關資訊
3.Export > stop_job 暫停JOB
4.重新進入export模式: expdp system/123456 attach=system.SYS_IMPORT_TABLE_02; jobname可以透過select * from dba_datapump_jobs查詢要終止的jobname
5.Export > start_job 開啟暫停的job
6.Export > kill_job 取消當前的JOB並釋放相關客戶會話(將JOB刪除同時刪除dmp檔案)
7.Export > exit_client 退出export模式
(匯入的時候第4條就用impdp)
因測試環境需要,需將正式環境下某使用者下的所有物件都匯入到測試環境中,這種情況expdp/impdp派上用場了!
因為expdp/impdp使用的是相當路徑所以我們需要在生產環境和測試環境都要建立directory
正式環境:
SQL> create directory DIRECTORY01 as '/oraod/expdir';
利用select * from dba_directories;可以檢視資料庫已經建立的相對路徑
在匯出之前,我們利用下面的語句查詢該使用者下有多少資料需要我們匯出
SELECT SUM(s.BYTES)/1024/1024/1024 "sizes(GB)"
FROM dba_segments s
WHERE s.owner= 'USER01'
sizes(GB)
----------
841.142395
可以看到有841G,我們可以用11G expdp帶有的compression=ALL引數壓縮資料:
一是考慮到生產環境的磁碟空間不夠
二是等會要將這些資料SCP到測試環境,資料量太大需要很長的時間花在SCP上;
登陸伺服器su到資料庫使用者
執行expdp system/123456 DIRECTORY=DIRECTORY01 DUMPFILE=schema_user01.dmp COMPRESSION=ALL SCHEMAS=USER01 PARALLEL=20 LOGFILE=schema_user01.log;
[prod@gtsbu expdp_dir]# ls -l
total 77345415
-rw-r----- 1 prod dba 79201562624 Apr 28 01:01 schemas_user01.dmp
-rw-r--r-- 1 prod dba 101206 Apr 28 01:01 schemas_user01.log
匯出成功我們可以看到壓縮匯出一共才77G的資料,節省空間是相當可觀的,但是匯出的時間要比正常匯出的時間多
[root@gtsbu expdp_dir]# scp * 在測試環境中建立directory /orasbutmp/expdir就不在贅述
再使用SCP命令將匯出的資料傳到測試環已經建立好的相對路徑中
測試環境:
從上面SCP過來的資料可以看出是root使用者的,所以我們需要把這些匯出資料屬主改成資料庫使用者的
[root@gitibisbudb ~]#cd /orasbutmp/expdir
[root@gitibisbudb expdir]# chown prod:dba *
由於測試環境中使用者資料已經和正式環境中的資料完全不一致的狀態,匯入的過程中所以我們先刪除使用者,再建立使用者,重新匯入
我們可以透過PL\SQL Developer工具匯出這個使用者的建立語句:
登陸PL\SQL Developer ----開啟users----找到user01---右鍵view---再點右下角的View SQL
我們可以得到以下建立使用者語句
create user USER01
identified by "" --建立的時候需要在""加入之前這個使用者的密碼
default tablespace USER01_DATA
temporary tablespace USER01_TEMP
profile DEFAULT;
-- Grant/Revoke object privileges
grant select, insert, update, delete, references, alter, index on EBS_R12.CUX_VEND_CUST_TMP_MV to USER01;
grant execute on SYS.DBMS_CRYPTO to USER01;
-- Grant/Revoke role privileges
grant connect to USER01;
grant dba to USER01;
grant resource to USER01;
-- Grant/Revoke system privileges
grant alter any materialized view to USER01;
grant create database link to USER01;
grant create materialized view to USER01;
grant create session to USER01;
grant create synonym to USER01;
grant create view to USER01;
grant debug connect session to USER01;
grant select any table to USER01;
grant unlimited tablespace to USER01;
刪除使用者SQL >drop user USER01 cascade;
建立使用者
su到資料庫使用者下
執行 impdp system/123456 dumpfile=schemas_user01.dmp directory=DIRECTORY01 SCHAMES=USER01 parallel=20 LOGFILE=schemas_user01.log
匯入匯出的相關命令使用
1.Ctrl+C組合鍵 在執行過程中,可以按CTRL+C鍵退出當前互動模式,退出之後,匯入匯出操作不會停止
2.Export > status 檢視當前JOB的狀態及相關資訊
3.Export > stop_job 暫停JOB
4.重新進入export模式: expdp system/123456 attach=system.SYS_IMPORT_TABLE_02; jobname可以透過select * from dba_datapump_jobs查詢要終止的jobname
5.Export > start_job 開啟暫停的job
6.Export > kill_job 取消當前的JOB並釋放相關客戶會話(將JOB刪除同時刪除dmp檔案)
7.Export > exit_client 退出export模式
(匯入的時候第4條就用impdp)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29989552/viewspace-1608825/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料泵(expdp,impdp)高版本匯入低版本操作例項
- impdp/expdp 示例
- oracle expdp and impdpOracle
- 【EXPDP/IMPDP】使用 EXPDP/IMPDP工具“模糊”匯出和匯入
- Expdp Impdp詳解
- oracle expdp/impdp用法Oracle
- EXPDP/IMPDP工具的使用
- expdp/impdp 用法詳解
- expdp, impdp characteristic 特性--索引索引
- Expdp,impdp工具的使用
- ORACLE expdp/impdp詳解Oracle
- Oracle expdp/impdp 使用示例Oracle
- 將partition expdp後impdp
- expdp/impdp用法詳解
- expdp/impdp 使用總結
- Oracle 10g expdp/impdp的CONTENT選項體驗Oracle 10g
- expdp impdp 使用命令解析
- oracle expdp和impdp使用例子Oracle
- ORACLE 10G expdp/impdpOracle 10g
- impdp和expdp的總結
- Oracle10g expdp & impdpOracle
- [zt] expdp / impdp 用法詳解
- oracle資料庫的impdp,expdpOracle資料庫
- oracle EXPDP/IMPDP 常用命令Oracle
- Oracle 邏輯備份 expdp/impdpOracle
- 資料泵基礎(impdp/expdp)
- expdp\impdp及exp\imp 詳解
- expdp/impdp的原理及使用(轉)
- expdp&impdp For Oracle 10GOracle 10g
- expdp/impdp 遷移表空間
- 23.EXPDP 和 IMPDP(筆記)筆記
- exp/imp與expdp/impdp區別
- Oracle Expdp/Impdp 進行資料遷移的 幾點注意事項Oracle
- oracle匯入匯出之expdp/impdpOracle
- Oracle expdp impdp dump引數介紹Oracle
- 一次expdp/impdp遷移案例
- expdp impdp只匯出匯入viewView
- exp/expdp與imp/impdp的區別