imp導入備份時報:無法轉換為環境字符集句柄 ...


在imp 還原數據庫的時候出現問題如下; 這個問題是 你用 expdp導出的 卻用客戶端的 imp 導入;換成impdp導入即可。

 

當用impdp 導入 (impdp EMMS/EMMS123 directory=expdir dumpfile=EMMS2.dmp)  卻發現 【IMPDP】使用工具IMPDP導入數據時ORA-39002、ORA-39070錯誤排查      其中 RA-39070   錯誤指出 沒有expdir 對象。

expdir 需要你重新再創建一次如下:

sqlplus /nolog conn /as sysdba

SQL> create or replace directory expdir as 'E:/Kxdb';

目錄已創建。

 

這個過程中要注意的是 Oracle expdp/impdp導出導入命令及數據庫備份  2者之間的區別 如下所示:

使用EXPDP和IMPDP時應該注意的事項:

EXP和IMP是客戶端工具程序,它們既可以在客戶端使用,也可以在服務端使用。

EXPDP和IMPDP是服務端的工具程序,他們只能在ORACLE服務端使用,不能在客戶端使用。

IMP只適用於EXP導出的文件,不適用於EXPDP導出文件;IMPDP只適用於EXPDP導出的文件,而不適用於EXP導出文件。

expdp或impdp命令時,可暫不指出用戶名/密碼@實例名 as 身份,然后根據提示再輸入,如:

expdp schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;

一、創建邏輯目錄,該命令不會在操作系統創建真正的目錄,最好以system等管理員創建。

create directory dpdata1 as 'd:\test\dump';

二、查看管理理員目錄(同時查看操作系統是否存在,因為Oracle並不關心該目錄是否存在,如果不存在,則出錯)

select * from dba_directories;

三、給scott用戶賦予在指定目錄的操作權限,最好以system等管理員賦予。

grant read,write on directory dpdata1 to scott;

四、導出數據

1)按用戶導

expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;

2)並行進程parallel

expdp scott/tiger@orcl directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott3

3)按表名導

expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;

4)按查詢條件導

expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';

5)按表空間導

expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;

6)導整個數據庫

expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;

五、還原數據

1)導到指定用戶下

impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;

2)改變表的owner

impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;

3)導入表空間

impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;

4)導入數據庫

impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;

5)追加數據

impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION

 

相對於的參數如下所示:

 

ATTACH                連接到現有作業, 例如 ATTACH [=作業名]。
CONTENT               指定要加載的數據, 其中有效關鍵字為:
                      (ALL), DATA_ONLY 和 METADATA_ONLY。
DATA_OPTIONS          數據層標記, 其中唯一有效的值為:
                      SKIP_CONSTRAINT_ERRORS - 約束條件錯誤不嚴重。
DIRECTORY             供轉儲文件, 日志文件和 sql 文件使用的目錄對象。
DUMPFILE              要從 (expdat.dmp) 中導入的轉儲文件的列表,
                      例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。
ENCRYPTION_PASSWORD   用於訪問加密列數據的口令關鍵字。
                      此參數對網絡導入作業無效。
ESTIMATE              計算作業估計值, 其中有效關鍵字為:
                      (BLOCKS) 和 STATISTICS。
EXCLUDE               排除特定的對象類型, 例如 EXCLUDE=TABLE:EMP。
FLASHBACK_SCN         用於將會話快照設置回以前狀態的 SCN。
FLASHBACK_TIME        用於獲取最接近指定時間的 SCN 的時間。
FULL                  從源導入全部對象 (Y)。
HELP                  顯示幫助消息 (N)。
INCLUDE               包括特定的對象類型, 例如 INCLUDE=TABLE_DATA。
JOB_NAME              要創建的導入作業的名稱。
LOGFILE               日志文件名 (import.log)。
NETWORK_LINK          鏈接到源系統的遠程數據庫的名稱。
NOLOGFILE             不寫入日志文件。
PARALLEL              更改當前作業的活動 worker 的數目。
PARFILE               指定參數文件。
PARTITION_OPTIONS     指定應如何轉換分區, 其中
                      有效關鍵字為: DEPARTITION, MERGE 和 (NONE)
QUERY                 用於導入表的子集的謂詞子句。
REMAP_DATA            指定數據轉換函數,
                      例如 REMAP_DATA=EMP.EMPNO:REMAPPKG.EMPNO
REMAP_DATAFILE        在所有 DDL 語句中重新定義數據文件引用。
REMAP_SCHEMA          將一個方案中的對象加載到另一個方案。
REMAP_TABLE           表名重新映射到另一個表,
                      例如 REMAP_TABLE=EMP.EMPNO:REMAPPKG.EMPNO。
REMAP_TABLESPACE      將表空間對象重新映射到另一個表空間。
REUSE_DATAFILES       如果表空間已存在, 則將其初始化 (N)。
SCHEMAS               要導入的方案的列表。
SKIP_UNUSABLE_INDEXES 跳過設置為無用索引狀態的索引。
SQLFILE               將所有的 SQL DDL 寫入指定的文件。
STATUS                在默認值 (0) 將顯示可用時的新狀態的情況下,
                      要監視的頻率 (以秒計) 作業狀態。
STREAMS_CONFIGURATION 啟用流元數據的加載
TABLE_EXISTS_ACTION   導入對象已存在時執行的操作。
                      有效關鍵字: (SKIP), APPEND, REPLACE 和 TRUNCATE。
TABLES                標識要導入的表的列表。
TABLESPACES           標識要導入的表空間的列表。
TRANSFORM             要應用於適用對象的元數據轉換。
                      有效轉換關鍵字為: SEGMENT_ATTRIBUTES, STORAGE,
                      OID 和 PCTSPACE。
TRANSPORTABLE         用於選擇可傳輸數據移動的選項。
                      有效關鍵字為: ALWAYS 和 (NEVER)。
                      僅在 NETWORK_LINK 模式導入操作中有效。
TRANSPORT_DATAFILES   按可傳輸模式導入的數據文件的列表。
TRANSPORT_FULL_CHECK  驗證所有表的存儲段 (N)。
TRANSPORT_TABLESPACES 要從中加載元數據的表空間的列表。
                      僅在 NETWORK_LINK 模式導入操作中有效。
VERSION               要導出的對象的版本, 其中有效關鍵字為:
                      (COMPATIBLE), LATEST 或任何有效的數據庫版本。
                      僅對 NETWORK_LINK 和 SQLFILE 有效。

 

下列命令在交互模式下有效。 注: 允許使用縮寫

命令                          說明 (默認)

CONTINUE_CLIENT       返回到記錄模式。如果處於空閑狀態, 將重新啟動作業。
EXIT_CLIENT           退出客戶機會話並使作業處於運行狀態。
HELP                  總結交互命令。
KILL_JOB              分離和刪除作業。
PARALLEL              更改當前作業的活動 worker 的數目。
                      PARALLEL=。
START_JOB             啟動/恢復當前作業。
                      START_JOB=SKIP_CURRENT 在開始作業之前將跳過
                      作業停止時執行的任意操作。
STATUS                在默認值 (0) 將顯示可用時的新狀態的情況下,
                      要監視的頻率 (以秒計) 作業狀態。
                      STATUS[=interval]
STOP_JOB              順序關閉執行的作業並退出客戶機。
                      STOP_JOB=IMMEDIATE 將立即關閉
                      數據泵作業。

 

 

 

 

 

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM