SAP HANA DB에서 JOB 일정을 설정하는 방법

HANA DB에서 JOB 스케줄을 실행해보기



XS Classic 스크립트 내에서 비동기 SQL을 실행하고 싶었기 때문에,
HANADB 내의 JOB 스케줄을 동적으로 변경하여 비동기 처리를 할 수 있도록 했다.

이 기사에서는 HANADB에서 JOB 스케줄을 설정하는 방법에 대해 설명합니다.

SAPHANA의 job 정보



잡으로 할 수있는 일
  • 프로 시저 실행
  • XSJS 응용 프로그램 실행

  • ※cron과 같은 지정으로 처리를 실행할 수 있다
    ※ XSJS에서 스케줄을 동적으로 변경하여 비동기 처리 구현

    참조는 여기

    .xsjob 파일 및 실행 스크립트 배치


  • SAP HANA Web-Based Development Workbench -> Editor 화면에서 XS 응용 프로그램 만들기
  • 응용 프로그램의 루트 패키지 아래에 작업 디렉토리를 만듭니다.
  • .xsjob 파일과 JOB에서 실행되는 스크립트 작성



  • .xsjob 파일 내용

    insertTask.xsjob
    {
        "description": "test job",
        "action": "pkg.job:jobtest.xsjs::job_insertTask.xsjs",
        "schedules": [
           {
              "description": "test schedule",
              "xscron": "* * * * * * 59",
              "parameter": {
                 "param1" : "param Value"
                 }
           }
        ]
    }
    

    다음을 기재"action" : 실행하고 싶은 스크립트의 파일명"schedules" : JOB 스케줄 설정
       "xscron" :job의 실행 일시"parameter" :job에 인도하는 파라미터(※임의)

    XSjob 활성화 절차



    .xsjob 파일을 만든 후 SAP HANA의 관리 화면으로 이동

    HANA admin 화면에 들어가는 방법

    URL
     https://<당신의 HANADB 도메인>/sap/hana/xs/admin/

    권한
    로그인하는 사용자에게 다음 권한이 필요합니다.

    필요 권한
    sap.hana.admin.roles::Monitoring
    sap.hana.xs.admin.roles::HTTPDestAdministrator
    sap.hana.xs.admin.roles::HTTPDestViewer
    sap.hana.xs.admin.roles::JobAdministrator
    sap.hana.xs.admin.roles::JobSchedulerAdministrator
    sap.hana.xs.admin.roles::JobViewer
    sap.hana.xs.admin.roles::RuntimeConfAdministrator
    sap.hana.xs.admin.roles::RuntimeConfViewer
    sap.hana.xs.admin.roles::SAMLAdministrator
    sap.hana.xs.admin.roles::SAMLViewer
    sap.hana.xs.admin.roles::SQLCCAdministrator
    sap.hana.xs.admin.roles::SQLCCViewer
    sap.hana.xs.admin.roles::TrustStoreAdministrator
    sap.hana.xs.admin.roles::TrustStoreViewer
    sap.hana.xs.lm.roles::Administrator
    
  • 관리 화면에서 .xsjob 파일을 만든 디렉토리로 전환
    화면 왼쪽의 패키지에서 해당 경로로 이동
  • xsjob 설정 화면 열기
    만든 .xsjob 파일 선택
    구성 탭을 누릅니다.
  • 아래 그림 빨간색 프레임 부분에 필요한 항목을 입력합니다.
    USER : 작업을 실행하는 DB 사용자
    PASSWORD : DB 사용자 비밀번호
    ACTIVE : 작업을 활성화하려면 선택합니다.
  • 설정 저장
    footer의 Save 버튼 누르기
  • 메뉴에서 "XS Job Dashboard"를 누르십시오.
  • Scheduler Enabled의 체크를 유효하게 한다

  • .xsjob 설정 확인, 편집, 로그


  • 메뉴에서 "XS Job Dashboard"를 누르십시오.
  • 확인하고 싶은 Job을 선택
  • JobSchedule이 표시됨
  • 로그 확인 화면
    View Logs 클릭으로 실행 로그 화면을 볼 수 있습니다

  • 마지막으로



    비동기로 SQL을 실행하고 싶었기 때문에
    SQL용 스크립트를 작성하여 JOB로 등록 → XSJS로 동적으로 스케줄 작성
    라는 흐름으로 구현했습니다.

    XSC에서의 JOB등록 등은 별도 기사로 합니다.

    좋은 웹페이지 즐겨찾기