29 January 2009

DataStage: Rebuild Repository Indexes

ในกรณีที่ developer พบอาการแปลกๆ เมื่อใช้ Director เช่น
  • ไม่สามารถเปิด Director เพื่อดู Job log และ Job Status ใน folder ใด folder หนึ่งได้ กล่าวคือ พอ click เลือก folder ที่มีปัญหา Director จะปิดตัวเองลงอัตโนมัติ แต่ถ้าเข้าไป folder อื่นๆ ก็ยังสามารถใช้งานได้ปกติ
  • เห็น job ที่เราเคย rename หรือลบทิ้ง หรือย้ายไปอยู่ folder อื่นแล้ว ปรากฏอยู่ที่เดิม แต่พอไปดูที่ Designer มันก็ไม่มีอยู่
สาเหตุ
เกิดจากการที่ repository มันไม่ update ไม่รู้ว่าเป็น bug หรือเปล่า

วิธีการป้องกัน
เพื่อไม่ให้เกิดปัญหานี้ developer ควรหลีกเลี่ยงพฤติกรรมเหล่านี้
  • การย้าย job ไปมาระหว่าง folder ควรใช้วิธี Save As แทน
  • การ Rename job ไปเป็นชื่ออื่น แล้ว rename กลับมาเป็นชื่อเดิม ควรใช้วิธี copy/paste ตัว stage แทน
วิธีการแก้ปัญหา
แต่เมื่อเกิดเหตุสุดวิสัยจริงๆ มีอาการเกิดขึ้นแล้วให้แก้ปัญหาด้วยการ Rebuild Indexes ตามขั้นตอน ดังนี้
1. login เข้า DataStage Server ด้วย dsadm
2. ไปที่ path dshome ด้วยคำสั่ง
cd `cat /.dshome`
3. Run environment ด้วยคำสั่ง
. ./dsenv
4. ก่อนที่จะ rebuild index ต้องแน่ใจว่า ไม่มีผู้ใดใช้ project นั้นๆอยู่ เพราะฉะนั้นการ rebuild index จะไม่เกิดผลใดๆ
./bin/uv –admin –info
คำสั่งนี้จะแสดงผู้ใช้งานทั้งหมดใน server นี้ ดังภาพ





5. กรณีที่เรารู้ว่า user ใดเข้ามาใช้ project ของเราบ้าง ก็เดินไปบอกเค้าดีๆให้เค้าออกจาก Project ชั่วคราว แต่ถ้าพูดไม่รู้เรื่องแล้วละก็ ต้องใช้ไม้แข็งคือ
kill –9 [pid1] [pid2] …
ดังภาพ




6. ถ้าโอเค ไม่มีใครเข้ามาวุ่นวายกับ project เราแล้วก็ทำการ rebuild index เลย โดยเรียกคำสั่ง
$./bin/dssh
7. คำสั่งข้างบน จะพาท่านเข้าสู่ TCL (Terminal Command Line) ให้ login เข้า project ที่ต้องการ และเรียก DataStage Tools Menu ด้วยคำสั่ง
DS.TOOLS
>LOGTO (ProjectName)
>DS.TOOLS
จะปรากฏเมนู ดังภาพ






8. เลือกเมนูข้อ 2 ระบบจะทำการ Rebuild Indices ให้ เราต้องเคาะ space หรือ enter ไปเรื่อยๆ ในช่วงระหว่างกระบวนการ เมื่อ Rebuild Indices เสร็จ มันจะกลับมาที่หน้าเมนูอีกครั้ง พิมพ์ Q เพื่อออกจากเมนู

No comments: