[Linux&Unix] 시스템 관리 - vmstat
·
OS_Linux&Unix
[vmstat]- Linux/Unix 기반 OS에서 시스템의 전반적인 성능을 모니터링하기 위해 사용되는 명령어- process, memory, Swap(paging), block IO, trap, disk, cpu activity 에 대한 통계를 보고한다.- VM 이라고해서 Virtual Machine 을 생각했지만, virtual memory 이며 물리서버 및 가상서버 (리눅스, 유닉스) 모두에서 사용할 수 있는 커맨드다. [기본 사용 옵션]vmstat [options] [delay [count]]ex)$ vmstat 2 5 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----  r  b   swpd   free..
[AIX] 백그라운드 자동 실행 설정 - /etc/inittab
·
OS_Linux&Unix
[/etc/inittab 기능]init 프로세스 동작 방식 정의 하는 구성 OS구성파일- 일반 프로세스의 디스패쳐- 실행 레벨 설정 파일- OS가 시작 될 때, 어떤 프로세스를 실행시켜야되는지 정의하는 파일- 실행 방식 설정 (once 또는 respawn)- 시스템 초기화 순서 관리- getty 프로세스를 통해 터미널을 초기화* Dispatcher 란?더보기사용자가 프로그램을 실행하면 프로세스가 생성되고 Ready상태가 된다.(Ready Queue) 그 후 스케줄러가 Ready Queue에 있는 프로세스 중 하나를 프로세서(CPU)가 사용가능한 상태가 될 때 CPU를 할당해준다.  이를 준비상태(Ready)에서 실행상태(Running)로 상태전이(State Transition)된다고 한다. 이 과정을 디..
[PostgreSQL] 데이터베이스 관리 - 권한
·
DB_postgreSQL
이번 고객사 미팅을 통해서 새롭게 알게된 점은, 데이터 연동을 필요로 하는 솔루션(ex. 대시보드)이 종종 있다는 것.새로운 고객사 협력업체가 우리쪽 데이터를 원한다거나, 함께 작업할 개발자나 엔지니어가 나의 데이터를 원한다면, DB 권한 관리의 필요성이 점점 느껴지고 있다.개인 또는 회사의 데이터베이스에 모든 권한을 주게 된다면, 탈취/삭제 등의...... 따라서 접속 권한을 부여받은 임시 계정과 필요한 데이터를 조회할 수 있는 SELECT 권한만 줘야되는 것을 잊어서 안된다.1. 사용자(계정) 생성CREATE USER [USER명] LOGIN PASSWORD '[PASSWD]';2. 데이터베이스 연결(접속) 권한 부여GRANT CONNECT ON DATABASE [데이터베이스명] TO [사용자명];3..
[PostgreSQL] 데이터베이스 관리 - 테이블스페이스
·
DB_postgreSQL
[왜 TableSpaces 를 나눌까?]PostgreSQL의 테이블스페이스는 데이터베이스 관리자가 데이터베이스 객체를 나타내는 파일을 저장할 수 있는 파일 시스템의 위치를 정의할 수 있게 한다. 생성된 경우 테이블스페이스는 데이터베이스 객체 생성 시 이름으로 참조가 가능하다.[PostgreSQL 에서 테이블스페이스를 사용함으로써 'Disk Layout' 을 제어할 수 있게 된다.]- 1. 클러스터가 초기화된 파티션 또는 볼륨 공간이 고갈되어 확장이 불가능한 경우, 다른 파티션에 테이블스페이스를 생성하고 시스템이 재인식될 때까지 사용할 수 있어진다. - 2. 관리자가 성능 최적화를 위해 데이터베이스 객체의 사용 패턴에 대한 지식을 사용가능하게 한다.ex. 사용이 빈번한 Index는 SSD 같은 속도가 빠르..
[PostgreSQL] DB 로그인시 자동접속 설정하기(pgpass.conf)
·
DB_postgreSQL
pgpass.conf - PostgreSQL에서 사용하는 암호화 파일- DB 접속 시 연결을 자동화 해줌 (패스워드 칠 필요없음, 해당 파일 내에 pg 패스워드를 미리 작성)ex) psql -Upostgres -dpostgres  로 접속하면 바로 접속됨  1. 파일 생성 경로PG 설치시, 자동으로 생성되는 환경파일이 아니기 때문에 직접 생성하여야한다. Windows : C:\Users\User명\AppData\Roaming\postgresql\pgpass.confLinux : ~/.pgpass.conf2. 파일 권한 수정 필요 (보안상의 이유로 인해 권한 받은 사용자만 pgpass 를 통해 자동 로그인이 가능하도록 해야한다)윈도우 - 속성 > 보안 > 사용자별 권한 설정리눅스 - chmod 로 권한 설..
[PostgreSQL] idle in transaction 설정
·
DB_postgreSQL
Idle in transaction ?: postgresql 9.6 이상에서 유휴상태인 transaction에 대해서 자동 종료 시켜주는 기능[postgresql.conf]postgresql.conf 파일에는 default로 0으로 되어있으며, 주석 처리가 되어있다.#idle_in_transaction_session_timeout = 0 # in milliseconds, 0 is disabled....해당 기능을 사용하려면,C:\onTune\database\Postgresql\pgsql\Data\postgresql.conf 파일 내에, 해당 부분을 주석 해제하여 옵션 값을 지정해준다.#idle_in_transaction_session_timeout = 0 # in millisec..
[PostgreSQL] initDB 실패
·
DB_postgreSQL
1. 에러initdb 실행 시, 공유 라이브러리를 읽는데 실패했다는 에러 로그 떨어짐더보기$ ./initdb -D $PGDATA ./initdb: error while loading shared libraries: libpq.so.5: cannot open shared object file: No such file or directory2. 트러블슈팅더보기// libpq.so.5 라이브러리 찾고 심볼릭링크 추가 (기존 것 삭제 후 심볼릭 링크 재적용) [root@ontune ~]# find / -type f libpq.so.5 /database/postgresql/lib/libpq.so.5 [root@ontune ~]# [root@ontune ~]# cd /database/postgresql/lib/ [..
[ssh] ssh 클라이언트에서 게스트 서버로 접속이 안되는 경우(No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)
·
OS_Linux&Unix
Disconnected: No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic) 1. sshd_config 수정sshd_config 파일 내에서 아래와 같이 옵션 처리 및 주석 제거 (root 권한 또는 sudoers 파일 내에 권한이 부여된 일반 계정으로 수행)==vi /etc/ssh/sshd_config  PasswordAuthentication yes   // 비밀번호를 통한 접속을 허용하려면 PasswordAuthentication yes로 설정 PubkeyAuthentication yes== 2. SELinux 비활성화# setenforce 0// SELinux가 활성화된..
[RHEL8.0] You can use subscription-manager to register.
·
OS_Linux&Unix
[root@ontunev5 mnt]# sudo yum -y install gcc gcc-c++ make autoconf readline readline-devel zlib zlib-devel openssl openssl-devel gettext gettext-devel python3 python3-devel wget icu libicu-devel Updating Subscription Management repositories. Unable to read consumer identity This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Last metada..
[PostgreSQL, CentOS7] 소스코드 컴파일하여 postgresql 16 설치 (소스 설치)
·
DB_postgreSQL
*CentOS7에는 posgresql16의 repository를 제공하지 않습니다.따라서 postgresql이 제공하는 소스코드를 빌드하여 컴파일 후 서버에 설치하는 방식으로 설치를 진행해야하기 때문에 해당 테스트를 진행.PostgreSQL 설치 - Source Install(소스 설치) 방식설치 테스트 환경- OS : CentOS7.9- DB : postgresql 16테스트 전, CentOS 구축 시 외부 환경 또는 Host와 통신이 되어야합니다.0. $yum update 1. 패키지 설치 : 우선 소스코드를 컴파일 시키기 위해서는 추가적인 패키지 설치가 필요하다.     1.1 Yum -y install gcc gcc-c++ make autoconf readline readline-devel zli..
[PostgreSQL] Autovacuum이 호출되는 조건과 파라미터
·
DB_postgreSQL
autovacuum이 어떻게 호출되는 것인지에 대한 공부를 하기 위해서 작성파라미터는 튜닝하지 않음 용어Age - 말 그대로 Age- Table과 Tuple의 나이를 뜻한다. 테이블 생성 시 또는 Tuple을 테이블에 처음 insert할 때의 Age는 1부터 시작한다고 한다.- Transaction이 발생할 때마다 Table의 Age 및 Tuple의 Age가 1씩 증가한다고 한다.- 그래서 계속 Age가 증가하다가 Age 관련 특정 파라미터인 autovacuum_freeze_max_age 의 임계치에 도달하게 되면 XID Wraparound를 방지하기 위해 Anti Wraparound Vacuum 대상이 되고,  수행이 된 후에는 다시 Table Age과 Tuple Age가 1로 회귀한다.- 그런데, T..
[PostgreSQL] vacuum을 하는 이유 // vacuum, vacuum full 테스트
·
DB_postgreSQL
Postgresql은 oracle, mysql 과는 조금 다른 MVCC 구현 방식 이라고 한다.짧게 정리를 하자면, 데이터 페이지 내에 변경되기 이전 Tuple과 변경된 신규 Tuple을 같은 page에 저장하고Tuple별로 생성된 시점과 변경된 시점을 기록 및 비교하는 방식으로 MVCC를 제공한다. 그리고 Tuple이 생성되거나 변경된 시점을 각 Tuple 내 xmin, xmax라는 메타데이터 field에 기록하여 어떤 Tuple을 읽을 수 있는지 버전 관리를 하게 된다.  ==xmin – Tuple을 insert하거나 update하는 시점의 Transaction ID를 갖는 메타데이터Insert의 경우 insert된 신규 Tuple의 xmin에 해당 시점의 Transaction ID가 할당됨UPDAT..
파이참(pycharm) 단축키 모음
·
Dev
1. 단축키 생성 및 수정Alt + Enter : 의도 행동 표시Ctrl + Space : 기본 코드 완성(Ctrl + Shift + Space: 스마트 코드 완성)Alt + Insert : 파일 생성Ctrl + Shift + / : 여러 줄 주석 처리Ctrl + / : 한 줄 주석 처리Ctrl + D : 현재 줄 복사Ctrl + Y : 현재 줄 삭제Shift + Alt + UP / DOWN : 줄 이동 (밑과 동일)Ctrl + Shift + Up/Down : 선택 영역이나 현재 줄 이동Ctrl + W : 확장 선택(단어 → 블록 → 문장형 선택)Ctrl + Alt + O : 사용하지 않는 import문 제거Ctrl + Alt + I : 현재 파일이나 선택 영역에서 import문 정렬을 수행Ctrl + ..
[Linux/Unix] 모든 경로에서 서비스 실행시키기 (ex. PostgreSQL)
·
OS_Linux&Unix
리눅스에서 너무 긴 명령어 이거나 특정파일을 실행하게 될때 보다 간결, 보다 쉽게 사용하기 위해서,명령어를 명명하기 위해 사용하는 파일이 .bash_profile 이다.  홈 디렉토리에 있으므로 각 서비스를 실행하는 사용자계정으로 접속해서 ~ (홈 디렉토리) 내에 존재하는 .bash_profile 을 수정해보자. .> bash_profile 확인 [ontune@localhost ~]$ ls[ontune@localhost ~]$ pwd/home/postgres[ontune@localhost ~]$ ls -arlttotal 20-rw-r--r--. 1 ontune ontune 231 Nov 25 2021 .bashrc-rw-r--r--. 1 ontune ontune 18 Nov 25 2021 .ba..
[Linux] VM에 CentOS 7.9 설치
·
OS_Linux&Unix
CentOS7 설치하기 1.  .iso 다운로드 받기       a. CentOS 7은 공식적으로 EOL이 됨에 따라 centOS 홈페이지에서는 다운로드 받을 수가 없다.      b. 원래 미러링 사이트에서 iso 파일을 다운로드 할 수 있었지만, 현재는 iso 파일 자체는 찾기가 어려워서 .torrent 파일을 다운로드 받은 후 qbittorrent 라는 프로그램으로 .iso 파일로 굽는 작업을 진행했다. CentOS 7.9 iso 파일 다운로드 링크 (다운로드 느림)https://mirror.navercorp.com/centos/7.9.2009/isos/x86_64/ CentOS 7.9 torrent 파일 다운로드 링크  (해당 글에서 다루는 방법)https://mirror.kakao.com/cen..
최선을 다하자!
기록