2 CDS 관리

CDS에는 중요한 데이터가 포함되어 있으므로 CDS 관리 작업은 매우 중요합니다. 다음 절에서는 CDS를 보호하는 방법과 하나 이상의 CDS 복사본을 손실한 경우 복구하는 방법에 대해 설명합니다. CDS 계획 및 생성에 대한 자세한 내용은 Configuring HSC and VTCS를 참조하십시오.

CDS 백업

모든 CDS 복사본을 사용할 수 없는 경우(기본, 보조 및 대기 복사본을 손실한 경우) 백업에서 CDS를 복원해야 합니다. 비ELS 기능(예: 디스크 미러링), 타사 백업 소프트웨어(예: IBM DFSMSdss 및 Innovation FDR) 또는 타사 특정 시점 복사 소프트웨어(예: IBM FlashCopy)를 사용하여 CDS를 백업할 수 있습니다. 하지만 이러한 방법으로는 CDS 일관성과 무결성이 보장되지 않으므로 Oracle은 이러한 방법을 권장하지 않습니다.

대신 다음과 같은 CDS 백업 방법을 권장합니다.

  • 스냅샷 백업 생성 기능을 사용할 수 있는 경우 CDS 일관성이 유지된 후 해당 유틸리티를 호출하는 HSC PITCOPY 유틸리티를 사용하십시오. 특히 큰 CDS의 경우 표준 BACKUP 유틸리티에 비해 백업 시간이 현저히 단축됩니다.

  • 스냅샷 백업 생성 기능을 사용할 수 없는 경우 HSC BACKUP 유틸리티를 사용하십시오.

백업 빈도

Oracle은 최소한 매일 CDS를 백업할 것을 권장합니다. CDS 로깅을 사용하는 경우 복구 중 복구용 백업 파일에 해당하는 로그 오프로드 파일을 선택할 수 있도록 CDS를 백업한 후 바로 로그 파일 오프로드 작업도 실행해야 합니다.

또한 다음 등의 구성 변경 및 기타 중요한 이벤트에 앞서 CDS를 백업해야 합니다.

  • SLUADMIN SET 유틸리티 실행

  • VTCS CONFIG 유틸리티 실행

  • CDS 이동

  • CDS 확장

  • CDS 병합

PITCOPY 함수의 경우 HSC가 활성 상태가 아니어도 됩니다. 단, HSC가 활성 상태가 아닌 경우 CDS 데이터 세트에 대한 DD 문을 제공해야 합니다.

PITCOPY를 사용하여 CDS 백업

PITCOPY 유틸리티는 다음과 같은 스냅샷 메소드를 지원합니다.

  • StorageTek SVAA 스냅샷(SIBBATCH)

  • DFSMSdss 스냅샷/DFSMSdss FlashCopy(ADRDSSU)

  • FDR 적용 스냅샷(FDRSNAP)

필요한 JCL DD 문 및 제어 카드에 대해서는 사용자 환경의 유틸리티 설명서를 참조하십시오.

SLUADMIN 유틸리티 및 스냅샷 유틸리티에 필요한 DD 문 이외에 PITCOPY 함수에는 다음 DD 문이 필요합니다.

  • SLSPARMP: 환경에서 SLSCNTL로 정의된 데이터 세트를 백업할 스냅샷 제어문을 포함하는 데이터 세트입니다.

  • SLSPARMS: 환경에서 SLSCNTL2(있을 경우)로 정의된 데이터 세트를 백업할 스냅샷 제어문을 포함하는 데이터 세트입니다.

  • SLSPARMB: 환경에서 SLSSTBY(있을 경우)로 정의된 데이터 세트를 백업할 스냅샷 제어문을 포함하는 데이터 세트입니다.

  • SYSIN: PITCOPY 유틸리티가 읽고 쓸 수 있는 데이터 세트로 정의되어야 합니다.

PITCOPY 함수의 경우 HSC가 활성 상태가 아니어도 됩니다. 단, HSC가 활성 상태가 아닌 경우 CDS 데이터 세트에 대한 DD 문을 제공해야 합니다.

다음 예에서는 모든 PIT 복사 메소드에 필요한 일반 JCL을 보여줍니다.

