轉摘:ORACLE:IMP工具ignore=y的一個問題
ORACLE的EXP和IMP工具是大家會經常使用到的。在近期的工作中,發現IMP一個有意思的問題。
我們有一個資料集中的業務,因為資料量不大且傳輸資料不是很多所以採用定時匯出EXP和定時IMP的方法。因為資料是累加增長的所以在匯入時我們使用了IMP的ignore=y的引數,即告訴IMP如果當前表存在就不建立表結構而直接匯入新的資料。
但是今天我在檢查自動傳送的錯誤日誌時,發現這樣的錯誤資訊:
我立刻意識到,前端應用的表結構發生了變化!但是我上個月的時候已經有規定,所有的上線系統後臺資料庫表結構修改都必須通知我呀。檢查該表最後的修改日期:2007-6-8!怎麼會這樣?如果早在6月份就修改了結構為什麼一直我的日誌沒有報錯,單單在今天報錯?
詢問研發,發現這張表的資料使用完成即刪除,但是昨日因為臨時需要而沒有刪除使用的資料。分析我們的操作流程:匯出EXP操作發生在午夜12點,也就是說一般情況下,應該是一條資料都沒有匯出的,而因為昨日的特殊需要造成有資料被匯出了!再分析以前正確的日誌,終於發現問題:
如果是沒有資料被匯出,在使用IMP匯入並使用ignore=y引數時,ORACLE根本不檢查要匯入的資料結構和現存在資料庫中表的結構是否相同。就直接顯示如下資訊;
只有真要有資料需要匯入時,才會檢查資料結構的一致性問題!
所以就會差生一種總是可以成功匯入的假象。
[@more@]
我們有一個資料集中的業務,因為資料量不大且傳輸資料不是很多所以採用定時匯出EXP和定時IMP的方法。因為資料是累加增長的所以在匯入時我們使用了IMP的ignore=y的引數,即告訴IMP如果當前表存在就不建立表結構而直接匯入新的資料。
但是今天我在檢查自動傳送的錯誤日誌時,發現這樣的錯誤資訊:
. . importing table "XXXXX_tablename"
IMP-00058: ORACLE error 904 encountered
ORA-00904: "XXXX_column": invalid identifier
IMP-00058: ORACLE error 904 encountered
ORA-00904: "XXXX_column": invalid identifier
我立刻意識到,前端應用的表結構發生了變化!但是我上個月的時候已經有規定,所有的上線系統後臺資料庫表結構修改都必須通知我呀。檢查該表最後的修改日期:2007-6-8!怎麼會這樣?如果早在6月份就修改了結構為什麼一直我的日誌沒有報錯,單單在今天報錯?
詢問研發,發現這張表的資料使用完成即刪除,但是昨日因為臨時需要而沒有刪除使用的資料。分析我們的操作流程:匯出EXP操作發生在午夜12點,也就是說一般情況下,應該是一條資料都沒有匯出的,而因為昨日的特殊需要造成有資料被匯出了!再分析以前正確的日誌,終於發現問題:
如果是沒有資料被匯出,在使用IMP匯入並使用ignore=y引數時,ORACLE根本不檢查要匯入的資料結構和現存在資料庫中表的結構是否相同。就直接顯示如下資訊;
. . importing table "XXXXX_tablename"
0 rows imported
0 rows imported
所以就會差生一種總是可以成功匯入的假象。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/786540/viewspace-1007744/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 理解exp, imp 使用direct=y 及imp commit=yMIT
- imp工具匯入整個資料庫出現的問題資料庫
- Oracle Exp/Imp常見問題Oracle
- IMP中commit=y的用法~~~MIT
- oracle imp字符集問題的解決Oracle
- (轉載)小議IMP操作引數COMMIT=YMIT
- 小議IMP操作引數COMMIT=Y(一)MIT
- Oracle 索引的三個問題(轉)Oracle索引
- imp/EXP 表空間轉換問題
- Oracle exp/imp字符集相關問題Oracle
- Oracle的expdp/impdp工具和exp/imp工具比較Oracle
- IIS連線ORACLE的一個問題Oracle
- 轉:Exp/Imp工具效能調優
- 探索Oracle之 EXP/IMP過程中的字符集問題Oracle
- 一個ORACLE死鎖問題的追蹤Oracle
- Oracle exp/imp匯出匯入工具的使用Oracle
- [轉帖]一個NAT問題引起的思考
- 對IMP-00013問題的思考
- 小議IMP操作引數COMMIT=Y(三)MIT
- 小議IMP操作引數COMMIT=Y(二)MIT
- 解決Oracle中Exp/Imp大量資料處理問題Oracle
- 問一個關於oracle8的簡單的問題!Oracle
- 一個Oracle監聽問題的網路排查Oracle
- 一個看似詭異的Oracle連線問題Oracle
- imp中的indexfile引數解決imp指定表空間問題Index
- 轉:Oracle的時區問題Oracle
- exp/imp工具的使用
- oracle表結構設計轉摘Oracle
- ORACLE常用傻瓜問題1000問(之一) (轉)Oracle
- Oracle imp 匯入資料到另一個表空間Oracle
- oracle 816 imp恢復資料遇到問題及解決Oracle
- exp/imp工具
- 轉:oracle EXP /IMP引數詳解Oracle
- Oracle IMPOracle
- 安裝oracle 10g rac 的一個問題。Oracle 10g
- ORACLE在“域”上的問題【轉】Oracle
- 解決一個.NET聯接SQL的問題 (轉)SQL
- 一個非技術問題的問題