infmrox 更改欄位型態时, 因為有些table 太大,若在buffer log下使用alter 方式來修改,容易造成long transaction
有時即使切換成nolog模式, alter也不見會成功
所以應使用unload and dbload的方法來重轉資料 
informix沒有GUI的管理介面, shell又不太熟, 就土法煉鋼一步一步做吧.
(心中不禁佩服那些在unix terminal mode下做事的偉人...,慶幸我活在SQL Server 的陰影下)
1.unload data (可以包成shell, 用nohup backgroud執行,若筆數過大,建議放成幾個.unl檔)
   set isolation to dirty read; 
   unload to a.unl delimiter ';' 
   select * from yourTable;  
  事後要再切割.unl檔,可以使用 split -10000 a.unl
  表示將a.unl 每10000筆切割一個檔案, 會產生xaa,xab,xac......的檔案
2.create your temp table (要放unload的資料)
   
3.create a.com  ( dbload要用到的command file, 其中160是欄位數)
    FILE a.unl DELIMITER ';' 160;
    INSERT INTO   table_tmp; 
4.prepare dbload.sh (執行a.com,將資料轉入 table_tmp, 每1000筆commit一次, errorlog 寫到 a.err
  dbload -d yourdb -c a.com -l a.err -e 0 -n 1000
以上可都可寫成shell後,用nohup time sh xx.sh >> xx.out 2>&1 &的方式執行, 一來可background作業, 二來可以記錄每次作業的時間, 就不用一直守著陽光守著結果了.. ..
ps.為什麼不用SSIS呢? 因為用SSIS 轉informix資料真是一大折磨,問題多多, 原本SQL 2000 DTS連結informix超級完美, 但SSIS 2005後,問題一堆... 使用官方的driver測試後的效果實在差到不行, 光是一個簡單的單一table 做data flow task, 就嗝屁了. 是我程度太LOW嗎?
2010年10月26日 星期二
訂閱:
張貼留言 (Atom)
pdf.js 無法顯示部份字
有個檔案在pdf viewer套件中無法顯示內容,但下載檔案後使用工具又可以正常顯示。 本來以為是套件版本太舊的原因,於是去下載pdf viewer套件 https://github.com/mozilla/pdf.js 更新後還是一樣。 覺得應是字型缺漏的問題,於是用PDF-X...
- 
上網找了免費的白箱檢測工具,找到了 puma scan 因為支援OWASP TOP 10的檢測,所以這是一個符合客戶需求又能與Visual studio結合的工具(白話說...交差了事矣....) 更重要的是這不用錢....檢測工具都貴森森的,尤其是源碼檢測工具。 ht...
- 
建了一個工作排程,定時執行batch檔。 batch中寫了一段xcopy,主要針對有異動較新檔案時才複製。 echo off for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find...
- 
政府單位近年對資安要求日益嚴格,不管是主機還是AP面都花了大錢買了一般人買不起的工具在監控稽核,但小廠商怎麼可能有預算先花幾百萬買黑白箱掃瞄或主機稽核工具,然後再每年花幾百萬買MA呢?一個專案的預算也就幾百萬甚至不到百萬,哪裡買得起。所以免費的開源的都要不斷的找尋找尋再找尋,呵...
 
沒有留言:
張貼留言