//PITCOPY EXEC PGM=SLUADMIN,PARM='MIXED'
//STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
//* If HSC IS NOT OR MAY NOT BE ACTIVE, INCLUDE THE 
//* FOLLOWING:
//SLSCNTL DD DSN=primary.cds.name,DISP=SHR
//SLSCNTL2 DD DSN=secondary.cds.name,DISP=SHR
//SLSSTBY   DD DSN=standby.cds.name,DISP=SHR
//SLSPARMP DD DSN=hlq.PARMLIB(BKPCNTL),DISP=SHR
//SLSPARMS DD DSN=hlq.PARMLIB(BKPCNTL2),DISP=SHR
//SLSPARMB DD DSN=hlq.PARMLIB(BKPSTBY),DISP=SHR
//SYSIN          DD UNIT=SYSDA,SPACE=(TRK,1)
//* THE FOLLOWING IS USED BY THE SNAPSHOT UTILITY:
//SYSPRINT  DD  SYSOUT=* 
//SLSPRINT   DD SYSOUT=* 
//SLSIN         DD *
 PITCOPY METHOD=(SIBBATCH|ADRDSSU|FDRSNAP)

추가 JCL 요구 사항은 사용 중인 스냅샷 유틸리티에 대한 사용 설명서를 참조하십시오.

  • SLSPARMP, SLSPARMS 및 SLSPARMB의 제어 카드는 스냅샷 기능 호출에 필요한 제어 카드입니다. 필요한 제어 카드의 형식은 사용 중인 스냅샷 유틸리티에 대한 사용 설명서를 참조하십시오. PITCOPY 유틸리티를 사용하면 일련화가 수행되므로 데이터 세트에서 대기열에 넣지 않도록 요청하는 제어 카드 옵션을 사용해야 합니다.

BACKup 유틸리티를 사용하여 CDS 백업

BACKup 유틸리티 실행:

  1. SLSBKUP 데이터 세트를 할당합니다.

    CDS보다 약간 커야 합니다. 크기는 발견된 불일치 수에 따라 다릅니다. 단, 권장 크기는 현재 CDS보다 5% 큰 크기입니다.

    백업 데이터 세트의 형식이 RECFM=F, BLKSIZE=4096으로 지정됩니다. 논리 레코드 길이는 LRECL=0일 수 있습니다. 이 경우 LRECL=0은 블록 크기를 기본값으로 설정함을 나타냅니다.

  2. BACKup 유틸리티를 실행합니다.

    데이터를 SLSBKUP 데이터 세트에 복사할 수 있도록 충분히 오랫동안 CDS가 예약 상태로 지정됩니다. 백업 처리 중에는 다른 함수가 CDS 데이터 세트에 액세스할 수 없습니다.

  • HSC가 활성 상태가 아닌 경우 JCL에서 SLSCNTL, SLSCNTL2 및 SLSSTBY DD 문을 지정하여 백업에 사용할 기본, 보조 및 대기 CDS를 식별해야 합니다.

  • HSC가 활성 상태이며 JCL에서 SLSCNTL, SLSCNTL2 및 SLSSTBY DD 문을 지정하여 백업에 사용할 기본, 보조 및 대기 CDS를 식별하면, 유틸리티가 실행 중인 호스트에서 HSC가 활성 상태인 경우에도 DD 문이 사용됩니다. HSC가 활성 상태이며 해당 DD 문이 생략된 경우 유틸리티가 실행 중인 호스트에서 활성 HSC가 사용하는 데이터 세트가 사용됩니다.

    기본, 보조 및 대기 CDS 백업용 JCL 예:

    //JOBBKUP   job (account),programmer 
    //S1        EXEC PGM=SLUADMIN,PARM=MIXED 
    //STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
    //SLSBKUP   DD DSN=backup.dataset.name(+1),DISP=(NEW,CATLG,DELETE),
    //             UNIT=SYSDA,SPACE= 
    //SLSCNTL   DD DSN=primary.dataset.name,DISP=SHR 
    //SLSCNTL2 DD DSN=secondary.dataset.name,DISP=SHR
    //SLSSTBY DD DSN=standby.dataset.name,DISP=SHR
    //SLSPRINT  DD SYSOUT=A 
    //SLSIN     DD * 
      BACKUP 
    

CDS 로깅 관리

HSC 트랜잭션 로깅 서비스는 1개(또는 선택적으로 2개)의 로그 파일에 정보를 기록하는 내부 HSC 서비스입니다. 모든 CDS 복사본을 사용할 수 없는 경우(기본, 보조 및 대기 복사본을 손실한 경우) 백업에서의 복구 작업이 오래 걸릴 수 있습니다. 백업에서 복구할 때 CDS 로깅을 사용하면 CDS와 VSM 부속 시스템의 데이터 컨텐츠를 다시 동기화할 수 있습니다. 처음으로 구성에서 로깅을 설정하는 경우 Configuring HSC and VTCS를 참조하십시오. 다음 절에서는 CDS 로깅 관리 방법에 대해 설명합니다.

주:

