[MSSQL] Blocking 유발하는 세션(root blocker)을 찾아내고, 운영자 계정에 root blocker만 kill할 수 있는 프로시저 제공하기
·
DB/SQL Server (MSSQL)
원래 MSSQL 에서 Session Kill 할 수 있는 권한은 DBA만 가지고 있는 게 바람직하다.MSSQL에서의 Session Kill 권한은 기본적으로, 'ALTER ANY CONNECTION' 권한이 부여되어 있어야 하며, 이는 서버 인스턴스 범위의 권한이기에, 해당 권한을 가진 SQL Login은 모든 세션에 대해 Kill 할 수 있는 아주 강력하고 위험한 권한을 가지게 된다. 그러나, 모든 운영 환경에 있어 DBA가 365일 24시간 내내 5분대기조처럼 있을 수는 없고,상황에 따라서 Kill 을 수행할 수 있는 조건만 잘 제어한다면, 운영자에게 특정 상황의 경우에만 Kill 할 수 있는 프로시저를 제공하는 게, 긴급한 장애도 해결하고 DBA도 한결 편해질 수 있는 방법임을 요즘 체감한다. 오늘..
[MSSQL] SQL Server Failover Cluster 구성
·
DB/SQL Server (MSSQL)
0. 사전 준비0.1. Windows Server Failover Cluster(WSFC) Feature(기능) 설치아래와 같이 [Server Manager] 를 통해, 'Failover Clustering' Feature를 설치해 주어야 한다.해당 feature 설치 후에는 안정적인 운영을 위해 시스템 reboot 가 필요할 수 있는 점 인지하자. 0.2. Windows Server Failover Cluster 구성[Create Cluster] 를 클릭 후, [Create Clustser Wizard] 에서 아래와 같이, Failover Cluster에 추가할 node(서버)들의 hostname을 입력하여 추가한다. 그럼 다음과 같이 Failover Cluster 구성이 가능한 지 Validation..
[Actions] Github Actions 를 시작하기 전, 기본 개념 익히기
·
DevOps/Github
GitHub Actions 이란?: 빌드, 테스트, 배포 파이프라인을 자동화할 수 있게 해주는 Github의 CI/CD 플랫폼Github Repository로의 모든 Pull Request를 빌드하고 테스트하는 워크플로우를 생성하거나, Merge된 Pull Request를 프로덕션(서버)에 배포하는 등의 작업을 수행할 수 있게 함단순히 DevOps를 넘어서, Github Repository에서 여러 이벤트가 발생할 때 워크플로우를 실행하게 한다. 예를 들어, 새로운 Issue를 만든 사람에게 자동으로 적절한 Label을 추가하는 워크플로우를 실행할 수도 있음GitHub은 워크플로우를 실행할 Linux, Windows, macOS 기반의 VM을 제공하거나, 유저가 관리하는 데이터 센터 또는 클라우드 인프라..
[MSSQL] 모든 유저 데이터베이스의 파일 사이즈 기록하는 Agent Job 만들기
·
DB/SQL Server (MSSQL)
DB 마이그레이션이나 다른 유지보수성 작업을 할 때,DB에서의 데이터 사용량이 날마다 얼마나 늘어나는 지 기록해 둘 필요가 있을 수 있다. 물론, 요즘엔 모니터링 Tool 이 너무나 잘 나와서 이런 프로시저나 Agent Job 을 굳이 생성해야 하나 싶지만, 그런 모니터링 Tool 도입이나 사용이 어려운 상황이 있을 수 있으므로, SQL Server 상에서 아래와 같이 관리용 테이블과 프로시저를 생성하고,SQL Server Agent Job 을 활용하여 해당 DB의 사이즈들을 기록하는 방법에 대해 알아보자.1. 파일 사이즈 기록해 둘 테이블 [DBFileSizesLog] 생성-- 여러 관리 작업과 관련된 데이터가 저장되는 곳인 [msdb]에 테이블을 만들기로 했다.USE [msdb];GO/* 각 DB들의..
[Linux] nohup 로그를 주기적으로 rotation 및 삭제하는 방법
·
OS/Linux
WAS(JBoss)의 nohup 로그가 rotate되지 않고 기하급수적으로 쌓인 특정 서버를 발견하고,이번 기회에 nohup 로그를 일 단위로 rotation 하고, 90일 지난 로그는 삭제하도록 설정하는 방법에 대해 정리해 보고자 한다.1. 'log_management.sh' 쉘 스크립트 작성#!/bin/bashJVM_NAME="$1"LOG_FILE="/JVM_PATH/${JVM_NAME}/log/nohup/${JVM_NAME}.out"DATE=$(date +%y%m%d_%H%M%S)ROTATED_FILE="/JVM_PATH/${JVM_NAME}/log/nohup/${JVM_NAME}.out.${DATE}"log_rotation() { if [[ -s $LOG_FILE ]]; then ..
[httpd] https://{IP} 로 URL을 입력받았을 때, https://{domain name}으로 리다이렉션 시키는 방법
·
Middleware/웹서버
사내에 여러 보안 사항을 DEV 및 QA 서버에서 테스트 하기 위해, 기존 SSL이 적용되지 않은 DEV 및 QA 서버에 SSL을 적용하였는데, https://{IP} 로 입력하여 해당 서비스에 접근할 경우, 다음과 같이 SSL이 적용되지 않는 문제를 발견하였다. http://{IP} -> https://{domain name} 으로 리다이렉션하는 설정은 쉽게 넣었는데, https://{IP} -> https://{domain name} 은 찾는게 쉽지 않았다... 참고로, http://{IP} -> https://{domain name} 이 방법은, 다음과 같은 방법으로 진행하였다. RewriteEngine on # IP가 123.123.123.123 이라고 가정 RewriteCond %{HTTP_HO..