久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Oracle導入導出數據時的常見錯誤

210次閱讀
沒有評論

共計 2027 個字符,預計需要花費 6 分鐘才能閱讀完成。

這篇文章主要講解了“Oracle 導入導出數據時的常見錯誤”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“Oracle 導入導出數據時的常見錯誤”吧!

1. exp 導出提示 PLS-00302: 必須說明 SET_NO_OUTLINES 組件

如果客戶端是 Oracle 11g,而服務器端是 Oracle 9i,執行 exp 就會有如下錯誤:

Export: Release 11.1.0.6.0 – Production on  星期五  7 月  15 21:40:58 2011 

Copyright (c) 1982, 2007, Oracle. All rights reserved

EXP-00056: 遇到 ORACLE 錯誤 6550  
ORA-06550: 第 1 行, 第 41 列:  
PLS-00302: 必須說明 SET_NO_OUTLINES 組件  
ORA-06550: 第 1 行, 第 15 列:  
PL/SQL: Statement ignored  
EXP-00000: 導出終止失敗  

Oracle 不同版本導入導出存在一些問題,比如從 Oracle 9i 中 exp 出來的 dmp 文件(在安裝有 oracle 9i 的機器上使用 exp 命令),可以 imp 到 Oracle 11g 中去(裝有 Oracle 11g 的機器),但是反過來確實不行。

同時,不能直接在客戶端 (安裝有 Oracle 11g) 上使用 exp 命令向服務器端 (Oracle 9i) 上的數據庫發出請求導出數據到客戶端機器上,就會提示“PLS-00302”。

這就是所謂向下兼容。

2. imp 導入 dmp 文件時報錯 IMP-00038

執行 imp 導入操作,提示,

IMP-00038: Could not convert to environment character set’s handle 

IMP-00000: Import terminated unsuccessfully

這是因為文件導出用的 expdp,而導入時用的 imp,所以導出導入格式不一樣。

3. 執行 imp 導入提示“IMP-00003”

imp 導入提示,

IMP-00017: following statement failed with oracle error 2298:

ALTER TABLE A ENABLE CONSTRAINT REFEREN REF_A

IMP-00003: ORACLE error 2298 encountered

ORA-02298: cannot validate (REFERENCE_O) – parent keys not found

IMP-00017: following statement failed with ORACLE error 2298:

Import terminated successfully with warnings.

原因有可能是在導出的時間某個表已經被導出了,可是他外鍵關聯有數據變化,導致不一致,所以報錯。

根本原因,exp 不能保證事務的完整性,例如導出主表,隨后在主表增加記錄,然后在子表增加記錄,提交,這是很可能的。

解決方案是在導出指令中,加入參數 consistent=y,默認為 no,其目的就是保持一致的作用。例如,

$ exp system/oracle file=/home/oracle/exp.dmp owner=oracle consistent=y

如果沒用 consistent=y,已經完成了導入,存在違反約束的數據,此時就是需要創建約束,可以采用 novalidate 子句,或者找出不規則的數據,清除之后再重新創建約束。

4. 執行 imp 導入提示 IMP-00013

執行 imp 導入操作,提示,

IMP-00013: only a DBA can import a file exported by another DBA

IMP-00000: Import terminated unsuccessfully

原因就是 exp 導出的時候,用的 DBA 角色的賬號,因此要求導入的賬號,需要含有 DBA 角色。但一般很有可能,要導入賬號是普通賬號,沒有 DBA 角色,也不可能臨時被授予,這就比較費勁。

可能的解決方案:

1. 導出用戶,執行導出前臨時 revoke DBA 角色,完成導出后再授予 DBA 角色。

2. 授予導入用戶 DBA 的角色。

3. 授予導入用戶 imp_full_database 的角色。

每種方案,可能適用于不同的場景。比如方案 1,可以算是臨時的方案,但看著就不是很專業,對于一些測試庫,要求不高,可以隨意一些。方案 2,這就會讓導入的用戶,有一些高級別的操作許可,僅僅為了導入數據這么做,實際上增加了一些風險。方案 3,沒有授予 DBA 角色,但一些環境下,可能不會允許隨意授予角色。

感謝各位的閱讀,以上就是“Oracle 導入導出數據時的常見錯誤”的內容了,經過本文的學習后,相信大家對 Oracle 導入導出數據時的常見錯誤這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-28發表,共計2027字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 镇巴县| 乾安县| 山阴县| 宣威市| 清涧县| 中山市| 务川| 甘谷县| 内江市| 葫芦岛市| 闽侯县| 乌审旗| 积石山| 开远市| 康平县| 凤翔县| 平南县| 台中市| 丰城市| 嘉黎县| 梅河口市| 布尔津县| 齐齐哈尔市| 清丰县| 昭平县| 精河县| 邯郸县| 肥城市| 德保县| 泗水县| 肇庆市| 兴安县| 台山市| 长岛县| 从化市| 勃利县| 太原市| 南溪县| 宿松县| 武安市| 竹溪县|