분류 전체보기
-
오늘은 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 -
RMAN 백업에서 테이블 및 테이블 파티션 복구 목적 - RMAN을 사용하면 나머지 데이터베이스 개체에 영향을 주지 않고 하나 이상의 테이블 또는 테이블 파티션을 지정된 시점으로 복구할 수 있습니다. 이전에 생성한 RMAN 백업을 사용하여 테이블과 테이블 파티션을 지정된 시점으로 복구할 수 있습니다 테이블 및 테이블 파티션을 복구하는 데 필요한 백업 - 테이블 또는 테이블 파티션을 복구하려면 UNDO, SYSTEM, SYSAUX, 및 테이블 또는 테이블 파티션이 포함된 테이블스페이스 의 전체 백업이 있어야 합니다. RMAN 백업에서 테이블 및 테이블 파티션 복구의 제한 사항 1. SYS스키마에 속한 테이블 및 테이블 파티션 은 복구할 수 없습니다. 2. 테이블과에서 테이블 파티션 SYSTEM과 SYSAU..
[ORACLE] Oracle Cloud Rman Recovery Table ( 테이블 복구 )RMAN 백업에서 테이블 및 테이블 파티션 복구 목적 - RMAN을 사용하면 나머지 데이터베이스 개체에 영향을 주지 않고 하나 이상의 테이블 또는 테이블 파티션을 지정된 시점으로 복구할 수 있습니다. 이전에 생성한 RMAN 백업을 사용하여 테이블과 테이블 파티션을 지정된 시점으로 복구할 수 있습니다 테이블 및 테이블 파티션을 복구하는 데 필요한 백업 - 테이블 또는 테이블 파티션을 복구하려면 UNDO, SYSTEM, SYSAUX, 및 테이블 또는 테이블 파티션이 포함된 테이블스페이스 의 전체 백업이 있어야 합니다. RMAN 백업에서 테이블 및 테이블 파티션 복구의 제한 사항 1. SYS스키마에 속한 테이블 및 테이블 파티션 은 복구할 수 없습니다. 2. 테이블과에서 테이블 파티션 SYSTEM과 SYSAU..
2021.08.25 -
오늘은 Mysql 를 백업 복구할때 사용하는 mysqldump에 관련해서 써 볼 생각이다. - mysqldump 클라이언트 유틸리티는 논리적 백업을 수행하여 기존 DB 개체 정의 및 테이블 데이터를 복제하기 위해 실행하기 위해 실행할 수 있는 SQL문을 생성합니다. 백업 또는 다른 SQL 서버로 전송하기 위해 하나 이상의 MySQL DB를 덤프 합니다. mysqldump 명령은 CSV, XML 등으로 생성할 수도 있습니다. [장점] 1. dump 파일을 보고 직접 SQL 구문을 확인 & 수정할 수 있다. 2. mysqldump는 많은 옵션을 가지고 있어 잘 활용한다면 좋은 유틸리티이다. [단점] 1.다른 백업 유틸리티에 비해 속도가 느리다. 2.Dump 중 에러가 발생한다면 처음부터 다시 시도해야 된다...
MySQL 백업 & 복구 ( mysqldump )오늘은 Mysql 를 백업 복구할때 사용하는 mysqldump에 관련해서 써 볼 생각이다. - mysqldump 클라이언트 유틸리티는 논리적 백업을 수행하여 기존 DB 개체 정의 및 테이블 데이터를 복제하기 위해 실행하기 위해 실행할 수 있는 SQL문을 생성합니다. 백업 또는 다른 SQL 서버로 전송하기 위해 하나 이상의 MySQL DB를 덤프 합니다. mysqldump 명령은 CSV, XML 등으로 생성할 수도 있습니다. [장점] 1. dump 파일을 보고 직접 SQL 구문을 확인 & 수정할 수 있다. 2. mysqldump는 많은 옵션을 가지고 있어 잘 활용한다면 좋은 유틸리티이다. [단점] 1.다른 백업 유틸리티에 비해 속도가 느리다. 2.Dump 중 에러가 발생한다면 처음부터 다시 시도해야 된다...
2021.08.25