SAP HANA hdbsql 사용법__How to use SAP HANA hdbsql

감귤은탱귤·2025년 1월 21일
0

SAP HANA - 기본 개념

목록 보기
9/9

hdbsql 은 SAP HANA DB 에서 명령을 실행하는 Command-line 도구이다.

hdbsql 을 사용하여, Command-line 으로 SQL 문과 DB 프로시저를 실행하고, DB 와 객체에 대한 정보를 쿼리할 수 있다.

SAP HANA 소프트웨어, SAP HANA Client 설치 시, 함께 설치되어 제공되며, 자주는 아니지만 가끔씩 사용할 일이 있으니, 해당 글을 참고하여 필요한 명령어를 조합하면 된다.



1. hdbsql 을 사용한 Database 로그인(접속)

기본적으로 hdbsql 을 통해 DB 에 접속하는 명령어는 다음과 같다. (Multitenant Database Container, MDC)

hdbsql -n <Host> -i <Instance_number> -u <Database_user> -p <Database_user_password> -d <Database_name>

또는, 서버에 저장된 hdbusersotre 자격증명을 통해서 DB 유저/패스워드를 입력하지 않고도 로그인할 수 있다.
hdbsql -U <hdbuserstore_KEY>

hdbuserstore 자격증명 KEY 이름은 hdbuserstore list 명령어를 통해서 확인할 수 있다.



2. hdbsql 옵션

hdbsql 에서 추가적인 옵션을 통해 더 자세한 정보를 제공하거나, 입출력 설정을 할 수 있다.

여기서는 많이 사용되고 주요한 옵션에 대해서만 기록한다.
모든 옵션은 아래 SAP Help Portal 에서 확인할 수 있다.

2-1. 데이터베이스 세션 (Database Session)

OptionDesc
-d-d <database-name>
MDC 시스템에서 TENANT DB 이름을 지정
-i-i <Instance Number>
시스템 인스턴스 번호 지정
-n-n <Host>[:<Port>] / 기본값 localhost:30015
시스템이 설치된 컴퓨터 이름과 포트번호를 지정
-u-u <Database-User>
특정 DB 유저를 지정
-p-p <Database-User Password
특정 DB 유저의 패스워드를 지정
-U-U <User-store-KEY>
User Store 자격 증명 지정
-r기본으로 준비된 명령문을 사용하는 대신 SQL 문을 직접 실행
-S-S <SQL-Mode>
SQL 모드 선택 : INTERNAL / SAPR3
-stdinhdbsql 입력에서 표준 입력을 받을 수 있는 옵션
텍스트 파일에 민감 정보를 입력하고, 해당 파일을 입력으로 전달해줄때 사용
ex) `
-V-V <Variable-definition>[,...] [prompt] or [noprompt]
변수 지정
-zAUTOCOMMIT 모드 비활성화

2-2. 입출력 (Input/Output)

OptionDesc
-c-c <separator> / 기본값 ;
파일에서 명령어를 가져올때, 개별 명령을 구분하는 구분자 지정.
-l-l <File>
배치 파일에서 명령을 가져오며, 구분자(기본값 ;)를 사용해 개별 명령을 구분한다.
-mhdbsql 명령어 입력 시, Multiple-Line Mode 활성화
-o-o <Result-File>
실행 결과를 지정한 파일에 기록
-O-O <Result-File>
실행 결과를 지정한 파일에 추가한다. 파일이 없으면 새 파일을 생성하여 기록
-quiethdbsql 시작 배너 미표시
-resultencoding-resultencoding <Encoding-Type>
결과 데이터에 대해서 Encoding 설정 (UTF-8/ LATIN1/ AUTO)

2-3. 출력 형식 (Formatting Output)

OptionDesc
-A정렬된 형식으로 실행 결과를 출력
-a실행 결과에서 Column(열) 이름 제외
-b-b <maximum-length> or all / 기본값 32byte
LOB값 출력 문자 제한, all 지정 시, 전체 바이너리 길이 표시
-Cescape 출력 형식 제한
-f전송된 모든 SQL 문 반환
-F-F <separator>
실행 결과에서 열 사이 구분기호 문자 지정
-g-g <Null-value> / 기본값 ?
실행 결과에서 Null 값에 대한 문자 지정

2-4. 기타

OptionDesc
-t디버그 정보 출력
-T-T <File>
SQLDBC 추적을 활성화하여, Trace 결과를 지정한 파일에 기록
-vSAP HANA hdbsql 프로그램 버전 정보 표시


3. hdbsql 사용 예제

기본적으로 모든 정보와 명령은 hdbsql 을 사용하여 확인할 수 있다.

그러나, 대부분의 경우는 SAP HANA Studio 또는 SAP HANA Cockpit 으로 쉽게 확인할 수 있으며,
이러한 도구의 사용이 제한될 경우에 hdbsql 을 사용하여 정보 조회나 명령 실행이 가능하다.

3-1. SAP HANA Backup

OS 상에서 BACKUP 구문을 스크립트로 생성하여, HANA DB 백업을 수행할 수 있다.

◼ SYSTEM DB Backup

hdbsql -d SYSTEMDB -i <Instance_number> -u SYSTEM -p <password> "BACKUP DATA USING FILE ('/hana/backup/')"

◼ TENANT DB Backup

hdbsql -d <TENANTDB_Name> -i <Instance_number> -u SYSTEM -p <password> "BACKUP DATA USING FILE ('/hana/backup/')"

3-2. SAP HANA Recovery

다음 구문으로, OS 상의 기존재하는 백업 파일을 사용해 hdbsql 로 복구가 가능하다.

◼ 특정 시점 복구

hdbsql -d SYSTEMDB -i <Instance_number> -u SYSTEM -p <password> "RECOVER DATABASE FOR <TENANTDB_Name> UNTIL TIMESTAMP '2000-01-01 00:00:00' CHECK ACCESS ALL"

3-3. 그외 다양한 SQL 명령어

모든 SQL Statement 는 아래 SAP Help Portal 에서 확인할 수 있다.

◼ ALTER DATABASE Statement (Tenant Database Management)
◼ ALTER SYSTEM ... (All ALTER SYSTEM Statements)
◼ ALTER TABLE Statement (Data Definition)
◼ ALTER USER Statement (Access Control)
◼ BACKUP DATA Statement (Backup and Recovery)
◼ CONNECT Statement (Session Management)
◼ CREATE DATABASE Statement (Tenant Database Management)
◼ CREATE TABLE Statement (Data Definition)
◼ CREATE USER Statement (Access Control)
◼ DELETE Statement (Data Manipulation)
◼ DROP DATABASE Statement (Tenant Database Management)
◼ DROP TABLE Statement (Data Definition)
◼ DROP USER Statement (Access Control)
◼ EXPORT Statement (Data Import Export)
◼ GRANT Statement (Access Control)
◼ IMPORT Statement (Data Import Export)
◼ INSERT Statement (Data Manipulation)
◼ RECOVER DATABASE Statement (Backup and Recovery)
◼ RENAME DATABASE Statement (Tenant Database Management)
◼ RENAME TABLE Statement (Data Definition)
◼ REVOKE Statement (Access Control)
◼ SELECT Statement (Data Manipulation)
◼ UPDATE Statement (Data Manipulation)

profile
SAP BC (2019 ~ )

0개의 댓글

관련 채용 정보