본문 바로가기

Database8

JDBC DatabaseMetadata 기반 정보 조회 / 스키마, 테이블, 컬럼, PK, Index / 오라클, MySQL, PostgreSQL, SQL Server, ... Oracle, MySQL, PostgreSQL, SQL Server, Sybase IQ, SAP HANA 등의 DBMS 종류는 우리가 인지하고 있는 것보다 모르는 것이 더 많을 것이다. 이러한 데이터베이스에서 스키마 목록, 테이블 목록, 테이블의 컬럼 목록, 테이블의 Primary Key, 테이블의 인덱스, Foreign Key 등의 데이터를 조회하기 위해서 어떻게 해야 할까?? 가장 먼저 떠오르는 방법은 해당 데이터베이스에 SQL 쿼리를 작성하여 각각의 딕셔너리 테이블(혹은 뷰)을 조회하는 방법일 것이다. SELECT * FROM ALL_TAB_COLUMNS WHERE TABLE_NAME='T1' 이렇게 SQL 쿼리를 기반으로 작성된 코드는 다른 데이터베이스와는 호환이 되지 않으며(데이터베이스마다 조회.. 2020. 6. 15.
[Oracle] Supplemental Logging 개념과 사용법 오라클 본연의 리두 로그(Redo Log)는 DML이 발생하는 경우 오직 변경된 컬럼의 데이터에 대해서만 Undo(변경 전 데이터)와 Redo(변경 후 데이터) 정보를 남긴다(=Physiological Logging). 반면 Supplemental Logging(Default=Disabled)은 DML 발생시 리두 로그에 추가적인 데이터를 남긴다. 리두 로그는 기본적으로 Instance Recovery 혹은 Media Recovery를 위해서 사용하는데 이러한 복구 동작을 수행하는 과정에서 Supplemental Logging 기능은 사실상 필요 없다. 그렇다면 Supplemental Logging은 누가 왜 사용하는 것일까~? 위의 [그림 1]에서 Physiological Logging에서 리두 로그에.. 2019. 5. 17.
[Oracle] How to use Oracle LogMiner (오라클 로그마이너 사용법) 오라클 로그마이너 사용 및 설정 방법에 대해서 정리한다. 로그마이너는 Oracle 8i부터 사용 가능한 기본 내장 툴이며, 이를 사용하여 리두(아카이브) 로그를 분석하여 DML/DDL 이력을 확인 가능하다. 로그마이너를 어디에 사용할 수 있을까~? 데이터 복구 : 사용자의 실수 혹은 어플리케이션의 에러에 의해 잘못 커밋한 데이터를 복구 가능하다. CDC, ETL : 몇몇 CDC, ETL 제품군에서 소스 데이터베이스의 변경 데이터를 추적하기 위해 로그마이너를 사용한다. [추가] AWS의 DMS 서비스의 CDC도 오라클의 LogMiner를 사용한다. 그 밖에 DML/DDL의 이력으로 할 수 있는 일들... 성능 분석, 튜닝 및 감사(Audit)을 위해 사용 가능 할 것이다. LogMiner Dictionar.. 2019. 4. 30.
Centos 7에 Postgresql 10 설치하기 Postgresql 10을 Centos 7에 설치하는 방법에 대한 정리이다. Centos7의 RPM Repository에 Postgresql 10에 대한 Repository를 추가 해야 합니다. su - rpm -Uvh https://yum.postgresql.org/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm Postgresql 서버와 Client 관련 라이브러리를 설치합니다. yum install -y postgresql10-server postgresql10 설치는 순식간에 끝이 나고, 이제 Postgresql DB를 초기화 하는 작업을 수행 하여야 합니다. /usr/pgsql-10/bin/postgresql-10-setup initdb 해당 명령.. 2018. 1. 18.