# tcpdump 일반 구문
# tcpdump [option] [expression] [host]
# host가 10.123.45.67인 패킷 중 eth1을 통해 송수신되는 패킷 캡쳐
tcpdump -i eth1 host 10.123.45.67
# 인터페이스 eth1을 통해 송수신 되는 패킷을 캡쳐하여 capture.pcap 파일에 저장
tcpdump -i eth1 -r capture.pcap
# 인터페이스 eth2를 통해 송수신 되는 패킷의 자세한 정보를 캡쳐하여 detail_capture.pcap 파일에 저장
tcpdump -i eth2 -vv detail_capture.pcap
4. tcpdump 옵션 및 예제
tcpdump 사용시 많이 사용 하는 옵션
## tcpdump -i [interface]
# 접속 인터페이스 옵션으로 [interface]를 경유하는 패킷을 캡쳐
# 인터페이스 eth1을 경유하는 패킷 캡쳐
tcpdump -i eth1
# 인터페이스 ens224를 경유하는 패킷 캡쳐
tcpdump -i ens224
## tcpdump -w [file]
# 쓰기 옵션으로, 캡쳐한 패킷을 분석해 출력하는 대신 [file]로 저장
# 캡쳐한 패킷을 capture.pcap 파일에 저장
tcpdump -r capture.pcap
## tcpdump -r [file]
# 읽기 옵션으로, -w 옵션을 이용해 생성한 [file]을 읽을 수 있다.
# 패킷을 캡쳐해 파일을 우선 생성한 뒤, 해당 옵션을 이용해 읽는 명령어
# -w 옵션을 사용해 생성한 파일 capture.pcap 읽기
tcpdump -r capture.pcap
## tcpdump -n | -nn
# 패킷을 출력시, ip, address를 hostname으로, port는 잘 알려진 프로토콜로 출력하지 않음
# -nn 옵션 미사용시 (Wellknown port인 https로 표현)
tcpdump
16:53:59.513734 IP 10.123.243.2.https < 10.123.243.3.37978: Flag ~
# -nn 옵션 사용시 (포트 번호인 443으로 표현)
tcpdump
16:53:59.513734 IP 10.123.243.2.443 < 10.123.243.3.37978: Flag ~
## tcpdump -v
# 세부 정보 옵션으로 표시될 패킷 정보의 세부 정도를 결정
## tcp dump -vv
# -v 옵션보다 더 많은 수준의 정보를 제공
tcpdump
17:18:33.335389 IP 10.123.45.678.59228 > hsg07s55-in-f14.1e100.net.https: Flags [.], ack 2020704443, win 6172, options [nop,nop,TS val 3703095522 ecr 2592716460], length 0
# Source IP, Destination IP, Protocol 등 기본적인 내용
tcpdump -v
17:18:49.471437 IP (tos 0x0, ttl 64, id 58615, offset 0, flags [DF], proto TCP (6), length 1452)
10.123.45.678.51694 > hsg07s55-in-f14.1e100.net.https: Flags [.], cksum 0x0fd6 (correct), seq 3655913527:3655914927, ack 3852274365, win 29052, options [nop,nop,TS val 613567533 ecr 65989289], length 1400
# Source IP, Destination IP, Protocol, Source MAC, Destination MAC, Type of linke 등
tcpdump -vv
17:18:54.840046 IP (tos 0x0, ttl 64, id 22935, offset 0, flags [DF], proto TCP (6), length 52)
10.123.45.678.61857 > hsg07s55-in-f14.1e100.net.https: Flags [.], cksum 0xf881 (correct), seq 4122856888, ack 3635517398, win 7258, options [nop,nop,TS val 1753827895 ecr 547629078], length 0
# 패킷의 모든 필드를 포함하여, 프레임 길이, 프로토콜 버전, 플래그 등과 같은 자세한 정보
# tcpdump -s [PacketSize]
## snapshot lenght 옵션으로 캡쳐할 패킷의 사이즈를 지정할 수 있다.
## 기본값은 0으로 이는 전체 패킷 내용을 포함시킨다.
# 캡쳐하는 패킷의 사이즈를 65,535 Byte로 지정 (65,535는 -s 옵션으로 지정 가능한 최대 값)
tcpdump -s 65535
Certain system settings are the same for all systems within a transport domain, such as the transport routes
To achieve this, one SAP System in the transport domain has the reference configuration, with all other SAP Systems in the transport domain taking copies of this reference configuration.
The system with the reference is known as the Transport Domain Controller.
SAP HANA System Replication ( HSR ) is a mechanism ensuring the high availability of you SAP system. HSR이란 HANA System의 고가용성을 보장하기 위한 매커니즘 이다.
System replication is SAP's recommended configuration for addressing SAP HANA Outage reduction due to planed maintenance, faults, and disasters. SR은 계획된 유지 관리, 결함, 재난에 대응하여 서비스 중단 시간을 줄이기 위해 SAP에서 권장하는 구성이라고 볼 수 있다.
2. System replication 동작 원리
HANA System Replication이 활성화 되면, Secondary DB의 각 서버 프로세스들이 Primary DB와 연결되고 데이터 스냅샷을 요청한다.
그 이후, Primary DB에서의 모든 변경 로그들을 지속적으로 복제한다.
Redo log가 복제되기 전 가지는 Primary DB의 트랜잭션은 커밋되지 않고, 이는 SR 구성시 설정하는 복제 모드 설정에 의해 결정된다.
System Replication이 수행되는 동안, Secondary DB는 Standby 상태로 유지되고 takeover 발생시 Primary DB의 역할을 넘겨 받아 Active DB로서의 역할을 한다. ( 일반적으로 Primary DB는 Active DB, Secondary DB는 Standby DB라고 부른다. )
Primary DB에 문제가 발생하면 Secondary DB는 복제모드가 아닌 운영모드로 전환 ( takeover )되며, 이슈가 발생한 DB가 정상화 되면 이를 Secondary DB로서 유지하거나 기존의 구성으로 되돌린다.
3. 이외의 구성
System Replication을 이용해 2 tier가 아닌 Active <-> Standby <-> DR ( Disaster Recovery ) 형태의 3 tier로 구성하는 것이 일반적이다.
Secondary DB는 Primary DB를 복제하고, DR DB는 Secondary DB를 복제한다. ( 보통 Sync / Async Mode의 차이를 두며 관련 내용은 이후 포스팅 예정 )
물론, Secondary DB와 Third DB가 모두 Primary DB를 복제하는 Multitarget System Replication 구성도 가능하다. ( 해당 기능의 경우 HANA version에 따라 지원 가능 여부 확인이 필요하다. )
오류 내용 : Oracle VM VirtualBox 7.0.14 needs the Microsoft Visual C++ 2019 Redistributable Package being installed first. Please install and restart the installation of Oracle VM VirtualBox 7.0.14
2. 원인 및 해결 방안
VM VirtualBox를 사용하기 위해서는 Microcosf Visual C++ 2019 설치가 선행되어야 한다.
따라서, 아래 URL로 이동하여 Microsoft Visual C++ 2019를 우선 설치 한 뒤, VirtualBox를 설치하면 된다.
SAP HANA Database Users may be technical users or correspond to real end users.
HANA DB Users는 기술 사용자이거나 실제 사용자 유저 (End User)를 의미한다.
사용자들이 SAP HANA를 이용해 작업을 (업무) 수행하고자 할 때, 필요한 권한을 가진 계정을 소유하고 있어야 한다.
2. User Type
- Database Users that Correspond to Real People
사용자가 SAP HANA를 이용해 업무를 처리하기 위해서는 관리자 계정을 통해 생성 된 계정을 사용해야 한다.
사용자가 그룹을 떠날 경우 해당 계정은 삭제 (Drop) 되며, 계정이 소유하고 있던 오브젝트 또한 삭제된다. 또한, 계정으로 부여한 권한은 자동으로 회수된다.
Databasse User들은 CREATE USER 혹은 CREATE RESTRICTED USER 명령어를 이용해 생성된다.
1) Standard Users
- 해당 유저는 CREATE USER 구문을 통해 생성되어 기본적으로 그들 소유의 schema를 생성할 수 있고 시스템 뷰의 데이터를 읽을 수 있는 계정이다.
- 시스템 뷰에 접근하여 읽을 수 있는 권한은 PUBLIC role을 가지고 있으며, 해당 role은 모든 standard user에게 주어진다.
2) Restricted users
- 해당 유저는 CREATE RESTRICCTED USERS 구문을 통해 생성 되어, 기본적으로 아무 권한도 가지지 않은 계정이다.
- 해당 유저는 Client Application을 통해 SAP HANA에 접근하거나, full SQL 사용을 의도하지 않는 사용자들을 위한 것이다.
- 사용자 업무를 위해 특정 권한이 필요한 경우 해당 업무를 위한 권한만을 부여하는 것이 일반적이다.
- Technical Database Users
해당 계정은 실 사용자에 상응하지 않는 계정으로, 사용자가 그룹을 떠나더라도 삭제되지 않는다.
즉, 해당 계정은 사용자를 위해 생성된 것이 아닌 관리자 업무를 위해 존재하는 계정으로 특정 사용자만을 위한 것이 아니다.
3. Standard User
SAP HANA를 설치, 업그레이드, 운영하기 위해 필요한 Standard User는 아래와 같다.
실제 본인이 운영하면서 가장 많이 접하게 되는 계정은 SYSTEM이고 조금 딥(?)하게 공부할 필요가 있다고 생각되는 계정들은 (*) 표시 된 계정이다. ( 만약, 좀 더 정확한 정보를 원한다면 아래의 Ref 를 참고하자 )
User
Description
(*) SYSTEM
SAP HANA 설치 단계에서 생성 되는 계정으로 다른 데이터 베이스 계정, 테이블 생성 등등의 매우 강력한 권한을 소유한 파워 유저이다.
이외에도, SAP HANA cockpit을 사용할 수 있도록 자동으로 cockpit 관련 몇몇 권한이 해당 계정에 부여되어 있다.
<sid>adm
운영 시스템 사용자로 보통 시스템 운영 관리자로 불리기도 한다. 해당 계정은 SAP SYSTEM의 모든 로컬 자우너에 제한 없이 접근 할 수 있다.
(*) SYS
시스템 테이블, 모니터링 뷰와 같은 데이터베이스 객체를 소유한 테크니컬 데이터베이스 유저이다.
XSSQLCC_AUTO_USER <generated_ID>
SQL Connection을 위해 자동으로 생성되는 테크니컬 계정으로 설정을 위해 명시된 권한을 자동으로 부여 받는다.
_SYS_AFL
어플리케이션 함수 라이브러리 ( Application Function Libraries )에 관한 모든 객체를 소유한 테크니컬 유저이다.
_SYS_EPM
SAP Performance Management application에 의해 사용되는 테크니컬 유정다.
(*)_SYS_REPO
SAP HANA Repository에 의해 사용되는 테크니컬 유저로 아래의 Repository의 모든 객체를 소유하고 있다.
The Repository는 attribute views, analytic views, calculation views, procedures, analytic privileges, roles과 같은 다양한 객체가 포함된 패키지들로 구성되었다.
(*)_SYS_STATISTICS
SAP HANA DB의 internal monitoring mechanism에 의해 사용되는 계정으로, 쉽게 말해 데이터베이스의 상태, 성능, 리소스 사용량 등을 수집하여 필요시 alert을 띄워준다. (일반적으로 데이터베이스 모니터링 시 high alert을 주의 깊게 보는데 해당 역할을 수행하는데 도움을 주는 계정이다. )