분류 전체보기
-
오늘은 MariaDB에서 MSSQL로의 DBLINK에 관하여 글을 쓸 예정이다. 최근 고객사에서 MariaDB에서 MSSQL로 DBLINK를 맺어달라 문의를 받아서 해보게 되었다. MariaDB의 Connect Engine을 이용해서 DBLINK을 맺을 예정이다. 0. Connect Engine? - Connect Storage Engine은 MariaDB 10.2 부터 반영되었다. - MariaDB에서 외부 로컬 또는 원격 데이터를 액세스할 수 있게 해주는 Storage Engine이다. - ODBC,JDBC를 통해 다른 DBMS 또는 제품(Excel)에서 추출한 데이터를 액세스 할 수 있다. - Connect Stroage Engine은 테이블 파티셔닝, MariaDB 가상 칼럼을 지원하며 ROWID..
[MariaDB] MSSQL DBLINK ( Using Connection Engine )오늘은 MariaDB에서 MSSQL로의 DBLINK에 관하여 글을 쓸 예정이다. 최근 고객사에서 MariaDB에서 MSSQL로 DBLINK를 맺어달라 문의를 받아서 해보게 되었다. MariaDB의 Connect Engine을 이용해서 DBLINK을 맺을 예정이다. 0. Connect Engine? - Connect Storage Engine은 MariaDB 10.2 부터 반영되었다. - MariaDB에서 외부 로컬 또는 원격 데이터를 액세스할 수 있게 해주는 Storage Engine이다. - ODBC,JDBC를 통해 다른 DBMS 또는 제품(Excel)에서 추출한 데이터를 액세스 할 수 있다. - Connect Stroage Engine은 테이블 파티셔닝, MariaDB 가상 칼럼을 지원하며 ROWID..
2021.09.17 -
기존 MariaDB를 Replication을 걸어두고 윗단에 Maxscale을 두어서 Auto Failover / VIP 접근 / READ & WRITE 분산을 테스트 해보았다. 아직까지 Replication에서 쓰고있는 고객들은 보지 못하였지만 나중을 위해 테스트해본 것을 기록하였다. 0.TEST 환경 Master 172.40.40.189 Slave 172.40.40.188 Maxscale 172.40.40.187 1.MAXSCALE 설치 ** 1.필요 library 설치 ** [root@maxscale ~]# yum -y install libcurl libaio openssl gnutls libatomic ** 2.Maxscale 유저 그룹 생성 ** [root@maxscale ~]# groupadd..
[MARIA] Maxscale Replication기존 MariaDB를 Replication을 걸어두고 윗단에 Maxscale을 두어서 Auto Failover / VIP 접근 / READ & WRITE 분산을 테스트 해보았다. 아직까지 Replication에서 쓰고있는 고객들은 보지 못하였지만 나중을 위해 테스트해본 것을 기록하였다. 0.TEST 환경 Master 172.40.40.189 Slave 172.40.40.188 Maxscale 172.40.40.187 1.MAXSCALE 설치 ** 1.필요 library 설치 ** [root@maxscale ~]# yum -y install libcurl libaio openssl gnutls libatomic ** 2.Maxscale 유저 그룹 생성 ** [root@maxscale ~]# groupadd..
2021.09.15 -
오늘은 Oracle Database에서 필수적으로 필요한 Background Process에 대해서 글을 써볼 생각이다. Oracle 필수 Background Process는 Oracle Server가 시작되면서 함께 시작되고 Oracle Server가 종료되면 같이 종료된다. * 필수 Background Process중 하나가 죽게되면 Oracle Server는 죽게된다. DBWR ( Database Writer ) - DBWR은 Database Buffer-Cache에서 변경 완료후 저장되어야하는 블록 ( Dirty Block )을 데이터 파일로 저장하는 역할을 한다. - DBWR은 기본적으로 DBW0 하나가 작동을 하지만 I/O가 많이 추가로 더 필요한 경우 DBW1 ~ DBW9를 동시에 사용하여 ..
[ Oracle ] 필수 Background Process오늘은 Oracle Database에서 필수적으로 필요한 Background Process에 대해서 글을 써볼 생각이다. Oracle 필수 Background Process는 Oracle Server가 시작되면서 함께 시작되고 Oracle Server가 종료되면 같이 종료된다. * 필수 Background Process중 하나가 죽게되면 Oracle Server는 죽게된다. DBWR ( Database Writer ) - DBWR은 Database Buffer-Cache에서 변경 완료후 저장되어야하는 블록 ( Dirty Block )을 데이터 파일로 저장하는 역할을 한다. - DBWR은 기본적으로 DBW0 하나가 작동을 하지만 I/O가 많이 추가로 더 필요한 경우 DBW1 ~ DBW9를 동시에 사용하여 ..
2021.09.11 -
테이블의 데이터를 읽는 방식으로는 크게 Full Table Scan, Index Range Scan으로 나뉜다. 일반적으로 Full Table Scan은 느리다고 생각되어 쓰지 않으려고 하는 경향이 있다. 하지만 DW 용도로 Database를 사용하는 경우 Full Table Scan이 필수적으로 사용되는 경우가 있다고 한다. 그래서 이번에는 Full Table Scan에 대해 공부해보려고한다. FULL TABLE SCAN (FTS) 1) FTS이 발생하는 경우 상황 설명 적용 가능한 인덱스가 없는 경우 적용할 인덱스가 있지만 칼럼 가공, 연산으로 인해 인덱스 사용이 불가능할때 넓은 범위의 데이터 액세스 인덱스 처리 범위가 넓어 전체 테이블 스캔이 더 적은 비용이 들경우 Tull Table Scan을 적..
[ORACLE] Full Table Scan 이해하기테이블의 데이터를 읽는 방식으로는 크게 Full Table Scan, Index Range Scan으로 나뉜다. 일반적으로 Full Table Scan은 느리다고 생각되어 쓰지 않으려고 하는 경향이 있다. 하지만 DW 용도로 Database를 사용하는 경우 Full Table Scan이 필수적으로 사용되는 경우가 있다고 한다. 그래서 이번에는 Full Table Scan에 대해 공부해보려고한다. FULL TABLE SCAN (FTS) 1) FTS이 발생하는 경우 상황 설명 적용 가능한 인덱스가 없는 경우 적용할 인덱스가 있지만 칼럼 가공, 연산으로 인해 인덱스 사용이 불가능할때 넓은 범위의 데이터 액세스 인덱스 처리 범위가 넓어 전체 테이블 스캔이 더 적은 비용이 들경우 Tull Table Scan을 적..
2021.09.10 -
오늘은 고객사에서 문의가 들어왔던 Query 튜닝 관련하여 글을 쓸예정이다. 고객사는 기존에 쓰던 Query에 Function이 들어가게되면서 속도저하가 일어나게되었고 튜닝을 해달라고 하였다. TEST환경을 만들어 재구현을 해볼 예정이다. TEST DATA 생성 - 우선 TEST TABLE / Function을 만들었다. ** 1.TEST DATA 생성 ** SQL>CREATE TABLE MAXTEST(COLA VARCHAR2(20), COLB NUMBER, COLC NUMBER, COLD VARCHAR2(30), COLE VARCHAR2(30), COLF VARCHAR2(30), COLG NUMBER, COLH VARCHAR2(30), COLI VARCHAR2(30), COLJ VARCHAR2(30))..
[ Oracle ] Select절 Function 튜닝오늘은 고객사에서 문의가 들어왔던 Query 튜닝 관련하여 글을 쓸예정이다. 고객사는 기존에 쓰던 Query에 Function이 들어가게되면서 속도저하가 일어나게되었고 튜닝을 해달라고 하였다. TEST환경을 만들어 재구현을 해볼 예정이다. TEST DATA 생성 - 우선 TEST TABLE / Function을 만들었다. ** 1.TEST DATA 생성 ** SQL>CREATE TABLE MAXTEST(COLA VARCHAR2(20), COLB NUMBER, COLC NUMBER, COLD VARCHAR2(30), COLE VARCHAR2(30), COLF VARCHAR2(30), COLG NUMBER, COLH VARCHAR2(30), COLI VARCHAR2(30), COLJ VARCHAR2(30))..
2021.09.09 -
오늘은 MySQL Database Parameter 중 Connection 관련 파라미터에 대해 글을 써보겠습니다. MySQL 은 서버에 동시에 접근하는 최대 클라이언트 수를 제어할 수 있다. 서비스를 하다 보면 느려지는 경우가 있는데 그중에 하나로 서버 스펙에 비해 과도하게 클라이언트가 붙게 되어 발생하는 경우도 있다. 이를 방지하기 위해서는 서버의 스펙에 맞게 동시에 접근하는 클라이언트 수를 제한할 필요가 있다. 1.Variables 1. max_connections 파라미터는 최대 동시 클라이언트 연결 수를 제한하는 파리미터 이다. - dynamic parameter - Default Value : 151 - Min : 1 - Max Value : 100000 2. wait_timeout 파라미터는..
[MySQL] Connection 파라미터 설정오늘은 MySQL Database Parameter 중 Connection 관련 파라미터에 대해 글을 써보겠습니다. MySQL 은 서버에 동시에 접근하는 최대 클라이언트 수를 제어할 수 있다. 서비스를 하다 보면 느려지는 경우가 있는데 그중에 하나로 서버 스펙에 비해 과도하게 클라이언트가 붙게 되어 발생하는 경우도 있다. 이를 방지하기 위해서는 서버의 스펙에 맞게 동시에 접근하는 클라이언트 수를 제한할 필요가 있다. 1.Variables 1. max_connections 파라미터는 최대 동시 클라이언트 연결 수를 제한하는 파리미터 이다. - dynamic parameter - Default Value : 151 - Min : 1 - Max Value : 100000 2. wait_timeout 파라미터는..
2021.09.08 -
Database를 이관을 하게 되면 이관 이후에 ASIS와 TOBE Database의 크기나 Object Count를 확인하는 절차를 거치게 된다. 아래 스크립트를 돌림으로써 옮겨지지 않은 Object들을 확인하고 옮겨지지 않은 것들이 있다면 재이관을 진행할 수 있다. PostgreSQL 정합성 스크립트 #!/bin/bash user=postgres tablecount=0 indexcount=0 viewcount=0 triggercount=0 procedurecount=0 functioncount=0 echo "*******************************************************" echo "* *" echo "* DATABASE SIZE *" echo "* *" echo ..
[PostgreSQL] PostgreSQL 정합성 확인!!Database를 이관을 하게 되면 이관 이후에 ASIS와 TOBE Database의 크기나 Object Count를 확인하는 절차를 거치게 된다. 아래 스크립트를 돌림으로써 옮겨지지 않은 Object들을 확인하고 옮겨지지 않은 것들이 있다면 재이관을 진행할 수 있다. PostgreSQL 정합성 스크립트 #!/bin/bash user=postgres tablecount=0 indexcount=0 viewcount=0 triggercount=0 procedurecount=0 functioncount=0 echo "*******************************************************" echo "* *" echo "* DATABASE SIZE *" echo "* *" echo ..
2021.09.07 -
오늘은 Oracle Session Kill에대해 글을 써보도록하겠습니다. Database를 운영하다보면 특정 Session 을 Kill해야 하는일이 생기게된다. 자주 발생하는 예로는 Lock이 발생하였을때 Lock 을 유발시킨 Session을 Kill하게 됩니다. Session 확인 USERNAME이 LEE인 USER의 SID,SERIAL#을 확인하였다. SQL> select username,sid,serial#,status from v$session where username='LEE'; USERNAME SID SERIAL# STATUS ------------------------------ ---------- ---------- -------- LEE 191 5 INACTIVE Session KILL..
[ORACLE] KILL SESSION오늘은 Oracle Session Kill에대해 글을 써보도록하겠습니다. Database를 운영하다보면 특정 Session 을 Kill해야 하는일이 생기게된다. 자주 발생하는 예로는 Lock이 발생하였을때 Lock 을 유발시킨 Session을 Kill하게 됩니다. Session 확인 USERNAME이 LEE인 USER의 SID,SERIAL#을 확인하였다. SQL> select username,sid,serial#,status from v$session where username='LEE'; USERNAME SID SERIAL# STATUS ------------------------------ ---------- ---------- -------- LEE 191 5 INACTIVE Session KILL..
2021.08.27