로그 파일을 사용하여 복구할 때는 최신 버전의 데이터에 대한 액세스를 복원하기 위해 로그 데이터가 분석되고 필요한 MVC 감사문이 구성됩니다. 이 단계에서는 CDS가 실패 전 상태 그대로 복구되지 않습니다! 예를 들어, VTV가 여러 MVC에 존재할 수 있습니다. 감사 작업에서는 해당 VTV의 모든 복사본에 대한 액세스를 복구하지만 복사본이 CDS 손실 전과 동일한 MVC에 존재하지 않을 수도 있습니다. CDS 로깅은 CDS를 조금씩 복구하기 위한 것이 아니라 데이터에 대한 액세스를 복구하기 위한 것입니다!

주기적으로 로그 파일 오프로드

로그 파일이 가득 쌓여 로깅이 중지되지 않도록 주기적으로 로그 파일을 오프로드해야 합니다. 최상의 오프로드 방법은 다음과 같습니다.

  • 주기적으로 로그 파일을 오프로드하도록 PROC를 설정합니다. 정상 작동 또는 최고 작동 상태에서 로그 파일을 채우는 데 걸리는 시간을 확인하기 위해 잠깐 동안 시험해 본 후 해당 간격으로 로그 오프로드를 실행합니다.

  • 로그 파일 데이터 세트가 70% 채워지기 시작했다고 표시하는 SLS1781E 메시지를 가로채기 위해 자동 작동 패키지를 설정하는 것도 좋습니다.

  • 복구 중 복구용 백업 파일에 해당하는 로그 오프로드 파일을 선택할 수 있도록 주기적 CDS 백업을 실행할 때 로그 파일 오프로드가 실행되도록 예약해야 합니다.

  • CDS가 손실된 경우(세 가지 복사본이 모두 손실된 경우) 또는 특정 원인으로 CDS를 신뢰할 수 없는 경우 로그 파일 오프로드를 시도하지 마십시오. 대신 "CDS 복원"을 참조하십시오.

로그 파일 확장 또는 재할당

로그 파일을 확장해야 하거나 특정 원인으로 재할당해야 하는 경우 다음 작업을 수행하십시오.

  1. 새 로그 파일을 만들고 형식을 지정합니다.

    할당되는 로그 파일의 크기는 시스템에서 생성하는 트랜잭션 수와 오프로드 수행 빈도에 따라 다릅니다. Oracle은 몇 가지 테스트 로그 파일을 할당 및 활성화하고 채우기 빈도를 결정한 후 운용 로그 파일 크기를 결정할 것을 제안합니다.

    샘플 JCL:

    //FMTLOG  JOB (account),REGION=1024K
    //S1 EXEC PGM=SLUADMIN,PARM=MIXED
    //STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
    //SLSLOG1 DD DSN=hlq.CDSLOG1,DISP=(,CATLG,DELETE),
    // UNIT=SYSDA,SPACE=(CYL,100)
    //SLSLOG2 DD DSN=hlq.CDSLOG2,DISP=(,CATLG,DELETE),
    // UNIT=SYSDA,SPACE=(CYL,100)
    //SLSPRINT DD SYSOUT=*
    //SLSIN DD *
    FMTLOG
    
  2. SET LOGFILE을 실행하여 새 로그 파일을 지정합니다.

    샘플 JCL:

    //SETLOG  JOB (account),REGION=1024K
    //S1 EXEC PGM=SLUADMIN,PARM=MIXED
    //STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
    //SLSPRINT DD SYSOUT=*
    //SLSIN DD *
    SET LOGFILE(hlq.CDSLOG1,hlq.CDSLOG2)
    
  3. OFFLOAD LOGFILE을 실행하여 이전 로그 파일을 오프로드합니다.

    //JOBOFFL job (account),programmer 
    //S1        EXEC PGM=SLUADMIN,PARM=MIXED 
    //STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
    //SLSOFFLD DD DSN=offload.dataset.name(+1),DISP=(NEW,CATLG,DELETE),
    //             UNIT=SYSDA,SPACE= 
    //SLSCNTL   DD DSN=primary.dataset.name,DISP=SHR 
    //SLSCNTL2 DD DSN=secondary.dataset.name,DISP=SHR
    //SLSSTBY DD DSN=standby.dataset.name,DISP=SHR
    //SLSPRINT  DD SYSOUT=A 
    //SLSIN     DD * 
    OFFLOAD LOGFILE 
    

    그러면 HSC가 새 로그 파일로 자동으로 전환됩니다.

수동으로 다른 CDS 복사본으로 전환

