OGG-01387 【goldengate】表列數超過33個
近期在給一客戶配置GoldenGate,在個表新增supplemental log時,即執行add trandata時,有大量的表報如下錯誤:
- GGSCI (racdb1) 148> add trandata ▇▇▇▇▇▇▇▇▇▇
- 2013-07-10 10:24:55 WARNING OGG-00869 No unique key is defined for table ▇▇▇▇▇▇▇▇▇▇'.
- All viable columns will be used to represent the key, but may not guarantee uniqueness. KEYCOLS may be used to define the key.
- 2013-07-10 10:24:55 WARNING OGG-01387 Table ▇▇▇▇▇▇▇▇▇▇ has no valid key columns,
- added unconditional supplemental log group for all table columns.
- Logging of supplemental redo log data is already enabled for table ▇▇▇▇▇▇▇▇▇▇.
OGG-00869 是由於表不存在primary key或unique index所致,倒不會有太大影響。但OGG-01387錯誤引起了我的注意,不清楚其究竟,所以不敢忽略它,因此查詢MOS得知,是因為該類的表的列的數量均超過了33列。
如果一張表,其列的數量超過33列(含),且沒有primary key的話,則在執行add trandata命令時,會報OGG-01387錯誤,看提示說supplemental redo log data已經被啟用,其實你查詢 dba_log_group_columns可以得到驗證。
實際情況是,這樣的表存在200多個,確實挺恐怖的,有的表的列數高達200餘個(不清楚這樣的設計是不是存在缺陷?),於是我透過生成sql指令碼的方式,給這些特殊的表啟用supplemental redo log data。
舉一個例子,如表 SCOTT.EMP存在超過33個列,且沒有主鍵的話,那麼手動新增supplemental redo log data的方法是:
- alter table scott.emp add supplemental log group ggs_emp_1(col1,col2,...,col33) always;
- add table scott.emp add supplemental log group ggs_emp_2(col34,col35....) always;
額外提供一個驗證表supplemental log新增是否成功的語句:
- select owner,table_name
- from all_tables
- where owner in ('SCOTT')
- and table_name not in (select distinct table_name
- from dba_log_group_columns
- where owner in ('SCOTT'));
-
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29802484/viewspace-1276810/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- setTimeout()方法傳遞超過兩個引數介紹
- 表列授權
- goldengate for oracle 92 當源端的表的列數超過32列時,add trandata報錯GoOracle
- 『真香警告』這33個超級好用的CSS選擇器,你可能見都沒見過。CSS
- skip a transaction in goldengate(跳過一個事務OGG)Go
- 計算的簇數超過限制
- GOLDENGATE常用引數Go
- 總數量超過五十個,史上最全的爬蟲專案集合爬蟲
- goldengate跳過/提交一個未完成的事務Go
- 解決超過會話數問題會話
- goldengate的HANDLECOLLISIONS引數Go
- goldengate的ASSUMETARGETDEFS引數Go
- db2 修改表列DB2
- Gartner:2024年澳大利亞IT支出將超過1330億澳元
- oracle goldengate 恢復過程OracleGo
- 2017年中國Top 500超算數量超過美國
- P3327 [SDOI2015] 約數個數和
- WeAreSocial:移動連線超過人口數量
- GoldenGate 基本引數含義Go
- HANDLECOLLISIONS :GoldenGate Replicat的引數Go
- goldengate 的 COMPRESSUPDATES 引數Go
- oracle goldengate引數學習OracleGo
- leedcode Excel 表列序號Excel
- 陣列中出現次數超過一半的數字陣列
- Mac 平臺威脅數量已超過 WindowsMacWindows
- MySQL單表最大記錄數不能超過多少?MySql
- 不停機處理oracle超過最大processes數故障Oracle
- 配置方法數超過 64K 的應用
- 3年內全球超大規模資料中心數量將超過1000個
- SRG:2024年初大型資料中心數量已經超過千個大關
- Oracle GoldenGate常用引數詳解OracleGo
- GoldenGate HANDLECOLLISIONS引數使用說明Go
- goldengate OGG引數規範Go
- goldengate 引數之GETTRUNCATES | IGNORETRUNCATESGo
- Goldengate引數簡要說明Go
- 表列新增預設值的方法
- 48 陣列中出現次數超過一半的數字陣列
- oracle goldengate 呼叫儲存過程案例OracleGo儲存過程