6장. 유용한 명령
다음은 유용한 명령의 세 가지 섹션입니다. 대부분의 경우 작업 또는 구성을 확인하는 데 도움이 됩니다. 예제는 응답과 함께 나열됩니다. 형식 지정 이유로 출력이 조정되는 경우도 있습니다.
-
<
sid>adm사용자가 실행할 때 이 문서에 나열된 모든 명령은 > 로시작합니다. -
root 사용자가실행하는 모든 명령은#로 시작합니다. -
명령을 실행하려면 접두사 > 또는
을 생략합니다.#
6.1. SAP HANA 명령 링크 복사링크가 클립보드에 복사되었습니다!
SAP HANA 명령은 < sid>adm 사용자가 실행합니다. 예제:
6.1.1. hdbclm을 사용한 SAP HANA 설치 링크 복사링크가 클립보드에 복사되었습니다!
세 번째 사이트의 설치는 두 번째 사이트의 설치와 유사합니다. root 사용자로 hdblcm 를 사용하여 설치를 수행할 수 있습니다. 이전에 아무것도 설치하지 않았는지 확인하려면 hdbuninst 를 실행하여 SAP HANA가 이 노드에 설치되어 있지 않은지 확인합니다.
HANA 제거의 출력 예:
cd /software/DATA_UNITS/HDB_SERVER_LINUX_X86_64 root@DC3/software/DATA_UNITS/HDB_SERVER_LINUX_X86_64# ./hdbuninst Option 0 will remove an already existing HANA Installation No SAP HANA Installation found is the expected answer
[root@remotehost3]# cd /software/DATA_UNITS/HDB_SERVER_LINUX_X86_64
root@DC3/software/DATA_UNITS/HDB_SERVER_LINUX_X86_64# ./hdbuninst
Option 0 will remove an already existing HANA Installation
No SAP HANA Installation found is the expected answer
DC3에 HANA 설치 출력 예:
설치가 시작되기 전에 요약이 나열됩니다.
설치를 시작하려면 y를 입력합니다.
6.1.2. hdbsql 을 사용하여 Inifile 콘텐츠 확인 링크 복사링크가 클립보드에 복사되었습니다!
6.1.3. 데이터베이스 확인 링크 복사링크가 클립보드에 복사되었습니다!
데이터베이스가 실행 중인지 확인하고 현재 기본 노드를 검색합니다.
데이터베이스 인스턴스 나열
출력이 녹색이면 인스턴스가 실행 중입니다.
데이터베이스 프로세스 나열
일반적으로 모든 데이터베이스 프로세스의 상태는 GREEN 입니다.
SAP HANA 프로세스 나열
SAP HANA 환경 구성 표시
반환 코드:
- 0: fatal
- 1: 오류
- 2: 경고
- 3 : 정보
- 4: OK
기본 데이터베이스 검색
clusternode1:rh2adm> hdbnsutil -sr_state | egrep -e "primary masters|^mode"
clusternode1:rh2adm> hdbnsutil -sr_state | egrep -e "primary masters|^mode"
보조 서버에서 확인의 예:
clusternode1:rh2adm> hdbnsutil -sr_state | egrep -e "primary masters|^mode" mode: syncmem primary masters: clusternode1
clusternode1:rh2adm> hdbnsutil -sr_state | egrep -e "primary masters|^mode"
mode: syncmem
primary masters: clusternode1
현재 주에서 검사의 예:
데이터베이스 버전 표시
SQL 쿼리 사용 예:
hdbsql RH2=> select * from m_database SYSTEM_ID,DATABASE_NAME,HOST,START_TIME,VERSION,USAGE "RH2","RH2","node1","2023-06-22 15:33:05.235000000","2.00.059.02.1647435895","CUSTOM" 1 row selected (overall time 29.107 msec; server time 927 usec)
hdbsql RH2=> select * from m_database
SYSTEM_ID,DATABASE_NAME,HOST,START_TIME,VERSION,USAGE
"RH2","RH2","node1","2023-06-22 15:33:05.235000000","2.00.059.02.1647435895","CUSTOM"
1 row selected (overall time 29.107 msec; server time 927 usec)
systemOverview.py 사용 예:
6.1.4. SAP HANA 시작 및 중지 링크 복사링크가 클립보드에 복사되었습니다!
옵션 1:HDB 명령
clusternode1:rh2adm> HDB help
Usage: /usr/sap/RH2/HDB02/HDB { start|stop|reconf|restart|version|info|proc|admin|kill|kill-<sig>|term }
kill or kill-9 should never be used in a productive environment!
clusternode1:rh2adm> HDB help
Usage: /usr/sap/RH2/HDB02/HDB { start|stop|reconf|restart|version|info|proc|admin|kill|kill-<sig>|term }
kill or kill-9 should never be used in a productive environment!
데이터베이스 시작
clusternode1:rh2adm> HDB start
clusternode1:rh2adm> HDB startCopy to Clipboard Copied! Toggle word wrap Toggle overflow 데이터베이스를 중지
clusternode1:rh2adm> HDB stop
clusternode1:rh2adm> HDB stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow
옵션 2 (권장): sapcontrol사용
clusternode1:rh2adm> sapcontrol -nr ${TINSTANCE} -function StartSystem HDB
03.07.2023 14:08:30
StartSystem
OK
clusternode1:rh2adm> sapcontrol -nr ${TINSTANCE} -function StartSystem HDB
03.07.2023 14:08:30
StartSystem
OK
clusternode1:rh2adm> sapcontrol -nr ${TINSTANCE} -function StopSystem HDB
03.07.2023 14:09:33
StopSystem
OK
clusternode1:rh2adm> sapcontrol -nr ${TINSTANCE} -function StopSystem HDB
03.07.2023 14:09:33
StopSystem
OK
GetProcessList 를 사용하여 HANA 서비스의 시작 및 중지를 모니터링합니다.
clusternode1:rh2adm> sapcontrol -nr ${TINSTANCE} -function GetProcessList
clusternode1:rh2adm> sapcontrol -nr ${TINSTANCE} -function GetProcessList
6.1.5. SAP HANA 시스템 복제 상태 확인 링크 복사링크가 클립보드에 복사되었습니다!
SAP HANA 시스템 복제 상태를 확인하는 방법은 여러 가지가 있습니다.
- 'clusternode1:rh2adm> python systemReplicationStatus.py ' 기본 노드의
-
clusternode1:rh2adm> echo $? #(systemReplicationStatus의 코드 반환) -
clusternode1:rh2adm> hdbnsutil -sr_state -
clusternode1:rh2adm> hdbnsutil -sr_stateConfiguration
모니터로 실행되는 systemReplicationStatus.py 출력의 예:
반환 코드에 대한 예상 결과는 다음과 같습니다.
- 10: NoHSR
- 11: 오류
- 12: 알 수 없음
- 13: 초기화
- 14: 동기화
- 15: active
대부분의 경우 시스템 복제 검사는 반환 코드 15 와 함께 반환됩니다. 또 다른 디스플레이 옵션은 -t (printLandscapeTree)를 사용하는 것입니다.
현재 기본 기본 출력의 예는 다음과 같습니다.
clusternode1:rh2adm> python systemReplicationStatus.py -t
HANA System Replication landscape:
DC1 ( primary )
| --- DC3 ( syncmem )
| --- DC2 ( syncmem )
clusternode1:rh2adm> python systemReplicationStatus.py -t
HANA System Replication landscape:
DC1 ( primary )
| --- DC3 ( syncmem )
| --- DC2 ( syncmem )
hdbnsutil -sr_state 의 예:
기본 설정의 sr_stateConfiguation 예:
보조에 대한 sr_stateConfiguration 의 예:
보조 데이터베이스에서 현재 기본 노드가 무엇인지 확인할 수도 있습니다. 장애 조치 중에 두 개의 기본 데이터베이스가 있으며 이 정보는 잠재적인 기본 데이터베이스가 잘못된지 결정하고 보조 데이터베이스로 다시 등록해야 합니다.During the failover it happens to have two primary databases and this information is needed to decide which potential primary database is wrong and needs to be re-registered as secondary.
자세한 내용은 예를 참조하십시오 . 기본 및 보조 시스템의 상태 점검을 참조하십시오.
6.1.6. 보조 노드 등록 링크 복사링크가 클립보드에 복사되었습니다!
SAP HANA 시스템 복제 환경에 대한 보조 데이터베이스를 등록하는 사전 조건:
등록 예:
등록하면 global.ini 파일이 자동으로 업데이트됩니다.
… 에서 다음을 수행합니다.
…:
6.1.7. sapcontrol GetProcessList 링크 복사링크가 클립보드에 복사되었습니다!
활성 SAP HANA 데이터베이스의 프로세스 확인
6.1.8. sapcontrol GetInstanceList 링크 복사링크가 클립보드에 복사되었습니다!
이렇게 하면 SAP HANA 데이터베이스의 인스턴스 상태가 나열됩니다. 포트도 표시됩니다. 상태 이름은 다음 세 가지가 있습니다.
- GREEN(실행 중)
- GRAY(중지됨)
- YELLOW(현재 상태 변경)
활성 인스턴스의 예:
중지된 인스턴스의 예:
6.1.9. hdbcons 예 링크 복사링크가 클립보드에 복사되었습니다!
또한HDB 콘솔을 사용하여 데이터베이스에 대한 정보를 표시할 수도 있습니다.
-
hdbcons -e hdbindexserver 'replication info' -
hdbcons -e hdbindexserver 도움말더 많은 옵션
'replication info'의 예:
도움말 예:
6.1.10. SAP HANA 백업 만들기 링크 복사링크가 클립보드에 복사되었습니다!
SAP HANA 시스템 복제를 사용하려면 먼저 기본 시스템에 백업을 만들어야 합니다.
이 작업을 수행하는 방법의 예는 사용자 < sid>adm:입니다.
clusternode1:rh2adm> hdbsql -i ${TINSTANCE} -u system -d SYSTEMDB "BACKUP DATA USING FILE ('/hana/backup/')"
clusternode1:rh2adm> hdbsql -i ${TINSTANCE} -u system -d ${SAPSYSTEMNAME} "BACKUP DATA USING FILE ('/hana/backup/')"
clusternode1:rh2adm> hdbsql -i ${TINSTANCE} -u system -d SYSTEMDB "BACKUP DATA USING FILE ('/hana/backup/')"
clusternode1:rh2adm> hdbsql -i ${TINSTANCE} -u system -d ${SAPSYSTEMNAME} "BACKUP DATA USING FILE ('/hana/backup/')"
6.1.11. 기본 데이터베이스에서 SAP HANA 시스템 복제 활성화 링크 복사링크가 클립보드에 복사되었습니다!
SAP HANA 시스템 복제를 기본 노드에서 활성화해야 합니다. 먼저 백업을 수행해야 합니다.
clusternode1:rh2adm> hdbnsutil -sr_enable --name=DC1 nameserver is active, proceeding ... successfully enabled system as system replication source site done.
clusternode1:rh2adm> hdbnsutil -sr_enable --name=DC1
nameserver is active, proceeding ...
successfully enabled system as system replication source site
done.
6.1.12. 보조 노드에 데이터베이스 키 복사 링크 복사링크가 클립보드에 복사되었습니다!
데이터베이스 키를 보조 데이터베이스로 등록하려면 먼저 주 데이터베이스에서 보조 데이터베이스로 복사해야 합니다.
예를 들면 다음과 같습니다.
clusternode1:rh2adm> scp -rp /usr/sap/${SAPSYSTEMNAME}/SYS/global/security/rsecssfs/data/SSFS_${SAPSYSTEMNAME}.DAT remotehost3:/usr/sap/${SAPSYSTEMNAME}/SYS/global/security/rsecssfs/data/SSFS_${SAPSYSTEMNAME}.DAT
clusternode1:rh2adm> scp -rp /usr/sap/${SAPSYSTEMNAME}/SYS/global/security/rsecssfs/key/SSFS_${SAPSYSTEMNAME}.KEY remotehost3:/usr/sap/${SAPSYSTEMNAME}/SYS/global/security/rsecssfs/key/SSFS_${SAPSYSTEMNAME}.KEY
clusternode1:rh2adm> scp -rp /usr/sap/${SAPSYSTEMNAME}/SYS/global/security/rsecssfs/data/SSFS_${SAPSYSTEMNAME}.DAT remotehost3:/usr/sap/${SAPSYSTEMNAME}/SYS/global/security/rsecssfs/data/SSFS_${SAPSYSTEMNAME}.DAT
clusternode1:rh2adm> scp -rp /usr/sap/${SAPSYSTEMNAME}/SYS/global/security/rsecssfs/key/SSFS_${SAPSYSTEMNAME}.KEY remotehost3:/usr/sap/${SAPSYSTEMNAME}/SYS/global/security/rsecssfs/key/SSFS_${SAPSYSTEMNAME}.KEY
6.1.13. SAP HANA 시스템 복제를 위한 보조 노드 등록 링크 복사링크가 클립보드에 복사되었습니다!
먼저 데이터베이스 키가 보조 노드에 복사되었는지 확인하십시오. 그런 다음 등록 명령을 실행합니다.
clusternode1:rh2adm> hdbnsutil -sr_register --remoteHost=remotehost3 --remoteInstance=${TINSTANCE} --replicationMode=syncmem --name=DC1 --remoteName=DC3 --operationMode=logreplay --online
clusternode1:rh2adm> hdbnsutil -sr_register --remoteHost=remotehost3 --remoteInstance=${TINSTANCE} --replicationMode=syncmem --name=DC1 --remoteName=DC3 --operationMode=logreplay --online
매개변수 설명:
-
remotehost: 소스 데이터베이스를 실행하는 활성 노드의 호스트 이름 (기본) -
remoteInstance: 데이터베이스의 인스턴스 번호 ReplicationMode: 다음 옵션 중 하나-
sync: 하드 디스크 동기화 -
Async: 비동기 복제 -
syncmem: 메모리 동기화
-
-
name: 이 복제 사이트의 별칭입니다. -
remoteName: 소스 데이터베이스의 별칭 이름 operationMode: 다음 옵션 중 하나-
delta_datashipping: 데이터가 주기적으로 전송됩니다. 테이버는 조금 더 오래 걸립니다. -
logreplay: 원격 사이트에서 즉시 로그가 빨간색됩니다. takeover가 더 빠릅니다. -
logreplay_readaccess: 두 번째 사이트에 대한 추가 logreplay 읽기 전용 액세스가 가능합니다.
-
6.1.14. SAP HANA 데이터베이스의 log_mode 확인 링크 복사링크가 클립보드에 복사되었습니다!
log_mode 를 설정하는 방법은 다음 두 가지가 있습니다.
-
log_mode=overwrite -
log_mode=normal: 이는 기본값이며 데이터베이스 인스턴스가 primary로 실행되는 경우에도 필요합니다. SAP HANA Multitarget 시스템 복제를 사용하면log_mode=normal를 사용해야 합니다.log_mode를 확인하는 가장 좋은 방법은hdbsql을 사용하는 것입니다.
잘못된 덮어쓰기 항목이 포함된 예:
이 경우 두 개의 global.ini 파일이 있습니다.
DEFAULT-
/usr/sap/${SAPSYSTEMNAME}/SYS/global/hdb/custom/config/global.ini
-
호스트-
/HANA/shared/${SAPSYSTEMNAME}/HDB$TINSTANCE}/${HOSTNAME}/global.iniHOST값은DEFAULT값을 덮어씁니다. 데이터베이스가 시작되기 전에 두 파일을 모두 확인한 다음hdbsql을 다시 사용하여 올바른 설정을 확인할 수도 있습니다. global.ini 파일을 편집하여log_mode를 변경할 수 있습니다.
-
예제:
clusternode1:rh2adm> vim /hana/shared/${SAPSYSTEMNAME}/HDB${TINSTANCE}/${HOSTNAME}/global.ini
# global.ini last modified 2023-04-06 16:15:03.521715 by hdbnameserver
[persistence]
log_mode = overwrite
clusternode1:rh2adm> vim /hana/shared/${SAPSYSTEMNAME}/HDB${TINSTANCE}/${HOSTNAME}/global.ini
# global.ini last modified 2023-04-06 16:15:03.521715 by hdbnameserver
[persistence]
log_mode = overwrite
global.ini last modified 2023-04-06 16:15:03.521715 by hdbnameserver [persistence] log_mode = normal
# global.ini last modified 2023-04-06 16:15:03.521715 by hdbnameserver
[persistence]
log_mode = normal
global.ini 파일을 확인하거나 업데이트한 후 log_mode 값을 확인합니다.
또한 섹션에서는 이 매개 변수를 [persistence] 섹션에 설정해야 함을 보여줍니다. 로그 모드를 덮어쓰기 에서 정상으로 변경하면 데이터베이스를 복구할 수 있도록 전체 데이터 백업을 생성하는 것이 좋습니다.
6.1.15. 기본 데이터베이스 검색 링크 복사링크가 클립보드에 복사되었습니다!
예를 들어 기본 노드를 식별하는 방법은 여러 가지가 있습니다.
-
pcs status | grep Promoted -
hdbnsutil -sr_stateConfiguration -
systemReplicationStatus.py
옵션 1 - systemReplicationStatus.py 스크립트 및 필터의 다음 예제에서는 모든 노드의 기본 데이터베이스 위치를 반환합니다.
clusternode1:rh2adm>
/usr/sap/$SAPSYSTEMNAME/HDB${TINSTANCE}/exe/Python/bin/python
/usr/sap/$SAPSYSTEMNAME/HDB${TINSTANCE}/exe/python_support/systemReplicationStatus.py --sapcontrol=1 | egrep -e
"3${TINSTANCE}01/HOST|PRIMARY_MASTERS"| head -1 | awk -F"=" '{ print $2 }'
clusternode1:rh2adm>
/usr/sap/$SAPSYSTEMNAME/HDB${TINSTANCE}/exe/Python/bin/python
/usr/sap/$SAPSYSTEMNAME/HDB${TINSTANCE}/exe/python_support/systemReplicationStatus.py --sapcontrol=1 | egrep -e
"3${TINSTANCE}01/HOST|PRIMARY_MASTERS"| head -1 | awk -F"=" '{ print $2 }'
출력:
clusternode2
clusternode2
옵션 2 - 다음 예제에서는 모든 노드에 대해 비슷한 방식으로 systemReplicationStatus 를 표시합니다.
rh2adm>hdbnsutil -sr_state --sapcontrol=1 | grep site.*Mode
rh2adm>hdbnsutil -sr_state --sapcontrol=1 | grep site.*Mode
출력:
6.1.16. 기본 가져 오기 링크 복사링크가 클립보드에 복사되었습니다!
기본 노드와 보조 노드를 확인하려면 복제 상태 확인 섹션을 참조하십시오. 또한 다음도 참조하십시오.
- 클러스터를 유지 관리 모드로 설정
- 보조 노드에서 takeover를 시작합니다.
클러스터에 대한 유지보수 모드를 활성화하는 예는 다음과 같습니다.
pcs property set maintenance-mode=true
[root@clusternode1]# pcs property set maintenance-mode=true
새 기본이 될 보조 항목에서 < sidadm> 사용자로 실행합니다.
clusternode1:rh2adm> hdbnsutil -sr_takeover
clusternode1:rh2adm> hdbnsutil -sr_takeover
이 보조 데이터베이스는 기본이 되고, 다른 활성 보조 데이터베이스는 새 주 데이터베이스에 다시 등록되며 이전 주 데이터베이스를 보조 서버로 수동으로 다시 등록해야 합니다.
6.1.17. 이전 기본 사항을 보조로 다시 등록 링크 복사링크가 클립보드에 복사되었습니다!
클러스터가 중지되었거나 유지 관리 모드로 전환 되었는지 확인하십시오. 예제:
clusternode2:rh2adm> hdbnsutil -sr_register --remoteHost=remotehost3 --remoteInstance=${TINSTANCE} --replicationMode=syncmem --name=DC2 --online --remoteName=DC3 --operationMode=logreplay --force_full_replica --online
clusternode2:rh2adm> hdbnsutil -sr_register --remoteHost=remotehost3 --remoteInstance=${TINSTANCE} --replicationMode=syncmem --name=DC2 --online --remoteName=DC3 --operationMode=logreplay --force_full_replica --online
예제에서는 전체 복제를 사용하고 있습니다. SAP HANA 시스템 관리자는 전체 복제가 필요한 시기를 알아야 합니다.
6.1.18. 장애 조치에서 복구 링크 복사링크가 클립보드에 복사되었습니다!
SAP HANA 시스템 복제 상태 확인 및 기본 노드 검색을 참조하십시오. 정보가 일관되게 유지되는 것이 중요합니다. 노드가 systemReplicationStatus.py 출력에 포함되지 않고 시스템 복제 상태가 다른 경우 이 노드를 다시 등록해야 하는 경우 데이터베이스 관리자에게 확인하십시오.
이 문제를 해결하는 한 가지 방법은이 사이트를 새로운 보조로 다시 등록하는 것입니다.
경우에 따라 보조 인스턴스가 표시되지 않는 경우가 있습니다. 그런 다음 다시 등록하기 전에 이 사이트를 등록 취소합니다. 보조 DC1 등록 취소의 예:
clusternode1:rh2adm> hdbnsutil -sr_unregister --name=DC1
clusternode1:rh2adm> hdbnsutil -sr_unregister --name=DC1
DC1 재등록 예:
clusternode1:rh2adm> hdbnsutil -sr_register --name=DC1 --remoteHost=node2 --remoteInstance=02 --replicationMode=sync --operationMode=logreplay --online
clusternode1:rh2adm> hdbnsutil -sr_register --name=DC1 --remoteHost=node2 --remoteInstance=02 --replicationMode=sync --operationMode=logreplay --online
데이터베이스를 시작하고 실행 중인지 확인해야 합니다. 마지막으로 복제 상태를 확인합니다.