"CDS 백업"에 설명된 대로 CDS 복사본을 여러 개 지정하는 경우 기본 CDS가 실패하면 HSC가 자동으로 다른 CDS 복사본으로 전환합니다. 수동으로 다른 CDS 복사본으로 전환하는 데는 몇 가지 이유가 있습니다. 기본적으로 다음 경우 중 하나에 해당합니다.

  • CDS 이동 및/또는 확장 작업을 수행하려는 경우

  • HSC가 자동으로 CDS 복사본을 전환한 후 사용자가 이전 기본 복사본을 삭제하고 재할당한 후 다시 채우려는 경우. 재할당된 기본 CDS를 사용으로 설정하면 HSC가 백업 복사본에서 해당 CDS로 유효한 CDS 데이터를 다시 복사합니다.

CDS ENABLE/DISABLE 명령을 사용하여 CDS 복사본을 전환, 확장 또는 이동할 수 있습니다. 자세한 내용은 ELS Command, Control Statement, and Utility Reference를 참조하십시오.

CDS 확장

CDS EXpand 명령을 사용하여 VOLPARM 데이터, VTCS CONFIG 데이터 또는 원격 보관된 볼륨 데이터를 CDS에 추가할 수 있습니다. CDS 크기를 늘려야 할 수 있는 다른 구성 변경 사항(예: LIBGEN이 FUTRACS 및 FUTRLSM 매개변수를 사용하지 않은 경우 새 ACS 및 LSM 추가)을 적용하려면 CDS EXpand 명령 대신 다른 메소드를 사용해야 합니다. 자세한 내용은 Configuring HSC and VTCS의 "Reconfiguring a TapePlex"를 참조하십시오.

주의:

오라클은 모든 CDS 복사본을 백업한 후 CDS EXpand 명령을 실행할 것을 권장합니다. 확장 작업 중 실패하는 경우 일반적으로 CDS를 사용하지 못하게 됩니다. 따라서 확장 작업 중 실패하는 경우 CDS의 최신 복사본을 사용할 수 있도록 CDS EXpand 명령을 호출하기 전에 CDS를 백업해야 합니다.

CDS EXpand 지침은 다음과 같습니다.

  • CDS EXpand 명령을 사용할 때 HSC가 활성 상태여야 하며 테이프가 작동 중일 수 있습니다.

  • 여러 호스트에서 동시에 CDS Enable 및/또는 Disable 명령을 실행하지 마십시오. 실행하는 경우 HSC가 오류 메시지를 표시할 수 있습니다. 오류 메시지가 표시되면 ELS Messages and Codes를 참조하여 사용자 작업이 필요한지 여부를 결정하십시오.

  • 확장 작업 결과와 일치하도록 필요에 따라 HSC PARMLIB에서 CDSDEF 제어문을 업데이트합니다.

  • 보다 큰 미리 할당된 데이터 세트로 CDS를 복원하는 작업을 통해서는 CDS를 동적으로 확장할 수 없습니다. 추가 공간이 포맷되지 않은 상태이므로 그대로 사용할 수 없습니다.

  • Oracle은 동일한 양의 DASD 공간을 사용하여 모든 CDS를 할당할 것을 권장합니다. CDS의 사용 가능한 공간은 DASD 공간 할당이 가장 작은 CDS에 적합한 4096바이트 블록 수에 따라 결정됩니다.

모든 CDS를 확장하려면 다음과 같이 하십시오.

  1. CDS DISABLE 명령을 사용하여 각 CDS를 한 번에 하나씩 사용 안함으로 설정합니다.

  2. 기본 공간 수량을 늘려 각 CDS를 재할당합니다.

    보조 공간 수량을 지정하지 마십시오. 모든 CDS에는 확장 영역이 하나만 있어야 합니다.

  3. CDS ENABLE 명령을 사용하여 각 CDS를 다시 사용으로 설정합니다.

  4. CDS EXpand 명령을 입력합니다.

    HSC에서 확인된 모든 CDS(사용으로 설정된 모든 CDS)가 한 번의 CDS EXpand 명령 호출로 동시에 확장됩니다.

CDS 교체

CDS 이름은 CDS 자동 또는 수동 전환으로 인해 변경되지 않습니다. 일련의 CDS Disable 및 Enable 명령을 사용하여 순서를 복원하고 데이터 세트 이름과 예상 역할을 일치시킬 수 있습니다.

