Skip to main content
SnapManager for SAP
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

샘플 플러그인 스크립트를 봅니다

기여자

SnapManager에는 스크립트를 직접 만드는 방법이나 사용자 지정 스크립트의 기반으로 사용할 수 있는 스크립트가 포함되어 있습니다.

  • 이 작업에 대한 정보 *

샘플 플러그인 스크립트는 다음 위치에서 찾을 수 있습니다.

  • '<default_install_directory>/plugins/examples/backup/create'

  • '<default_install_directory>/plugins/examples/clone/create'

  • '<default_install_directory>/plugins/unix/examples/backup/create/post'

샘플 플러그인 스크립트가 포함된 디렉토리에는 다음 하위 디렉토리가 포함됩니다.

  • '정책': 구성된 경우 항상 클론 작업에서 실행되는 스크립트를 포함합니다.

  • 사전: 구성된 경우 클론 작업 전에 실행되는 스크립트가 포함되어 있습니다.

  • 게시물: 구성된 경우 클론 작업 후에 실행되는 스크립트를 포함합니다.

다음 표에는 샘플 스크립트에 대한 설명이 나와 있습니다.

스크립트 이름 설명 스크립트 유형입니다

"validate_sid.sh"를 선택합니다

대상 시스템에서 사용되는 SID에 대한 추가 검사를 포함합니다. 스크립트는 SID에 다음과 같은 특성이 있는지 확인합니다.

  • 세 개의 영숫자 문자를 포함합니다

  • 문자로 시작합니다

  • 예약된 SAP SID는 포함되지 않습니다

정책

"정리.sh"

새로 생성된 클론을 저장할 준비가 되도록 타겟 시스템을 정리합니다. 필요에 따라 파일 및 디렉토리를 보존하거나 삭제합니다.

사전 작업

'sap_follow_up_activities.sh'를 선택합니다

SAP System Copy Guide_ 및 TR-3442, SAP with Oracle on UNIX, NFS and NetApp Storage에 설명된 대로 후속 작업 작업을 수행합니다. 예를 들어 이 스크립트는 SAP 스키마의 테이블 항목을 삭제하거나 수정합니다.

작업 후

OS_db_authentication.sh를 선택합니다

SAP Note 316641에서 권장하는 대로 OPS$ 사용자에 대한 운영 체제 인증을 조정합니다. 다음은 외부 SQL 파일을 처리하는 방법의 예입니다.

작업 후

'Mirror_the_backup.sh'를 선택합니다

7-Mode에서 운영 중인 Data ONTAP 또는 clustered Data ONTAP을 사용하는 UNIX 환경에서 백업 작업이 발생한 이후에 볼륨을 미러링합니다.

작업 후

'볼트_백업_씨닷시'

클러스터 Data ONTAP를 사용할 때 UNIX 환경에서 백업 작업 후 백업을 보관합니다.

작업 후

SnapManager와 함께 제공되는 스크립트는 기본적으로 Bash 셸을 사용합니다. 예제 스크립트를 실행하기 전에 운영 체제에 Bash 셸에 대한 지원이 설치되어 있는지 확인해야 합니다.

단계
  1. Bash 셸을 사용 중인지 확인하려면 명령 프롬프트에 다음 명령을 입력합니다.

    ``bash *’

    오류가 표시되지 않으면 Bash 셸이 제대로 작동하고 있는 것입니다.

    또는 명령 프롬프트에 "어떤 -bash" 명령을 입력할 수도 있습니다.

  2. 다음 디렉터리에서 스크립트를 찾습니다.

    '<installdir>/plugins/examples/clone/create'

  3. vi와 같은 스크립트 편집기에서 스크립트를 엽니다.


샘플 스크립트

다음 샘플 사용자 지정 스크립트는 데이터베이스 SID 이름의 유효성을 검사하고 복제된 데이터베이스에서 잘못된 이름이 사용되지 않도록 합니다. 여기에는 세 가지 작업(확인, 설명 및 실행)이 포함되며 이 작업은 스크립트를 실행한 후에 호출됩니다. 이 스크립트에는 코드 0, 4 및 > 4의 오류 메시지 처리 기능도 포함되어 있습니다.

EXIT=0
name="Validate SID"
description="Validate SID used on the target system"
parameter=()

# reserved system IDs
INVALID_SIDS=("ADD" "ALL" "AND" "ANY" "ASC"
              "COM" "DBA" "END" "EPS" "FOR"
              "GID" "IBM" "INT" "KEY" "LOG"
              "MON" "NIX" "NOT" "OFF" "OMS"
              "RAW" "ROW" "SAP" "SET" "SGA"
              "SHG" "SID" "SQL" "SYS" "TMP"
              "UID" "USR" "VAR")
function _exit {
     rc=$1
     echo "Command complete."
    	return $rc}

function usage {
     echo "usage: $(basename $0) { -check | -describe | -execute }"
     _exit 99}

function describe {
    	echo "SM_PI_NAME:$name"
    	echo "SM_PI_DESCRIPTION:$description"
    	_exit 0}

function check {
    	_exit 0}

function execute {
    	IFS=\$ myEnv=$(env)
     for a in ${paramteter[@]}; do
       		key=$(echo ${$a} | awk -F':' '{ print $1 }')
         val=$(echo $myEnv | grep -i -w $key 2>/dev/null | awk -F'=' '{ print $2 }')

       		if [ -n "$val" ] ; then
              state="set to $val"
       		else
           			state="not set"
           			#indicate a FATAL error, do not continue processing
           			((EXIT=+4))
		       fi
         echo "parameter $key is $state"
     done

	######################################################################
	# additional checks
 # Use SnapManager environment variable of SM_TARGET_SID

	if [ -n "$SM_TARGET_SID" ] ; then
  		if [ ${#SM_TARGET_SID} -ne 3 ] ; then
        echo "SID is defined as a 3 digit value, [$SM_TARGET_SID] is not valid."
        EXIT=4
    else
        echo "${INVALID_SIDS[@]}" | grep -i -w $SM_TARGET_SID >/dev/null 2>&1
     			if [ $? -eq 0 ] ; then
            echo "The usage of SID [$SM_TARGET_SID] is not supported by SAP."
        				((EXIT+=4))
  		fi
	fi
	else
   		echo "SM_TARGET_SID not set"
     EXIT=4
	fi  _exit $EXIT}

# Include the 3 required operations for clone plugin
case $(echo "$1" | tr [A-Z] [a-z]) in
  -check )        check     ;;
  -describe )     describe  ;;
  -execute )      execute   ;;     	* )
		 echo "unknown option $1"    usage 		;;
esac

  • 관련 정보 *