반응형 DATABASE85 [PostgreSQL] PG17 설치의 모든 것 - Data / Wal 분리부터 환경변수까지 PostgreSQL 설치의 모든 것새롭게 요즘 배우고 있는 데이터베이스 PostgreSQL이다.오픈소스의 DBMS이다보니 새로운 버전이 매년 나오고, 설치부터 세팅까지 직접해줘야한다는 불편함이 있다. 심지어 기존에 사용하던 CentOS7이 EOS가 되기에 새로운 Linux 버전인 Rocky 9 를 OS로 하여 PostgreSQL을 설치해 보았다. PostgreSQL 17버전을 설치하는 방법을 소개하며,PG의 인스턴스의 디렉토리를 OS와 분리된 다른 영역에 설치하는 방법Wal 디렉토리를 분리하여 심볼릭 링크를 설정하는 방법기본적으로 편의를 위한 환경변수를 설정하는 방법 등에 대해 소개해 보도록 하겠다. PostgreSQL Install원하는 PostgreSQL 버전의 설치를 위해 공식 홈페이지에 접속한다... 2024. 12. 21. [Database] WAL 이란? - 데이터 쓰기의 이해와 WAL을 쓰는 이유 WAL (Write-Ahead Logging)Write-Ahead Logging 즉, 로그 먼저 쓰기 라고 할 수있는 WAL은 데이터베이스의 쓰기를 빠르게 완료하며, 데이터의 무결성과 일관성 유지에 매우 큰 역할을 한다. WAL은 어떻게 데이터 쓰기를 빨리 할 수 있으며, 어떤 부분에서 무결성과 일관성 유지에 도움을 주는지 간략하게 설명해보도록 하겠다. Data Write 란?데이터베이스에 데이터를 변경하면, 저장되어있는 해당 디스크의 값을 바꿔주어야한다. 삽입과 삭제도 마찬가지다. 데이터베이스 성능에 가장 큰 영향을 주는 것이 물리적인 디스크 I/O 인데,과연 데이터 하나 조그마한 것이 바뀔 때마다 디스크 I/O가 발생하면 빠를 수 있겠는가. 원초적인 이야기로 돌아가서 전반적인 데이터베이스의 구조와 엔.. 2024. 12. 7. [DBA] 여러 DBMS 마다의 DBA의 중점 역할 차이 DBA - DATABASE ADMINISTRATORDBA란 무엇일까?항상 고민하고 어디까지가 내 일인가에 대해서 의문을 품으며 일을 하고있는 것 같다. 물론 회사마다 팀마다 느낌이 조금씩 다르겠지만, 뭔가 명확하지 않고 시키면 다하는 듯한 느낌이 들때가 많다.DBA가 무엇인가에 대해서는 예전에 적어둔 글이 있는데, 지금 다시 읽어보면 그게 맞을까? 싶다 DBA - 데이터베이스 관리자(DataBase Administrator)Intro 안녕하세요. 초보 DBA 다뉴입니다. Database 관련 글을 쓸 때면, 초보 DBA 라는 말로 저를 소개하곤 하는데요. 관련 직무에 종사한지 5년이 넘었지만, 이제야 본격적으로 DBA 직무를 맡게 되어 그da-new.tistory.com우리 회사의 우리팀은 여러가지 데이.. 2024. 11. 25. [Oracle] 오라클 종료 - Shut Down Option Oracle Shut DownOracle Database를 종료할때 사용 할 수 있는 4가지의 ShutDown 옵션에 대해서 소개해 보도록 하겠다.각 옵션별로 세션의 작업과 데이터의 무결성 그리고 속도에 차이가 있으므로 필요에 맞게 사용하는 것이 중요하다.옵션설명NORMAL새로운 연결 불가, 기존 세션이 완료 될 때까지 대기IMMEDIATE기존 세션 강제 종료 및 트랜잭션 롤백TRANSACTIONAL새로운 연결 불가, 트랜잭션이 종료 될 때 까지 대기ABORT트랜잭션 롤백 없이 데이터베이스 종료 각 옵션에 대해 자세하게 하나씩 알아보도록 하자.NORMALSHUTDOWN NORMAL; 오라클 데이터베이스를 종료하는데 가장 안전한 방식이다.새로운 연결을 허용하지 않으며, 기존의 연결을 각각 다 종료 할 때 .. 2024. 11. 22. [Oracle] 프로시저 내에서 DDL 실행하기 - Create, Drop, Atler, Truncate, CTAS Procedure 내에서 DDL 실행Oracle의 프로시저 내에서는 DDL문을 바로 실행 할 수 없다.create or replace procedure UP_BAN_TEST isbegin create table XTMP_DDL_TABLE (t_no number(10));end;위와 같은 프로시저를 생성하면, 컴파일 시 아래와 같은 오류가 발생한다. (Error: PLS-00103) Oracle의 프로시저는 컴파일 시 문법적 오류를 확인하며 실행 계획을 미리 정하는데, DDL은 실제 런타임에만 실행이 가능하여 실행 계획을 미리 정할 수 없어 오류가 발생하게 된다. 동적 쿼리 실행프로시저 내에서 DDL문을 실행하기 위해서는 동적쿼리를 실행하는 방식으로 작성하여 실행하도록한다. 주로 CTAS, CREAT.. 2024. 11. 21. [MsSQL] SET STATISTICS 옵션을 활용 - 실제 실행 계획 상세보기 실제 실행계획 상세보기MsSQL 에서는 실행계획을 볼 수 있는 방법이 여러가지 있지만.대부분 그래프 이미지로 밖에 볼 수 없다. 기존의 실행계획 표시인 텍스트와 I/O 관련정보 등을 손쉽게 볼 수 있는 옵션에 대해서 소개하도록 하겠다. SET STATISTICSSET STATISTICS 는 MsSQL에서 쿼리의 성능분석/최적화 등에 도움을 주는 옵션이다.해당 옵션은 세션별로 적용을 하여 해당 세션의 쿼리를 분석할 수 있게 도와준다. 주로 실제 쿼리의 실행계획에 대해 아래의 옵션 3개를 활성화하여 확인한다.SET STATISTICS PROFILE ONSET STATISTICS IO ONSET STATISTICS TIME ON 해당 옵션을 활성화 하고 원하는 쿼리를 실행하여 쿼리가 실행 완료되면 실행계획과 .. 2024. 11. 20. [Database] MVCC (Multi-Version Concurrency Control) - 다중 버전 동시성 제어 MVCC (Multi-Version Concurrency Control)다중 버전 동시성 제어란? 데이터베이스에서 동시성을 제어하고 데이터의 일관성을 유지하기 위한 기법 중 하나이다.데이터에 변경사항의 버전을 보관하여, 여러 버전의 데이터를 저장해두어 여러 트랜잭션간의 읽기 / 쓰기 작업이 동시에 수행 될 수 있도록 하는 방법이다. 트랜잭션의 읽기 작업이 쓰기 작업을 방해하지 않고, 일관된 데이터를 읽을 수 있게 하는 방식이 말 그대로 데이터의 다중 버전을 통한 동시성 제어이다. MVCC 주요 개념 1. 스냅샷 읽기 - 트랜잭션이 시작된 시점의 버전의 데이터를 기반으로 동작한다. - 다른 트랜잭션의 변경사항이 커밋되기 전 이라면, 그 데이터는 해당 시점의 버전에 포함되지 않는다.2. 다중 버전 관리 - .. 2024. 11. 18. [MsSQL] 프로시저 내용 찾기 - 특정 테이블이 사용되는 프로시저 찾기 Procedure 내용 찾기오라클의 프로시저의 특정 내용을 찾는 쿼리를 알아보았었다.[Oracle] 프로시저 내용 찾기 - 특정 테이블이 사용되는 프로시저 찾기MsSQL도 이와 같은 쿼리를 만들 수 있는데, 해당 쿼리는 트리거나 함수 등에서 사용은 못하고 프로시저의 내용만 찾는 쿼리이다. Queryuse [데이터베이스 명]select name, object_definition(object_id) as txt from sys.PROCEDURES where object_definition(object_id) like '%[프로시저에서 찾고 싶은 내용]%' 위 쿼리를 사용하면 해당 데이터베이스 내의 프로시저 중 내가 찾고싶은 내용을 포함한 프로시저를 찾을 수 있다.데이터베이스 별로 검색해야하기에 .. 2024. 11. 16. [Oracle] 프로시저 내용 찾기 - 특정 테이블이 사용되는 프로시저 찾기 Procedure 내용 찾기특정 테이블이 사용되는 프로시저를 찾거나, 특정한 구문이 포함된 프로시저를 찾아야 할 때가 있다.간단한 쿼리로 해당 프로시저를 찾을 수 있으며, 프로시저가 아닌 Function / Trigger /Package 등의 내용을 찾을때도 사용 할 수 있다. Queryselect a.object_id, a.object_name, a.object_type, b.line, b.text from DBA_OBJECTS a inner join DBA_SOURCE b on a.object_name = b.name where a.object_type = 'PROCEDURE' -- FUNCTION / TRIGGER / PACKAGE and a.o.. 2024. 11. 15. [MsSQL] 백업 파일 관리 - 최근 전체 백업과 하위 로그 백업 확인하기 Backup File 조회하기MsSQL은 전체 복구 모델일 경우 Full Backup 을 받은 후 하위에 Log Backup을 하며 하나의 세트를 만들어간다.자세한 설명을 아래의 글로 남겨두도록 하겠다. [MsSQL] Database 복구 모델 - Simple, Full (단순 모델, 전체 모델)[MsSQL] Database Backup이란? - Full / Differential / Log Backup 보통 실무에서 예를들자면,1일 단위로 Full Backup을 받고 4시간 단위 Log Backup을 받는식으로의 백업 정책을 가지고 있는데,어떠한 Full Backup 파일 하위에 어떤 순서로 어떤 Log Backup 파일을 가지고 있는지 한눈에 알아보는 쿼리를 작성해 보았다. Query쿼리 자체는 간단.. 2024. 11. 14. 이전 1 2 3 4 ··· 9 다음 반응형