CDS를 교체하려면 다음과 같이 하십시오.

  1. CDS 표시 명령을 입력하여 CDS의 현재 상태 및 지정을 확인합니다.

    SYS000001 = ELS.SYSCNTL2
    PRIVOL = PROD02 FLAGS(40) ACTIVE
    SYS000002 = ELS.SYSCNTL
    SECVOL = PROD01 FLAGS(40) ACTIVE
    

    SYSCNTL(원래 기본)이 보조로 설정되고 SYSCNTL2(원래 보고)가 기본으로 설정되었음을 알 수 있습니다.

  2. 현재 기본을 사용 안함으로 설정합니다.

    CDS DISABLE PRIMARY
    

    ELS.SLSCNTL2가 사용 안함으로 설정되고 ELS.SLSCNTLT가 기본으로 바뀝니다.

  3. 새 활성 보조로 ELS.SLSCNTL2를 다시 사용으로 설정합니다.

    CDS ENABLE DSN(ELS.SLSCNTL2)
    
  4. CDS 표시 명령을 입력하여 CDS가 교체되었는지 확인합니다.

    SYS000001 = ELS.SYSCNTL
    PRIVOL = PROD02 FLAGS(40) ACTIVE
    SYS000002 = ELS.SYSCNTL2
    SECVOL = PROD01 FLAGS(40) ACTIVE
    

CDS 이름 바꾸기

다음과 같은 두 가지 방법으로 CDS의 이름을 바꿀 수 있습니다.

  • CDS DisableEnable 명령을 사용하여 HSC 중지 없이 이름을 바꿉니다.

  • HSC를 중지하고 BACKupRESTore 유틸리티를 사용하여 이름을 바꿉니다.

BACKupRESTore 유틸리티를 사용하는 경우 HSC를 중지해야 한다는 분명한 단점이 있지만 CDS 백업본이 만들어진다는 이점도 있습니다.

CDS Disable 및 Enable 명령을 사용하여 CDS 이름 바꾸기

명령을 사용하여 CDS 이름을 바꾸려면 다음과 같이 하십시오.

  1. 모든 호스트에서 이름을 바꿀 CDS를 사용 안함으로 설정합니다.

    예를 들면 다음과 같습니다.

    CDS DISABLE DSN(ACS.DBASEOLD)
    
  2. CDS가 포함된 데이터 세트의 이름을 바꿉니다.

    예를 들어, ACS.DBASEOLDACS.DBASECPY로 이름을 바꿉니다.

  3. 새 이름으로 CDS를 사용으로 설정합니다.

    예를 들면 다음과 같습니다.

    CDS ENABLE DSN(ACS.DBASECPY)
    

    이름이 바뀐 CDS에 대해 Enable 명령이 실패하는 경우 명령이 실행되기 전 상태로 CDS 정의가 복원됩니다. 활성 CDS와의 일관성이 유지되도록 HSC PARMLIB에서 CDSDEF 제어문을 수정합니다.

    CDS 이름이 DHB(데이터베이스 하트비트) 레코드에 기록됩니다. HSC 초기화 중 DHB의 데이터 세트 이름이 HSC PARMLIB의 CDSDEF 제어문에서 지정된 데이터 세트 이름과 비교됩니다.

    CDSDEF 문에서 지정된 데이터 세트 이름이 DHB에 기록된 CDS 이름과 일치하지 않을 경우 해당 CDS가 사용 안함으로 설정됩니다. 지정된 모든 CDS가 사용 안함으로 설정되면 HSC가 초기화되지 않습니다. 사용으로 설정된 CDS를 기본, 보조 및 대기 CDS에 특별히 지정하는 작업은 데이터베이스 하트비트 레코드에 기록된 CDS 지정을 기반으로 합니다.

    CDS의 이름을 바꿔야 하는 경우 아래의 이름 바꾸기 절차에 설명된 대로 HSC BACKup 및 RESTore 유틸리티를 사용하십시오. MVS, TSO ISPF 또는 타사 유틸리티를 사용하여 BACKup 및 RESTore 유틸리티를 실행하지 않은 상태로 CDS의 이름을 바꾸지 마십시오.

CDS 재배치

CDS를 재배치하려면 다음과 같이 하십시오.

  1. 모든 호스트에서 재배치할 CDS를 사용 안함으로 설정합니다.

    예를 들면 다음과 같습니다.

    CDS DISABLE DSN(ACS.DBASECPY)
    
  2. 적절한 CDS 속성을 사용하여 새 데이터 세트를 할당합니다.

    자세한 내용은 Configuring HSC and VTCS를 참조하십시오.

  3. 2단계에서 할당된 데이터 세트가 속한 CDS를 사용으로 설정합니다.

    예를 들면 다음과 같습니다.

    CDS ENABLE DSN(ACS.DBASENEW)NEWLOC
    

    주:

    지정되지 않은 경우 MVS에서 카탈로그 서비스를 사용하여 볼륨 및 장치 정의를 확인합니다.

    이름 바꾸기 또는 재배치 작업이 실패하는 경우 명령이 실행되기 전 상태로 CDS 정의가 복원됩니다. 활성 CDS와의 일관성이 유지되도록 CDSDEF 제어문을 수정합니다.

