วิธี Import File บน Toad Oracle มี 2 วิธี
1. Import Table Data เป็นการ Import Text File
2. Import Utility Wizard เป็นการ Import Dump File สามารถเลือก Import แบบ Partial Table ได้ และ ตั้ง Schedule การ Import ได้
วิธีที่ 2 Import Utility Wizard เป็นการ Import Dump File สามารถเลือก Import แบบ Partial Table ได้ และ ตั้ง Schedule การ Import ได้
ขั้นตอน
2.1 Import Utility Wizard เข้า database > Import > Import Utility Wizard
2.2 เลือก Import tables แล้ว กด Next
2.3 ในช่อง From User ให้พิมพ์ชื่อ Schema table ที่มาจาก Source dump File เราจะทราบได้จาก File log ที่มาพร้อม กับ dump file ในที่นี้ dump file มาจาก OFSADBA ต่อจากนั้นให้กำหนด Schema ปลายทาง ในช่อง To User ต่อจากนั้นกด Next
2.4 ไม่ต้องเปลี่ยนแปลง Default กด Next
2.5 กำหนด Path ที่ dump file อยู่ โปรแกรมจะ auto generate log file และ parameter file ให้เอง ต่อจากนั้นกด Next
2.6 หาก ต้องการ Import เลยให้กด เลือก Import now แล้วกด Finish โปรแกรมจะทำการ Import dump file ให้ ในกรณีที่ต้องการ ตั้ง Schedule ให้เลือก Schedule to run later แล้วกด Next
2.8 ถ้าเลือก Schedule โปรแกรม จะ Pop up task name ขึ้นมาเพื่อให้ตั้งชื่อ schedule ในการ run สามารถสั่ง Run แบ ทุกวัน ,ทุกสัปดาห์ , ทุกเดือน หรือ Run ครั้งเดียวก็ได้
กำหนด เวลา และ วันที่ที่ต้องการ Run
กำหนด User name และ Password
กด Finish เพื่อเริ่มการ ตั้ง Schedule
ปัญหาที่พบในการ Import
1. กำหนดค่า From user ในข้อ 2.3 ผิด
2. ไม่มี Tablespace สำหรับ Table ที่ต้องการ dump ลงไป
30 January 2009
Oracle: How to import data by Toad (1)
วิธี Import File บน Toad Oracle มี 2 วิธี
1. Import Table Data เป็นการ Import Text File
2. Import Utility Wizard เป็นการ Import Dump File สามารถเลือก Import แบบ Partial Table ได้ และ ตั้ง Schedule การ Import ได้
1. Import Table Data เป็นการ Import Text File ที่มี Format เข้า Table
ขั้นตอน
1.1 เข้า menu database > Import > Import Table Data
1.2 เลือก ปลายทาง Schema ,Object Type และ Object Name ที่ต้องการจะ Import Data เข้า หลังจากนั้นกด Show data และ กด Next
1.3 โปรแกรมสามารถ เลือก Import จาก Text File หรือ Excel File ในที่นี้เราต้องการ Import File จาก Text เข้า Table ดังนั้นจึงต้องเลือก Import From Text File และเลือก Path ที่ File นั้นอยู่ ต่อจากนั้นกด Next
1.4 ระบุ Delimiter ที่คั่นระหว่างข้อมูล และกด Next
*** ข้อควรระวัง หากข้อมูลมี Format เป็น Unix ต้องทำการเปลี่ยน Record Separate เป็น LF ***
1.5 สามารถกำหนด จำนวน row ที่จะนำเข้าได้ ให้กำหนด First Rows เป็น 1 และ Last Rows:ไม่ต้องกำหนด ต่อจากนั้นกด Next
*** ข้อควรระวัง ในกรณี ที่ Column มี Column ที่เป็น Date ให้ตรวจสอบ Format และเลือก Format ให้ตรง
ใน Date Order ว่าเป็น YMD,DMY,MDY หากกำหนด Format Date ผิด ข้อมูลอาจผิดเพี้ยนได้
1.6 โปรแกรม จะ Preview Data เมื่อตรวจสอบแล้ว หากไม่พบปัญหา ให้กด Next
1.7 สามารถ กำหนด Primary Key ได้ หากไม่ต้องการกำหนดให้กด Next
1.8 โปรแกรม จะ แสดง Preview Results ให้ดู กด Next
1.9 กำหนด Commit Mode ให้เป็น Commit after each record แล้วกด execute
1.10 โปรแกรมจะแสดงผล การ Import กด OK เพื่ออกจาก การ Import data
1. Import Table Data เป็นการ Import Text File
2. Import Utility Wizard เป็นการ Import Dump File สามารถเลือก Import แบบ Partial Table ได้ และ ตั้ง Schedule การ Import ได้
1. Import Table Data เป็นการ Import Text File ที่มี Format เข้า Table
ขั้นตอน
1.1 เข้า menu database > Import > Import Table Data
1.2 เลือก ปลายทาง Schema ,Object Type และ Object Name ที่ต้องการจะ Import Data เข้า หลังจากนั้นกด Show data และ กด Next
1.3 โปรแกรมสามารถ เลือก Import จาก Text File หรือ Excel File ในที่นี้เราต้องการ Import File จาก Text เข้า Table ดังนั้นจึงต้องเลือก Import From Text File และเลือก Path ที่ File นั้นอยู่ ต่อจากนั้นกด Next
1.4 ระบุ Delimiter ที่คั่นระหว่างข้อมูล และกด Next
*** ข้อควรระวัง หากข้อมูลมี Format เป็น Unix ต้องทำการเปลี่ยน Record Separate เป็น LF ***
1.5 สามารถกำหนด จำนวน row ที่จะนำเข้าได้ ให้กำหนด First Rows เป็น 1 และ Last Rows:ไม่ต้องกำหนด ต่อจากนั้นกด Next
*** ข้อควรระวัง ในกรณี ที่ Column มี Column ที่เป็น Date ให้ตรวจสอบ Format และเลือก Format ให้ตรง
ใน Date Order ว่าเป็น YMD,DMY,MDY หากกำหนด Format Date ผิด ข้อมูลอาจผิดเพี้ยนได้
1.6 โปรแกรม จะ Preview Data เมื่อตรวจสอบแล้ว หากไม่พบปัญหา ให้กด Next
1.7 สามารถ กำหนด Primary Key ได้ หากไม่ต้องการกำหนดให้กด Next
1.8 โปรแกรม จะ แสดง Preview Results ให้ดู กด Next
1.9 กำหนด Commit Mode ให้เป็น Commit after each record แล้วกด execute
1.10 โปรแกรมจะแสดงผล การ Import กด OK เพื่ออกจาก การ Import data
29 January 2009
DataStage: Rebuild Repository Indexes
ในกรณีที่ developer พบอาการแปลกๆ เมื่อใช้ Director เช่น
เกิดจากการที่ repository มันไม่ update ไม่รู้ว่าเป็น bug หรือเปล่า
วิธีการป้องกัน
เพื่อไม่ให้เกิดปัญหานี้ developer ควรหลีกเลี่ยงพฤติกรรมเหล่านี้
แต่เมื่อเกิดเหตุสุดวิสัยจริงๆ มีอาการเกิดขึ้นแล้วให้แก้ปัญหาด้วยการ Rebuild Indexes ตามขั้นตอน ดังนี้
1. login เข้า DataStage Server ด้วย dsadm
2. ไปที่ path dshome ด้วยคำสั่ง
5. กรณีที่เรารู้ว่า user ใดเข้ามาใช้ project ของเราบ้าง ก็เดินไปบอกเค้าดีๆให้เค้าออกจาก Project ชั่วคราว แต่ถ้าพูดไม่รู้เรื่องแล้วละก็ ต้องใช้ไม้แข็งคือ
6. ถ้าโอเค ไม่มีใครเข้ามาวุ่นวายกับ project เราแล้วก็ทำการ rebuild index เลย โดยเรียกคำสั่ง
8. เลือกเมนูข้อ 2 ระบบจะทำการ Rebuild Indices ให้ เราต้องเคาะ space หรือ enter ไปเรื่อยๆ ในช่วงระหว่างกระบวนการ เมื่อ Rebuild Indices เสร็จ มันจะกลับมาที่หน้าเมนูอีกครั้ง พิมพ์ Q เพื่อออกจากเมนู
- ไม่สามารถเปิด 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 ด้วยคำสั่ง
. ./dsenv4. ก่อนที่จะ rebuild index ต้องแน่ใจว่า ไม่มีผู้ใดใช้ project นั้นๆอยู่ เพราะฉะนั้นการ rebuild index จะไม่เกิดผลใดๆ
./bin/uv –admin –infoคำสั่งนี้จะแสดงผู้ใช้งานทั้งหมดใน server นี้ ดังภาพ
5. กรณีที่เรารู้ว่า user ใดเข้ามาใช้ project ของเราบ้าง ก็เดินไปบอกเค้าดีๆให้เค้าออกจาก Project ชั่วคราว แต่ถ้าพูดไม่รู้เรื่องแล้วละก็ ต้องใช้ไม้แข็งคือ
kill –9 [pid1] [pid2] …ดังภาพ
6. ถ้าโอเค ไม่มีใครเข้ามาวุ่นวายกับ project เราแล้วก็ทำการ rebuild index เลย โดยเรียกคำสั่ง
$./bin/dssh7. คำสั่งข้างบน จะพาท่านเข้าสู่ TCL (Terminal Command Line) ให้ login เข้า project ที่ต้องการ และเรียก DataStage Tools Menu ด้วยคำสั่ง
DS.TOOLSจะปรากฏเมนู ดังภาพ
>LOGTO (ProjectName)
>DS.TOOLS
8. เลือกเมนูข้อ 2 ระบบจะทำการ Rebuild Indices ให้ เราต้องเคาะ space หรือ enter ไปเรื่อยๆ ในช่วงระหว่างกระบวนการ เมื่อ Rebuild Indices เสร็จ มันจะกลับมาที่หน้าเมนูอีกครั้ง พิมพ์ Q เพื่อออกจากเมนู
28 January 2009
DataStage: Default decimal output in Aggregator Stage
การกำหนด Preserve Type โดยไปที่ Stage Tab ของ Aggregator Stage เลือก Property Tab และ Click ที่ Sum Output Column จะ ปรากฏ Property ให้เลือก ที่ช่อง Available property to add เลือก Decimal Output (รูป 1) จากนั้น Decimal Output Property จะไปปรากฏที่ใต้ Sum Output Column Property (รูป 2) แล้วจึงกำหนดค่า ความกว้างของข้อมูล เช่น 8,2 คือ ความกว้างที่ใช้เก็บตัวเลขที่เป็นจำนวนเต็ม คือ 6 และ ความกว้างที่ใช้เก็บตัวเลขที่เป็นทศนิยม คือ 2
หากไม่ได้กำหนด จะ ปรากฏ Error Massage ที่ Data Stage Diractor ดังนี้
หากไม่ได้กำหนด จะ ปรากฏ Error Massage ที่ Data Stage Diractor ดังนี้
agg_Sum_CRN_BAL: When checking operator: When binding output interface field "CRN_BAL" to field "CRN_BAL": Implicit conversion from source type "dfloat" to result type "decimal[16,2]": Possible range/precision limitation.
DataStage: Preserve data type in Aggregator Stage
กำหนดเป็น True เพื่อให้ Output ของ Data Type เหมือนกับ Input เมื่อคำนวนค่าต่ำสุด หรือ ค่าสูงสุด ใช้กรณี Min Max เท่านั้น ใช้กับ Sum ไม่ได้ (เพิ่ม Warning)
การกำหนด Preserve Type โดยไปที่ Stage Tab ของ Aggregator Stage เลือก Property Tab และ Click ที่ Column for Calculation จะ ปรากฏ Property ให้เลือก ที่ช่อง Available property to add เลือก Preserve Type (รูป 1) จากนั้น Preserve Type Property จะไปปรากฏที่ใต้ Column for Calculation Property (รูป 2) แล้วจึงกำหนดค่า True หรือ False จาก List Box ชื่อ Preserve Type
การกำหนด Preserve Type โดยไปที่ Stage Tab ของ Aggregator Stage เลือก Property Tab และ Click ที่ Column for Calculation จะ ปรากฏ Property ให้เลือก ที่ช่อง Available property to add เลือก Preserve Type (รูป 1) จากนั้น Preserve Type Property จะไปปรากฏที่ใต้ Column for Calculation Property (รูป 2) แล้วจึงกำหนดค่า True หรือ False จาก List Box ชื่อ Preserve Type
DataStage: Aggregate Method in Aggregator Stage
Data Stage มี Mode ในการทำงานโดยขึ้นอยู่กับจำนวนกลุ่ม Output ของ Data และ จำนวน Memory เลือกใช้ Hash Mode ก็ต่อเมื่อมีจำนวนกลุ่มของข้อมูลไม่มาก โดยทั่วไปประมาณ 1000 กลุ่มต่อเมกะไบท์
กรณีถ้ามีจำนวนกลุ่มของข้อมูลปริมาณมาก ซึ่งเกิดขึ้นได้ในกรณีที่มี Grouping Key จำนวนมาก หรือ Grouping Key เก็บข้อมูลที่มีค่ามาก ควรจะใช้ Sort Mode ซึ่ง Sort Mode ต้องใช้ Partition แบบ Sort สำหรับ Input Data Set โดยกำหนดที่ Grouping Key ที่ต้องการ Sort โดยหลังจาก Sort ข้อมูลที่ Group เรียบร้อยแล้วจะถูกเก็บอยู่ใน Partition เดียวกัน
ปกติ Data Stage จะกำหนด Method Property เป็น Hash
สามารถกำหนด Method ได้ดังรูป โดย ไปที่ Stage Tab ของ Aggregator Stage เลือก Property Tab เลือก Option แล้ว Click ที่ Method เลือกค่า Hash หรือ Sort จาก List Box
กรณีที่มี กลุ่มข้อมูลจำนวนมาก แต่กำหนด Mode เป็น Hash จะทำให้ Data Stage แล้ง Error Log ดังนี้
กรณีถ้ามีจำนวนกลุ่มของข้อมูลปริมาณมาก ซึ่งเกิดขึ้นได้ในกรณีที่มี Grouping Key จำนวนมาก หรือ Grouping Key เก็บข้อมูลที่มีค่ามาก ควรจะใช้ Sort Mode ซึ่ง Sort Mode ต้องใช้ Partition แบบ Sort สำหรับ Input Data Set โดยกำหนดที่ Grouping Key ที่ต้องการ Sort โดยหลังจาก Sort ข้อมูลที่ Group เรียบร้อยแล้วจะถูกเก็บอยู่ใน Partition เดียวกัน
ปกติ Data Stage จะกำหนด Method Property เป็น Hash
สามารถกำหนด Method ได้ดังรูป โดย ไปที่ Stage Tab ของ Aggregator Stage เลือก Property Tab เลือก Option แล้ว Click ที่ Method เลือกค่า Hash หรือ Sort จาก List Box
กรณีที่มี กลุ่มข้อมูลจำนวนมาก แต่กำหนด Mode เป็น Hash จะทำให้ Data Stage แล้ง Error Log ดังนี้
agg_Sum_CRN_BAL: When checking operator: When binding output interface field "SUM_CRN_BAL" to field "SUM_CRN_BAL": Implicit conversion from source type "dfloat" to result type "decimal[16,2]": Possible range/precision limitation.
agg_Sum_CRN_BAL,0: Hash table has grown to 16384 entries.
agg_Sum_CRN_BAL,1: Hash table has grown to 16384 entries.
agg_Sum_CRN_BAL,2: Hash table has grown to 16384 entries.
agg_Sum_CRN_BAL,3: Hash table has grown to 16384 entries.
agg_Sum_CRN_BAL,0: Hash table has grown to 32768 entries.
agg_Sum_CRN_BAL,1: Hash table has grown to 32768 entries.
agg_Sum_CRN_BAL,2: Hash table has grown to 32768 entries.
agg_Sum_CRN_BAL,3: Hash table has grown to 32768 entries.
20 January 2009
DataStage: Join Stage - Not Found Key Field
Event Type:
Fatal
Message:
join: Error when checking operator: Key field "CUSTOMER_KEY" was not found in the view-adapted input schema
Details:
Root Cause:
เนื่องจากการใช้ Join Stage จำเป็นต้องมีชื่อ Column Name ที่เหมือนกัน แต่ใน Job ใช้ชื่อต่างกันทำให้ Join Stage ไม่สามารถ Join หากันเจอเพราะ Key มีค่าคนละชื่อ
Action:
แก้ให้ column ที่ต้องการจะ join กัน จากทั้งฝั่ง left และ right ให้มีชื่อเหมือนกัน โดย
1. ใช้ Copy Stage
2. ใช้ Modify Stage
3. ใช้ transformer stage
4. เขียน SQL ฝัง เข้าไปใน Table Stage โดย (Old Name) as New Name
Fatal
Message:
join: Error when checking operator: Key field "CUSTOMER_KEY" was not found in the view-adapted input schema
Details:
Root Cause:
เนื่องจากการใช้ Join Stage จำเป็นต้องมีชื่อ Column Name ที่เหมือนกัน แต่ใน Job ใช้ชื่อต่างกันทำให้ Join Stage ไม่สามารถ Join หากันเจอเพราะ Key มีค่าคนละชื่อ
Action:
แก้ให้ column ที่ต้องการจะ join กัน จากทั้งฝั่ง left และ right ให้มีชื่อเหมือนกัน โดย
1. ใช้ Copy Stage
2. ใช้ Modify Stage
3. ใช้ transformer stage
4. เขียน SQL ฝัง เข้าไปใน Table Stage โดย (Old Name) as New Name
19 January 2009
DataStage: Command Line Interface (#3: Accessing Log)
ตอนที่ 3 นี้จะพูดต่อถึงคำสั่งที่ใช้ในการเข้าถึง log และ status ของ job ซึ่งเป็นประโยชน์อย่างมากในการเขียน shell script เพื่อตรวจสอบก่อนและหลังการรัน Job
แสดงสถานะของ Job ที่ระบุว่ารันครั้งล่าสุดเมื่อวันเวลาใด และรันเสร็จเมื่อใด จบด้วย status ใด
Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -report PROJ1 TSAGGKPIMO03AP01
**************************************************
STATUS REPORT FOR JOB: TSAGGKPIMO03AP01
Generated: 2009-01-12 15:29:24
Job start time=2008-12-17 18:41:21
Job end time=2008-12-17 18:41:23
Job elapsed time=00:00:02
Job status=1 (Finished OK)
แสดงรายละเอียดเกี่ยวกับ Job ที่ระบุ outputที่ได้จะใกล้เคียงกับ dsjob -report มากแต่มีรายละเอียดเพิ่มขึ้นมาอีกนิดหน่อยตามตัวอย่าง
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -jobinfo PROJ1 TSAGGKPIMO03AP01
Job Status : RUN OK (1)
Job Controller : SEQTSAGGKPIMO01
Job Start Time : Wed Dec 17 18:41:21 2008
Job Wave Number : 11
User Status : not available
Job Control : 0
Interim Status : NOT RUNNING (99)
Invocation ID : not available
Last Run Time : Wed Dec 17 18:41:23 2008
Job Process ID : 0
Invocation List : TSAGGKPIMO03AP01
Job Restartable : 0
การใส่ข้อความเข้าไปใน Log ของ Datastage Director
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -log PROJ1 test
Enter message text, terminating with Ctrl-d เช่น
TEST!!
^D
Message read.
เมื่อเข้าไปดู log ใน Director จะปรากฏ log message ดังภาพ
แสดง Log อย่างย่อ แสดงข้อความเหมือนกับที่ปรากฏใน Director output ที่ได้คือ log ของ Job ที่ระบุทั้งหมดที่ยังถูกเก็บใน repository โดยสามารถกำหนด Type ของ Log message ที่ต้องการได้
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -logsum PROJ1 TSAGGKPIMO03AP01
0 STARTED Wed Dec 17 18:26:21 2008
Starting Job TSAGGKPIMO03AP01. (...)
1 INFO Wed Dec 17 18:26:22 2008
Environment variable settings: (...)
2 INFO Wed Dec 17 18:26:22 2008
Parallel job initiated
3 INFO Wed Dec 17 18:26:22 2008
OSH script (...)
...
แสดง Log อย่างละเอียดในการรันครั้งล่าสุดของ Job ที่ระบุ โดยสามารถระบุ Event Id ที่ต้องการจะดูได้ output ที่ได้จะเหมือนการ Double Click ดู log ใน Director
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -logdetail PROJ1 TSAGGKPIMO03AP01 140 142
Event Id: 140
Time : Wed Dec 17 18:41:23 2008
Type : INFO
User : dsadm
Message :
Parallel job reports successful completion
Event Id: 141
Time : Wed Dec 17 18:41:23 2008
Type : STARTED
User : dsadm
Message :
Finished Job TSAGGKPIMO03AP01.
Event Id: 142
Time : Wed Dec 17 18:41:23 2008
Type : BATCH
User : dsadm
Message :
(SEQTSAGGKPIMO01) <- TSAGGKPIMO03AP01: Job under control finished.
บอก Event Id ล่าสุดของ Job นั้นๆ
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -lognewest PROJ1 TSAGGKPIMO03AP01
Newest id = 142
แสดงสถานะของ Job ที่ระบุว่ารันครั้งล่าสุดเมื่อวันเวลาใด และรันเสร็จเมื่อใด จบด้วย status ใด
dsjob -report {project name} {job name}ตัวอย่างคำสั่งและผลลัพธ์
Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -report PROJ1 TSAGGKPIMO03AP01
**************************************************
STATUS REPORT FOR JOB: TSAGGKPIMO03AP01
Generated: 2009-01-12 15:29:24
Job start time=2008-12-17 18:41:21
Job end time=2008-12-17 18:41:23
Job elapsed time=00:00:02
Job status=1 (Finished OK)
แสดงรายละเอียดเกี่ยวกับ Job ที่ระบุ outputที่ได้จะใกล้เคียงกับ dsjob -report มากแต่มีรายละเอียดเพิ่มขึ้นมาอีกนิดหน่อยตามตัวอย่าง
dsjob -jobinfo {project name} {job name}ตัวอย่างคำสั่งและผลลัพธ์
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -jobinfo PROJ1 TSAGGKPIMO03AP01
Job Status : RUN OK (1)
Job Controller : SEQTSAGGKPIMO01
Job Start Time : Wed Dec 17 18:41:21 2008
Job Wave Number : 11
User Status : not available
Job Control : 0
Interim Status : NOT RUNNING (99)
Invocation ID : not available
Last Run Time : Wed Dec 17 18:41:23 2008
Job Process ID : 0
Invocation List : TSAGGKPIMO03AP01
Job Restartable : 0
การใส่ข้อความเข้าไปใน Log ของ Datastage Director
dsjob -log {project name} {job name}ตัวอย่างคำสั่งและผลลัพธ์
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -log PROJ1 test
Enter message text, terminating with Ctrl-d เช่น
TEST!!
^D
Message read.
เมื่อเข้าไปดู log ใน Director จะปรากฏ log message ดังภาพ
แสดง Log อย่างย่อ แสดงข้อความเหมือนกับที่ปรากฏใน Director output ที่ได้คือ log ของ Job ที่ระบุทั้งหมดที่ยังถูกเก็บใน repository โดยสามารถกำหนด Type ของ Log message ที่ต้องการได้
dsjob -logsum [-type {INFO | WARNING | FATAL | REJECT | STARTED | RESET | BATCH}] {project name} {job name}ตัวอย่างคำสั่งและผลลัพธ์
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -logsum PROJ1 TSAGGKPIMO03AP01
0 STARTED Wed Dec 17 18:26:21 2008
Starting Job TSAGGKPIMO03AP01. (...)
1 INFO Wed Dec 17 18:26:22 2008
Environment variable settings: (...)
2 INFO Wed Dec 17 18:26:22 2008
Parallel job initiated
3 INFO Wed Dec 17 18:26:22 2008
OSH script (...)
...
แสดง Log อย่างละเอียดในการรันครั้งล่าสุดของ Job ที่ระบุ โดยสามารถระบุ Event Id ที่ต้องการจะดูได้ output ที่ได้จะเหมือนการ Double Click ดู log ใน Director
dsjob -logdetail {project name} {job name} [{event id} | {first event id} {last event id}]ตัวอย่างคำสั่งและผลลัพธ์
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -logdetail PROJ1 TSAGGKPIMO03AP01 140 142
Event Id: 140
Time : Wed Dec 17 18:41:23 2008
Type : INFO
User : dsadm
Message :
Parallel job reports successful completion
Event Id: 141
Time : Wed Dec 17 18:41:23 2008
Type : STARTED
User : dsadm
Message :
Finished Job TSAGGKPIMO03AP01.
Event Id: 142
Time : Wed Dec 17 18:41:23 2008
Type : BATCH
User : dsadm
Message :
(SEQTSAGGKPIMO01) <- TSAGGKPIMO03AP01: Job under control finished.
บอก Event Id ล่าสุดของ Job นั้นๆ
dsjob -lognewest {project name} {job name}ตัวอย่างคำสั่งและผลลัพธ์
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -lognewest PROJ1 TSAGGKPIMO03AP01
Newest id = 142
15 January 2009
DataStage: Command Line Interface (#2: Retrieving Info)
ต่อจากตอนที่แล้ว ซึ่งยังคงอยู่ในหมวดของการรันและควบคุม Job แต่ตอนนี้จะพูดถึง option ที่ใช้ในการหา Information ต่างๆ ไม่ว่าจะเป็นรายชื่อ Project รายชื่อ Job หรือรายชื่อ Stage และ Link ภายใน Job
แสดงรายชื่อ Project ทั้งหมดที่มีใน Server นั้นๆ
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -lprojects
APROJECT
PROJECT1
PROJECT2
TESTPROJ
TRAINING
แสดงชื่อ Host ของ Project ที่ระบุ
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -projectinfo PROJ1
Host Name : HOSTUNIX1
Project Name : PROJ1
แสดงรายชื่อ Job ทั้งหมดภายใน Project ที่ระบุ
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -ljobs PROJ1
aDIMTSDIMAGNT
CopyOfaDIMTSDIMAGNT1
CopyOfTS_LEAD01
CopyOftest
แสดงรายชื่อ Job ตาม Invocation Id ที่ถูกแตกออกมาในการรัน
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -linvocations PROJ1 CopyOftest
CopyOftest.1
CopyOftest.0
CopyOftest
แสดงรายชื่อ Parameter ทั้งหมดภายใน Job ที่ระบุ
แสดงรายชื่อ Stage ทั้งหมดภายใน Server/Parallel Job ที่ระบุ
แสดงรายชื่อ Input และ Output Link ของ Stage ที่ระบุ
แสดงรายชื่อ Project ทั้งหมดที่มีใน Server นั้นๆ
dsjob -lprojectsตัวอย่างคำสั่งและผลลัพธ์
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -lprojects
APROJECT
PROJECT1
PROJECT2
TESTPROJ
TRAINING
แสดงชื่อ Host ของ Project ที่ระบุ
dsjob -projectinfo {project name}ตัวอย่างคำสั่งและผลลัพธ์
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -projectinfo PROJ1
Host Name : HOSTUNIX1
Project Name : PROJ1
แสดงรายชื่อ Job ทั้งหมดภายใน Project ที่ระบุ
dsjob -ljobs {project name}ตัวอย่างคำสั่งและผลลัพธ์
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -ljobs PROJ1
aDIMTSDIMAGNT
CopyOfaDIMTSDIMAGNT1
CopyOfTS_LEAD01
CopyOftest
แสดงรายชื่อ Job ตาม Invocation Id ที่ถูกแตกออกมาในการรัน
dsjob -linvocations {project name} {job name}ตัวอย่างคำสั่งและผลลัพธ์
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -linvocations PROJ1 CopyOftest
CopyOftest.1
CopyOftest.0
CopyOftest
แสดงรายชื่อ Parameter ทั้งหมดภายใน Job ที่ระบุ
dsjob -lparams {project name} {job name}
แสดงรายชื่อ Stage ทั้งหมดภายใน Server/Parallel Job ที่ระบุ
dsjob -lstages {project name} {job name}
แสดงรายชื่อ Input และ Output Link ของ Stage ที่ระบุ
dsjob -llinks {project name} {job name} {stage name}
13 January 2009
DataStage: Command Line Interface (#1: Control Jobs)
เราสามารถติดต่อ DataStage ผ่านทาง Command Line ของ UNIX หรือ Windows ได้ ผ่านชุดคำสั่งที่เรียกว่า Command Line Interface ประกอบด้วยชุดคำสั่ง 3 ประเภทใหญ่ๆ ได้แก่ การรันและควบคุม Job, การจัดการ Project และ การค้นหา Job
ก่อนรัน Command Line เหล่านี้จะต้องทำการรัน Environment ของ Datastage ก่อน โดยจะต้องอ้างอิง Home Directory ของ Datastage ดังนี้
1. หา Home Directory ของ Datatstage โดยคำสั่ง cat /.dshome
2. รัน Environment ของ Datastage .{DSHOME}/dsenv
ชุดที่1 - การรันและควบคุม Job
ใช้คำสั่ง dsjob ตามด้วย option ต่างๆ ชุดคำสั่งนี้สามารถสั่ง
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -run -warn 50 -wait -jobstatus -param TSPS=ABC -param DataDate=20081112 PROJ1 test
Waiting for job...
Finished waiting for job
Job Status : (1)
Reset Job
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -run -wait -mode RESET PROJ1 test
Waiting for job...
Finished waiting for job
Stop Job
ก่อนรัน Command Line เหล่านี้จะต้องทำการรัน Environment ของ Datastage ก่อน โดยจะต้องอ้างอิง Home Directory ของ Datastage ดังนี้
1. หา Home Directory ของ Datatstage โดยคำสั่ง cat /.dshome
2. รัน Environment ของ Datastage .{DSHOME}/dsenv
ชุดที่1 - การรันและควบคุม Job
ใช้คำสั่ง dsjob ตามด้วย option ต่างๆ ชุดคำสั่งนี้สามารถสั่ง
- Starting a job
- Stopping a job
- Listing projects, jobs, stages, links, and parameters
- Retrieving information
- Accessing log files
- Importing job executables
- Generating a report
dsjob -run -warn {number of warning} -wait -jobstatus -param {parameter name}={value} -param {parameter name}={value} {project name} {job name}ตัวอย่างคำสั่งและผลลัพธ์
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -run -warn 50 -wait -jobstatus -param TSPS=ABC -param DataDate=20081112 PROJ1 test
Waiting for job...
Finished waiting for job
Job Status : (1)
Reset Job
dsjob -run -wait -mode RESET {project name} {job name}ตัวอย่างคำสั่งและผลลัพธ์
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -run -wait -mode RESET PROJ1 test
Waiting for job...
Finished waiting for job
Stop Job
dsjob -stop {project name} {job name}รายละเอียดเพิ่มเติมที่ IBM Information Server Documentation - Parallel Job Advanced Developer Guide, Chapter 25. WebSphere DataStage development kit (job control interfaces), Section Command line interface (C:\IBM\InformationServer1\Documentation\i46depja.pdf)
Subscribe to:
Posts (Atom)