Oracle 表結構順序一致 隱藏的2個問題...

fsz521job發表於2014-08-17



標題:Oracle 表結構順序不一致 隱藏的2個問題... 

作者:lōττéry©版權所有[文章允許轉載,但必須以連結方式註明源地址,否則追究法律責任.]




小注釋:
    相信大家可能遇到plsql developer 工具的compare 
table data發現同步一次資料之後,再比較還有需要update的資料.
    若不是新變動的資料,相比是如下原因咯!


表結構順序不同隱藏的2點問題:
    1、plsql developer 工具比較時,即使資料一樣也提供update語句將原值改為原值,(資料量大/併發)都會對庫有效能影響
       (例如:LGWR/DBWR redo log,且會觸發一次commit等)
    2、同步資料(truncate表再insert資料)可能會報錯/或者不報錯也會導致插入錯誤資料;



 查詢A 和 B使用者 表結構順序不一致的SQL:
----------------------------------

    SELECT TC.TABLE_NAME   "表名字",
       TC.COLUMN_NAME  "欄位",
       TC.COLUMN_ID    "欄位順序號",
       TC1.COLUMN_NAME "對照欄位",
       TC1.COLUMN_ID   "對照欄位順序號"
  FROM USER_TAB_COLUMNS A
  JOIN USER_TAB_COLUMNS@DB_A B --對照A使用者的檢視
    ON A.TABLE_NAME = B.TABLE_NAME
   AND A.COLUMN_ID = B.COLUMN_ID  --列順序
   AND A.COLUMN_NAME != B.COLUMN_NAME;




此條目發表在 Oracle 分類目錄。將固定連線加入收藏夾。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/300209/viewspace-1252615/,如需轉載,請註明出處,否則將追究法律責任。

相關文章