카탈로그화가 취소된 CDS 복사본 재배치

ACS.DBASECPY가 사용 안함으로 설정되고 삭제(또는 카탈로그화 취소)되었으며 ACS.NOTCATLG가 할당되고 카탈로그화되었다고 가정합니다. 다음 명령은 카탈로그화가 취소된 CDS 복사본을 재배치합니다.

CDS ENABLE DSN(ACS.NOTCATLG) NEWVOL(HSC001),NEWUNIT(ABC)

이 명령에서 CDS 정의와의 일관성이 유지되도록 CDSDEF 제어문을 수정합니다. 이름 바꾸기 또는 재배치 작업이 실패하는 경우 명령이 실행되기 전 상태로 CDS 정의가 복원됩니다.

CDS 스왑

HSC 명령 또는 유틸리티를 사용하여 CDS를 재배치하는 것과는 다르게, 데이터 세트 사용자에게 영향을 끼치지 않고 특정 위치에서 다른 위치로 디스크 데이터 세트를 스왑할 수 있도록 해주는 다양한 타사 소프트웨어 제품이 있습니다. HSC 및 VTCS 유틸리티가 항상 새 CDS 위치를 사용할 수 있게 TDMF, FDRPAS 또는 P/DAS 스왑 작업이 수행된 후 몇 초 이내에 CDS에 저장된 장치 주소 정보를 동적으로 업데이트하도록 HSC가 향상되었습니다.

이 향상된 기능으로 인해 제한 없이 CDS를 이동할 수 있는 것은 아닙니다. PPRC 또는 스왑 작업 이외의 다른 방법으로 CDS를 이동하려면 CDS의 VOLSER를 변경해야 합니다. CDS의 VOLSER가 변경되는 경우 기존 CDS의 SLUADMIN BACKup 및 RESTore 프로세스를 통해 장치 주소 및 볼륨 일련 번호 정보를 재설정해야 합니다.

CDS 복원

모든 CDS 복사본을 사용할 수 없는 경우(기본, 보조 및 대기 복사본을 손실한 경우) 백업에서 CDS를 복원해야 합니다. CDS 복사본 하나를 손실한 경우(복사본이 여러 개 있으면) CDS ENABLE/DISABLE 명령을 사용하여 유효한 복사본에서 실행을 계속하고 오류가 있는 복사본을 다시 만들 수 있습니다. 자세한 내용은 "수동으로 다른 CDS 복사본으로 전환"을 참조하십시오.

주의:

CDS의 모든 복사본을 손실한 경우 실제로 백업에서 CDS를 복원해야 하는지 확인하고 필요에 따라 복원 프로세스를 지원 받으려면 오라클 소프트웨어 지원 센터에 문의하십시오.

주:

  • CDS 백업을 만들 때 PITCOPY를 사용했든 SLUADMIN BACKUP을 사용했든 상관없이 복원 프로세스는 동일합니다.

  • 복원을 수행하기 전에 손상된 CDS의 백업을 새로 수행하거나 현재 모든 CDS 복사본의 이름을 바꿔 이후 분석을 위해 보존해야 합니다.

백업 복사본에서 CDS 복원

