Download presentation
Presentation is loading. Please wait.
1
DataStage 운영자 지침서 Operator’s Guide
작성일 : 2003/05/14
2
3. DataStage 사용자 설명서 3.1 DataStage 환경 설정
dsenv : DataStage의 환경파일로써, DataStage가 실행될 때 필요한 환경변수를 정의한다. 1. DataStage의 home 디렉토리($dshome)에 dsenv 파일이 존재한다. vi로 수정할 수 있다. $dshome은 install시 DataStage Server를 설치한 곳이다. 일반적으로 root directory(/)밑에서 cd `cat .dshome`(숫자 1 왼쪽 옆에 있는 key)을 입력하면 된다.
3
1. DataStage의 환경파일로써, DataStage가 실행될 때 필요한 환경변수를 정의한다.
① ② ③ 1. DataStage의 환경파일로써, DataStage가 실행될 때 필요한 환경변수를 정의한다. ① - 설치시 Default로 생성되는 내용이다. 수정할 필요는 없다. ② - Library Path와 Path를 정의하는 부분이다. DataStage의 Library와 OS의 Library를 같이 정의한다. 설치시 Default로 생성되는 부분이다. ③ - DBMS의 환경을 Setting한다. DBMS user의 환경파일을 복사해서 사용한다. 2. 아래의 그림처럼, 같은 user(ettuser)로 login하더라도, unix로 직접 access하는 것과 DataStage를 통하여 access하는 것은 서로 다른 shell 환경이므로, dsenv를 수정하여 같은 환경으로 만들어 줘야 한다. dsenv dsenv DataStage User Login DataStage User Login DataStage Shell DataStage Shell DataStage 커맨드 DataStage 커맨드 Unix User Login Unix User Login Unix Shell Unix Shell Unix 커맨드 Unix 커맨드
4
* 다른 버튼에 대해서는 필히 교육받은 후 확인할 것.
3.2 사용자 권한 설정 Administrator에서 뭔가 작업을 할려면 반드시 root 또는 dsadm User로 들어가야 한다. 1. DataStage Administrator를 실행(반드시 root & dsadm user로 login할 것.)하면 General 탭과 Projects 탭이 보여진다. 존재하는 Project가 보여지고, 왼쪽에 커맨드 버튼이 있다. 여기서 원하는 Project를 선택한 후 ‘Properties’ 버튼을 클릭하고 Permissions 탭을 선택한다. root user가 아니면, Properties에 가서 user의 권한을 setting할 수 없다. * 다른 버튼에 대해서는 필히 교육받은 후 확인할 것. Project별로 각각 설정이 가능하므로, 먼저 원하는 Project를 선택하자. Project를 없애므로 주의! 반드시 root & dsadm 유저만이 할 수 있다. 이것은 Re-Build Indexing이라는 DataStage 내부 Architecture와 관련 사항이므로 주의하자. * DataStage가 Job과 JobID, JobName에 대한 연결고리를 가지게 되는데, 이것을 저장하는 곳을 VOC라고 일컫게 된다. Re-Build Indexing은 이 VOC 파일이 잘못되어 JobID를 못찾게 되거나 하는 경우, 또는 RT_LOG, RT_CONFIG등과 RT_BP가 Match 되지 않을 경우 이것을 수정하는 역할을 수행하는 것을 말한다. (필히 DataStage 기술지원팀과 상의하에 처리할 것)
5
2. Permissons 탭을 클릭하면 user group이 보여지고, 아래쪽 콤보박스에는 User Role이 보여진다.
여기서 원하는 유저의 그룹을 선택한다. 유저 그룹에 줄 권한을 선택한다. 2. Permissons 탭을 클릭하면 user group이 보여지고, 아래쪽 콤보박스에는 User Role이 보여진다. 3. User role은 DataStage Operator와 DataStage Developer 두개가 있다. 이 중 DataStage Developer는 DataStage의 모든 Component(Administrator, Designer, Director, Manager)를 사용할 수 있고, DataStage Operator는 오직 Director만 사용할 수 있다. Operator가 다른 Component에 login할려고 하면 다음과 같은 오류 메시지가 발생한다. Job을 운영시 발생하는 문제에 대해서 Operator가 처리할 수 있는 권한이 거의 없으므로, Developer로 두는 것이 좋다.
6
Batch Job 또는 Job을 특별한 때에 자동으로 실행할 수 있게 스케쥴해두면, 매번 직접 실행하는 수고를 덜 수 있다.
(1) Sceduling Batch Job 또는 Job을 특별한 때에 자동으로 실행할 수 있게 스케쥴해두면, 매번 직접 실행하는 수고를 덜 수 있다. 1. Director에서 Job 메뉴를 선택하면, 가운데 부분에서 Add To Schedule…/ Reschedule…/ Unschedule… 의 메뉴가 보인다. 여기서 ‘Add To Schedule…’를 제외한 다른 메뉴는 모두 이미 Scheduling되어 있는 Job(Batch Job)에 해당되는 메뉴이다. - ‘Add To Schedule…’는 선택된 Job을 새로 Scheduling하는 것을 말한다. - ‘Reschedule…’는 선택된 Scheduling되어 있는 Job의 Schedule을 수정하는 것을 말한다. - ‘Unschedule…’는 선택된 Scheduling되어 있는 Job을 Schedule에서 제외하는 것을 말한다. 실제로 Schedule과 관련된 Tool Bar는 다음과 같다. 이 버튼을 누르면 Director가 Status View 상태로 된다. 이 버튼을 누르면 Director가 Log View 상태로 된다. Reschedule 버튼. 반드시 Director가 Schedule View 상태일 때만 활성화된다. 이 버튼을 누르면 Director가 Schedule View 상태로 된다. Add To Schedule 버튼. 이 버튼은 Director가 Status View 상태라도 활성화 되어 있다.
7
- ‘Today’는 Server의 일자로 오늘 현재를, ‘Tomorrow’는 다음 일자를 말한다.
2. Add To Schedule…과 Reschedule…은 같은 화면상에서 작업을 한다. 먼저, Run Job 그룹박스내부에서 Job을 실행할 주기 Today/ Tomorrow/ Every/ Next/ Daily 중에서 하나를 선택한다. - ‘Today’는 Server의 일자로 오늘 현재를, ‘Tomorrow’는 다음 일자를 말한다. - ‘Every’는 매번을 의미하는데, Day 그룹박스와 연관이 있다. - ‘Next’는 다음번을 의미한다. 역시 Day 그룹박스와 연관이 있다. - ‘Daily’는 매일 작업을 의미한다. Day 그룹박스에서 자동으로 모든 요일이 체크된다. - 여기서 ‘Daily’와 ‘Every’를 제외한 나머지는 모두 1회성 스케쥴 옵션이다. 3. Unschedule…을 선택하면 확인 메시지가 나타나고 확인을 하면 스케쥴된 Job을 제외하게 된다. 반드시 Director가 Schedule View 상태에서 실행가능하다. 4. Schedule은 하나의 Job에 대해 중복적으로 Add할 수 있으므로, 같은 Job을 다른 시간대에 매일 실행하는 것이 가능하다. 주기나 일자에 대한 선택외에 어느 시간에 실행할 것인지에 대해 선택한다. ‘Every’나 ‘Next’를 선택하면 요일과 일자중에서 선택할 수 있다. 이들 주기중 하나를 선택한다. Director가 Status View 상태와 Schedule View 상태, Log View 상태일 때 나오는 항목들이 다르다. Schedule View일 때, Job Name과 주기, 시간과 Parameter에 대한 값이 보여진다. Unschedule…을 실행했을 때 나오는 확인 메시지.
8
Batch Job 또는 Job을 실행하게 한다.
(2) Run Job Batch Job 또는 Job을 실행하게 한다. 1. Director에서 Job 메뉴를 선택하면, Run Now…/Stop의 메뉴가 보인다. - ‘Run Now…’는 선택된 Job을 실행하는 것을 말한다. - ‘Stop’은 현재 Running중인 Job을 강제적으로 멈추게하는 것을 말한다. - 둘다 Director가 Status View 이거나 Log View 상태여야 한다. 실제로 Run Job과 관련된 Tool Bar는 다음과 같다. 이 버튼을 누르면 Job을 Run 할 수 있다. Abort가 난 Job을 Reset 한다. Running 중인 Job을 선택하면, 활성화되고, 이 버튼을 누르면 Job을 중단시킨다.
9
Parameter 입력부분. Job에서 Default로 준 값이 보여진다.
데이터의 건수 Limit Job의 Warning Limit Job을 Run 시킨다. Validate에 대해선 DataStage 교육 교재를 참고. 2. Job을 Run하게 되면 Batch Job 생성에서 처럼 위와 같은 창이 열려서, Job Running의 Limits을 선택하게 된다. 또한, Parameter가 있다면 Parameter를 입력받게 된다. 3. Run Job한 것을 Stop하게 되면 다음과 같은 메시지를 출력한다. DataStage는 Running 중인 Job을 종료시킬 때, 강제적인 Kill이 아니라, 현재 메모리상에 존재하는 Process의 Stop을 Server에 요청하게 된다. 즉, Stop 버튼을 누른다고 모두다 즉각적인 효력을 발휘하는 것은 아니고 일부 Job은 시간이 걸릴 수도 있다. Director가 Status View 상태일 때, Job Name과 상태, 시작 시간과 일자, 그리고 이미 종료된 Job에 대해서 마지막으로 실행한 시간과 일자가 보여진다. 이 버튼을 누르면 Running 중인 Job을 Stop할 수 있다. Stop을 실행했을 때 나오는 확인 메시지.
10
(3) Monitoring Job의 현재 상황을 세부적으로 알 수 있다.
1. Job이 실행중이거나, 실행되었거나, 혹은 실행하기 전이라도 Tools의 New Monitor를 통하여 현재 상황을 볼 수 있다. 만일 Job이 실행중이라면 아래의 모니터링 화면상에서 Num rows나 Rows/sec, Elapsed time이 변하는 것을 볼 수 있고, Job이 실행되기 전이라면 모두 0으로 나올 것이다. 실행이 끝난 Job은 마지막 상태를 보여준다. Stage Name, Stage의 상태, Stage에 연결된 Link Name, Link의 Type을 보여준다. Link Type중 ‘<<Pri’는 Primary Input을 ‘<Ref’는 Reference(Lookup)을 ‘>Out’은 Output을 나타낸다. ‘Num rows’는 현재 처리하고 있는 데이터 건수를 ‘Started at’는 시작 시간을 ‘Elapsed time’은 경과 시간을 ‘Rows/sec’는 초당 처리건수를 나타낸다. ‘Interval’은 모니터링을 하는 시간 간격을 나타낸다. 이것을 수정하고 나서 ‘Save setting’에 체크가 되어 있으면 자동으로 변경한 값이 저장된다.
11
현상태의 Job을 Run이 가능한 상태로 만들어 준다.
(4) Reset Job 현상태의 Job을 Run이 가능한 상태로 만들어 준다. 상태가 ‘Has been reset’으로 되고 Run Now… 버튼이 활성화 되었다.
12
지금 선택한 Job이 어떤 이유로 인하여 지워야 할 필요가 있다. 이때 만들어진 Job을 지워야 할 것이다.
(5) Delete Job 지금 선택한 Job이 어떤 이유로 인하여 지워야 할 필요가 있다. 이때 만들어진 Job을 지워야 할 것이다. 미리 Job 또는 Batch Job을 선택하고 이 메뉴를 선택하면 확인하는 Dialog Box가 나타난다. 또한, Manager에서도 Job이나 Batch Job을 삭제할 수 있다. 원하는 Job을 선택하고 마우스 오른쪽 버튼을 눌러 Pop-Up 메뉴에서 선택하거나, Job 선택후 Delete 키를 누르면 된다.
13
실행한 Job의 수행 단계별 기록인 Log를 볼 수 있다.
(1) View Log 실행한 Job의 수행 단계별 기록인 Log를 볼 수 있다. 이 버튼을 눌러 Log를 확인한다. Batch Job에서는 Job 자체의 Log는 보이지 않는다. Warning과 Fatal이 없다면 정상적인 작업이다. 1. 실행이 끝난 Job에 대하여 Log를 확인할 수 있다. Log View 버튼을 누르기 전에 먼저 Job을 선택해야 한다. 2. Batch Job에서는 Job 자체의 Log가 남지 않고, 전체적인 상황이 Log로 남으므로, 먼저 Log를 확인하고 이상이 발생한 Job의 경우, Status View로 가서 그 Job을 선택하고 다시 Log View 버튼을 눌러 Log를 확인한다.
14
한 Log를 더블클릭하면 상세한 내용의 창이 뜬다.
3. 이상이 발생한 경우에는 상황에 따라 처리한다. Warning이라도 Validate시 발생했다면 정상일 수 있다. 반면 Fatal일 경우에는 Log를 잘 파악해서 판단해야 한다.
15
(2) Clear Log Log가 너무 많아지면, Job의 수행에도 영향을 미칠 수 있다. 많은 Log는 사용자가 Job의 Log를 확인하는데 시간을 지체하게 만들 수 있으며, Project의 Disk Space도 많이 차지한다. 1. Director에서 Job 메뉴에 보면 Clear Log…메뉴가 있다. Director에서는 Clear Log에 대한 작업을 하나의 Job에 대해서만 가능하다. 따라서, 먼저 Job을 선택하고, Clear Log…메뉴를 클릭하면 어떤 작업을 할 것인지 물어온다. Job의 이름이 명시되어 있음을 유의하라. ‘Immediate purge’는 즉각적인 Log 지우기이다. 이것을 선택하면, Immediate 그룹박스의 내용중 하나를 선택하게 된다. ‘Clear all entries’는 이 Job의 모든 Log를 지운다. 단 하나의 Log(즉, 모든 Log를 지웠다는 Log)만 남게 된다. ‘Up to last run’은 마지막 실행되었던 Log이전의 모든 Log를 지운다. ‘Before date’는 입력된 일자 이전의 모든 Log를 지운다.
16
‘Auto-purge’는 자동으로 Log를 지워준다. 이때, Auto-purge 그룹박스에서 선택한 옵션이 영향을 미친다
‘Auto-purge’는 자동으로 Log를 지워준다. 이때, Auto-purge 그룹박스에서 선택한 옵션이 영향을 미친다. Auto-purge한 내용은 Server에 셋팅되어 있지만, 이 라디오버튼을 누르기 전에는 그 내용을 확신할 수 없다. 결국, 최초로 보여지는 Auto-purge 그룹박스의 내용은 자신의 클라이언트에서 마지막으로 봤을 때의 모습이다. ‘Enabled for this job’는 이 Job에 대해 Auto-purge를 하겠다는 옵션이다. ‘Up to previous (job run)’은 선택한 숫자보다 전의 실행되었던 모든 Log를 지운다. ‘Older than (days)’는 입력된 일자 이전의 모든 Log를 지운다. 2. Auto-purge는 이후로 생성되는 Job의 Log에 대해 영향을 미친다. 만일 다른 클라이언트에서 그 옵션을 바꿀 수 있다면, 그 내용을 확인하는 기회를 자주 가지는 것이 좋을 것이다. Auto-purge했을 때의 결과가 아래에 있다. Auto-purge는 Control이라는 Job 수행 단계가 지나야 실행된다. Auto-purge했다는 Log가 남았다.
17
3.5 필터링 View Director의 View 메뉴에는 Filter Entries…라는 서브메뉴가 있다. 이를 잘 활용하면, 많은 Job이나 Log에서 원하는 부분을 쉽게 선택해 볼 수 있다. 1. Filter Entries…는 Director가 Status(Status와 Schedule은 같은 내용을 보여준다.) View 상태인지, Log View 상태인지에 따라 선택하는 내용이 틀리다. 여기는 Job의 상태로 조건을 준다. Released에 대해서는 DataStage 교육 교재 참고 ‘Include’는 포함할 내용, ‘Exclude’는 배제할 내용을 말한다. Jobs matching에 입력할 때는 ‘*’를 쓰도록 권한다. ‘*604*’라면 604가 중간에 끼는 Job명은 모두 Include/Exclude 되게 된다. 두개 이상의 조건은 지원하지 않는다.
18
2. Log에서의 Filter Entries…는 다음 그림과 같다.
‘From’은 Log를 볼 첫 시점이고, ‘Through’는 끝 시점이다. Log의 Type별로 체크해서 Warning만 본다든지 하는 일이 가능하다. Log를 볼 때의 개수 제한이다. Last 100 이 디폴트 값이다. 위에서 보이는 Limit의 옵션이 디폴트 값으로 되어 있고, Log가 그 수를 초과했을 때, Log View 상태로 가게 되면 나오는 메시지이다.
19
3.6 작업 백업 (1) Export DataStage에서는 실제로 Backup을 받을만한 것은 Job 뿐이다. Data는 Backup을 받을 필요가 없고, Hash는 새로 생성하면 된다. Log를 Backup 받을 수도 있을 것이다. 1. Manager에서 Export > DataStage Components…메뉴를 선택하면 된다. 선택된 항목이 Selection으로 Export 창이 뜰것이다. 이것은 Default값으로, 아무것도 선택하지 않을 순 없다. 한 Export File에 여러 개의 항목을 넣고 싶다면, 기존에 존재하는 파일에 덧붙여쓰기(여기를 체크)를 권한다. 원하는 Job을 선택할 수 있다. 한 항목에 대해 복수선택은 불가능하므로, 한번에 하나의 Job만 선택가능하다. Job 뿐만 아니라, 다른 MetaData도 Export할 수 있다. Category 별로 가능하다. Category가 없다면, 각 항목별로 가능하다.
20
여길 클릭하여 Backup File을 둘 위치를 선택하자
여길 클릭하여 Backup File을 둘 위치를 선택하자. Backup File은 Client에 저장되므로 잊어버리지 않도록 주의! Project 전체에 대해 Backup을 받는다면, 여길 클릭. Options 탭에서는 Category별로 할 것인지, 항목별로 할 것인지 선택할 수 있다. 또, DataStage가 Default로 만들어주는 몇가지 기본적인 Read-Only MetaData를 Export할 수 있게 선택가능하다. Default 값으로 두는 것이 유리하다.
21
DataStage에서 Backup받아 뒀던 내용을 다시 서버로 불러오는 작업이다.
(2) Import DataStage에서 Backup받아 뒀던 내용을 다시 서버로 불러오는 작업이다. 1. Manager에서 Import > DataStage Components…메뉴를 선택하면 된다. 다은과 같이 Import에 관련된 창이 뜬다. 여길 눌러서 Import할 파일에 대해서 Browse해서 찾아보거나 위치와 파일을 직접 입력할 수 있다. Import all 은 그 Export했던 파일의 모든 내용을 가져오는 것이다. Import selected는 Export했던 파일에서 필요한 것만 선택적으로 가져올 수 있다. 이 옵션은 이미 존재하는 메타데이터가 있을 때, overwrite 할 것인가 하는 질문을 던지는 것을 체크할 수 있다. Default값은 그러한 질문없이 모두 overwrite하게 되어 있다.
22
2. Lock을 풀어야 한다고 생각해 볼 필요가 있을 때는 다음과 같다.
3.7 문제 해결 (1) Job Un-Lock 운영중 Job이 Lock 걸릴 경우가 있다. 다른 어떤 클라이언트에서 사용하지도 않는데, 누군가 작동중이라고 나오는 경우, Lock이 걸렸다고 보고, 그것을 풀어줘야 한다. 1. DataStage는 Job을 실행하거나 누군가 Open했을 때, 누가 그 Job을 Monitoring하고 있을 때, 그 Job에 대하여 Lock을 건다. 2. Lock을 풀어야 한다고 생각해 볼 필요가 있을 때는 다음과 같다. ① - Designer에서 어떤 Job을 Open하는 데, 실제로 그 Job이 Running중이거나, 다른 누군가 사용하지 않는데 ‘누군가 사용중이다’라는 메시지가 나올 경우. Client로 접속했다가, Client가 비정상 종료(Windows Error)되었을 때도 발생할 수 있다. ② - Job이 아래 3번의 방법으로 확인했을 때, 실행중이지 않는데도 Director에서 그 Job이 Running 중인 것으로 나오는 경우. 누군가에 의해 비정상적으로 Job이 종료되었을 때 발생할 수 있다. 3. Server에서 ‘ps –ef | grep uv’를 실행하여, DataStage 작업이 있는지 확인한다. ‘unirpcd’, ‘uvdlockd –config’, ‘uv’ 이 세가지는 DataStage 구동의 필수 데몬들이다. 이들외에 다른 항목이 나온다면(물론, grep uv는 제외하고), 실제로 누군가 실행하는 작업이 있다는 것이다. 아무것도 없고, 여전히 Lock이 걸렸다면, ‘ps –ef | grep phan’으로 확인해 본다. 만일 ‘grep phan’ 했을 경우 항목이 나온다면(grep phan 제외), 실제로 After-Job Subroutine 같은 것을 실행하고 있을 경우처럼, DataStage가 메모리상에서 무언가 작업을 하고 있을 경우이다. 세개의 Daemon외에 다른 것이 있다면 DataStage가 작업중이라는 뜻이다. 현재 Running중인 Job을 알 수 있다. 4. DataStage가 무슨 작업을 한다 하더라도, 그 Job을 멈출 필요가 있을 때가 있다. 이럴 때는 Director에서 먼저 Job을 Stop 시키자. 만일 그렇게 했는데도 안된다면, Job의 PID를 가지고 Kill 하는 수 밖에 없다. ‘ps –ef | grep uv’를 통해 Job을 확인하고 , ‘kill –9 JobPID’로 Job을 중단하자. 이렇게 강제로 중단시킨 경우, 십중팔구는 Job의 Status가 변경되지 않고 남아있을 가능성이 있다. 이때는 Director의 Job > Clear Status File로 해결할 수 있다.
23
5. 하지만, 그렇게 강제로 종료시킨 경우가 아닌데도 Job의 Status가 이상하고, 여전히 Job이 Lock이 걸려있다면, 다음과 같은 방법을 쓰자. Director의 Job > Cleanup Resources 를 선택하여 Job이 Lock 걸려있음을 확인하고, 그 Job을 ‘Release’시킨다. Cleanup Resources나 Clear Status File이 Director에서 가능하게 할려면, Administrator의 여기가 체크되어 있어야 한다. 이것은 많은 시간을 필요로 할 때도 있다. 우선 원하는 항목을 선택하고 이 Release All 버튼을 클릭. 우리가 원하는 것은 바로 이 PID이다.
24
6. 또는 Server 상에서, 다음처럼 실행하자. . ./dsenv는 DataStage User가 아닌 경우, DataStage의 UV Shell을 이용할 수 있게 해준다. 여기서는 Esc키로 빠져나온다. Default로 UV Shell은 대문자로 나온다. UV Shell은 SQL*Plus와 같다고 생각하면 된다. 먼저 해당되는 Project에 login하고 운영자 TOOL을 기동한다. 5번이 Lock 걸린 Job을 Un-Lock할 수 있는 메뉴를 제공한다.
25
4번을 입력하면 현재 Lock이 걸린 Job들이 보인다. 여기서 Job의 PID를 기억하도록 하자.
7번을 입력하면 Job의 PID를 물어온다. 기억했던 PID를 입력하고 Enter 키를 입력하면 된다.
26
Job의 Lock을 풀고 UV Shell에서 빠져 나갈 때는 번호를 묻는 Prompt상에서는 Enter만 입력하면 된다
Job의 Lock을 풀고 UV Shell에서 빠져 나갈 때는 번호를 묻는 Prompt상에서는 Enter만 입력하면 된다. 그리고 ‘>’ 이 Prompt가 나올 때, ‘Q’를 입력하면 된다.
Similar presentations