백업 복사본에서 CDS를 복원하려면 다음과 같이 하십시오.

  1. HSC가 활성 상태인 호스트가 있을 경우 활성 HSC 시스템을 중지합니다.

    로깅이 사용으로 설정된 경우 계속해서 단계 2를 수행하여 VSM 데이터를 재동기화합니다. 그렇지 않은 경우 단계 3을 수행합니다.

  2. CDS에 액세스할 수 있을 경우 일반 로그 파일 오프로드 작업을 실행합니다.

    이 오프로드는 마지막 오프로드 이후의 VSM 작동을 캡처합니다.

    //JOBOFFL job (account),programmer 
    //S1        EXEC PGM=SLUADMIN,PARM=’execution parameters’ 
    //STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
    //SLSOFFLD DD DSN=offload.dataset.name(+1),DISP=(NEW,CATLG,DELETE),
    //             UNIT=SYSDA,SPACE= 
    //SLSCNTL   DD DSN=primary.dataset.name,DISP=SHR 
    //SLSCNTL2 DD DSN=secondary.dataset.name,DISP=SHR
    //SLSSTBY DD DSN=standby.dataset.name,DISP=SHR
    //SLSPRINT  DD SYSOUT=A 
    //SLSIN     DD * 
    OFFLOAD LOGFILE 
    

    CDS에 액세스할 수 없을 경우 LOGDSN 매개변수를 사용하여 로그 파일을 오프로드합니다. 일반 CDS 로깅 프로세스에서는 CDS에 저장된 로그 정보를 사용합니다. CDS에 액세스할 수 없을 경우 LOGDSN 매개변수로 지정한 현재 로그 파일에 있는 로깅 정보를 사용해야 합니다.

    //JOBOFFL job (account),programmer 
    //S1        EXEC PGM=SLUADMIN,PARM=’execution parameters’ 
    //STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
    //SLSOFFLD DD DSN=offload.dataset.name(+1),DISP=(NEW,CATLG,DELETE),
    //             UNIT=SYSDA,SPACE= 
    //SLSPRINT  DD SYSOUT=A 
    //SLSIN     DD * 
    OFFLOAD LOGFILE LOGDSN(hsc.log1)
    

    주:

    CDS에 액세스할 수 없을 경우 LOGDSN 옵션을 사용하지 않은 상태로 CDS를 복원한 후 OFFLOAD LOGFILE 유틸리티를 실행하려고 시도하면 오프로드가 실패하거나 잘못된 로그 오프로드 파일이 만들어질 수 있으므로 유의하십시오.
  3. 마지막으로 알려진 올바른 백업에서 CDS를 복원합니다.

    //JOBREST job (account),programmer 
    //S1        EXEC PGM=SLUADMIN,PARM=’execution parameters’ 
    //STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
    //SLSBKUP   DD DSN=backup.dataset.name(0),DISP=SHR
    //SLSCNTL   DD DSN=primary.dataset.name,DISP=SHR 
    //SLSCNTL2 DD DSN=secondary.dataset.name,DISP=SHR
    //SLSSTBY DD DSN=standby.dataset.name,DISP=SHR
    //SLSPRINT  DD SYSOUT=A 
    //SLSIN     DD * 
     RESTORE 
    

    주의:

    RESTORE JCL에서는 사용 중인 모든 HSC 데이터 세트(기본, 보조, 대기)를 지정해야 합니다.

    자세한 내용은 ELS Command, Control Statement, and Utility Reference를 참조하십시오.

    주:

    로컬/원격 링크 라이브러리가 서로 독립적으로 CDS를 실행하는 경우 BACKup 및 RESTore를 실행하기 위해 특별한 예방 조치를 취해야 합니다. 로컬 및 원격 라이브러리를 연결하는 링크가 중단되는 경우 이러한 예방 조치를 따라야 합니다. 자세한 내용은 ELS Legacy Interfaces Reference를 참조하십시오.

    복구를 위해 로그 파일을 사용 중인 경우 계속해서 4단계를 수행합니다. 그렇지 않을 경우 9단계로 이동합니다.

  4. 복원된 CDS가 올바른 로그 파일 정보를 참조하고 있는지 확인합니다.

    • SET LOGFILE(OFF)을 실행합니다.

      //SETLOG  JOB (account),REGION=1024K
      //S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
      //STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
      //SLSPRINT DD SYSOUT=*
      //SLSIN DD *
      SET LOGFILE(OFF)
      
    • FMTLG 유틸리티를 실행하여 로그 파일의 형식을 다시 지정합니다.

      //FMTLOG  JOB (account),REGION=1024K
      //S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
      //STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
      //SLSLOG1 DD DSN=hlq.CDSLOG1,DISP=(,CATLG,DELETE),
      // UNIT=SYSDA,SPACE=(CYL,100)
      //SLSLOG2 DD DSN=hlq.CDSLOG2,DISP=(,CATLG,DELETE),
      // UNIT=SYSDA,SPACE=(CYL,100)
      //SLSPRINT DD SYSOUT=*
      //SLSIN DD *
      FMTLOG
      
    • SET LOGFILE을 다시 실행하여 새로 초기화된 로그 파일의 이름을 지정합니다.

      //SETLOG  JOB (account),REGION=1024K
      //S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
      //STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
      //SLSPRINT DD SYSOUT=*
      //SLSIN DD *
      SET LOGFILE(hlq.CDSLOG1,hlq.CDSLOG2)
      
  5. LOGUTIL 명령을 실행하여 복구에 필요한 AUDIT MVC 명령으로 데이터 세트를 생성하고 해당 데이터 세트에서 명령을 실행합니다.

    다음 예에서는 2009년 5월 12일 오후 10시에 마지막으로 알려진 올바른 CDS 백업이 생성되었다고 가정합니다.

    • LOGIN 문은 마지막으로 알려진 올바른 백업으로 만들어진 로그 파일부터 시작하여 2에서 만든 로그 파일로 끝나는 각 오프로드 로그 파일에 대한 DD 문을 지정합니다.

    • LOGUTIL GENAUDITRECVCMD를 VSM 데이터 복구 명령이 포함된 데이터 세트의 DD 이름으로 지정합니다.

      //JOBLOGR job (account),programmer,REGION=1024k
      //S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
      //STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
      //LOGIN        DD DSN=offload.dataset.name(-2),DISP=OLD
      //             DD DSN=offload.dataset.name(-1),DISP=OLD
      //             DD DSN=offload.dataset.name(0),DISP=OLD
      //RECVCMD      DD DSN=offload.dataset.genaudit,DISP=(,CATLG,DELETE),
      //                UNIT=SYSDA,SPACE=
      //SLSPRINT DD SYSOUT=*
      //SLSIN DD *
      LOGUTIL FROMDATE(2009-5-12) FROMTIME(22:00:00)  LOGDD(LOGIN)
      GENAUDIT COMMANDS(RECVCMD)
      
  6. 현재 VTCS 구성에 LOGPOL=REQUIRED가 지정된 경우 다음과 같이 합니다.

    CONFIG GLOBAL 문에서 LOGPOL=OPTIONAL을 지정하고 CONFIG를 실행하여 VTCS 구성에서 일시적으로 로깅을 사용 안함으로 설정합니다. HSC/VTCS가 활성 상태가 아닌 동안 MVCMAINT 명령을 성공적으로 실행하려면 이 작업을 수행해야 합니다.

  7. 감사 대상 MVC를 읽기 전용 상태로 설정합니다.

    HSC/VTCS가 비활성 상태인 감사 대상 MVC에 대해 MVCMAINT READONLY(ON) 명령을 실행합니다. 그러면 HSC/VTCS가 활성 상태일 때 MVC가 사용되지 않습니다.

    //JOBAUDIT job (account),programmer,REGION=1024K
    //S1 EXEC PGM=SLUADMIN,PARM='execution parameters'
    //STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
    //SLSPRINT DD SYSOUT=*
    //SLSIN DD *
    MVCMAINT READONLY(ON) MVC( +
    mvc1 +
    mvc2 +
    …    +
    mvcn +
         )
    
  8. VTCS 구성에서 LOGPOL=REQUIRED가 필요한 경우 다음과 같이 합니다.

    CONFIG GLOBAL 문에서 LOGPOL=REQUIRED를 지정하고, (위의) 6단계에서 LOGPOL=OPTIONAL이 일시적으로 지정된 경우 CONFIG를 실행합니다.

  9. 하나의 호스트에서 HSC를 다시 시작하되 테이프 작동은 시작하지 않습니다.

  10. CDS의 비VSM 부분을 복구하려면 모든 ACS에서 SLUADMIN AUDIT를 실행합니다.

    //JOBAUDIT job (account),programmer,REGION=1024k
    //S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
    //STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
    //SLSPRINT DD SYSOUT=*
    //SLSIN DD *
    AUDIT ALL
    

    주:

    라이브러리 감사가 시작되면 11단계, 12단계 및 13단계를 동시에 실행할 수 있습니다.
  11. 모든 VTSS를 감사합니다.

    
    //JOBAUDITV job (account),programmer,REGION=1024k
    //S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
    //STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
    //SLSPRINT DD SYSOUT=*
    //SLSIN DD *
    AUDIT VTSS(VTSS0,VTSS1)
    
  12. 스크래치 동기화를 실행합니다.

    SLUCONDB를 실행하여 HSC 스크래치 상태를 TMS와 동기화합니다. 자세한 내용은 ELS Command, Control Statement, and Utility Reference를 참조하십시오. LCM을 사용 중인 경우 LCM 사용 설명서에서 동등한 LCM 유틸리티를 참조하십시오.

  13. 로깅을 사용 중인 경우 단계 5에서 만든 데이터 세트에서 복구 명령을 사용하여 영향을 받는 MVC를 감사합니다.

    //JOBRMVC job (account),programmer,REGION=1024k
    //S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
    //STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
    //SLSIN DD DSN=offload.dataset.genaudit,DISP=SHR
    //SLSPRINT DD SYSOUT=*
    

    로깅을 사용 중이 아닌 경우 감사해야 할 MVC를 결정하는 데 도움이 필요하면 오라클 소프트웨어 지원 센터에 문의하십시오.

  14. 모든 호스트에서 HSC를 시작합니다.

  15. 테이프 작동을 다시 시작합니다.