본문 바로가기
반응형

분류 전체보기344

[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.
[MsSQL] 마지막 페이지 Latch 경합 (Insert 지연 튜닝) - 2. 테스트 및 적용 Insert 지연 튜닝 - 테스트 및 적용 지난번에 원인을 파악했떤 마지막 페이지 경합에 대한, 업무 반영을 하기위해 테스트를 진행하고 결과에 맞게 반영하게 되었다. [MsSQL] 마지막 페이지 Latch 경합 (Insert 지연 튜닝) - 1. 원인 찾기Insert 지연 튜닝회사 중요 데이터 중 많게는 하루에 수억건의 CUD가 발생하는 테이블이 있다.이상하게 CUD 중 Delete가 발생 할 때에만 지연이 발생하게 되어, 튜닝을 위해 이것저것 확인 중  해당da-new.tistory.com 잘못된 테스트와 정확한 테스트 그리고 새롭게 알아낸 내용 등에 대해서 한번 소개해보도록 하겠다. 테스트어떻게하면 내가 생각한 이슈에 의해 마지막 페이지경합이 발생하며, 해결 방법을 통해 경합이 줄어들었음을 알 수 있.. 2024. 11. 13.
[가산디지털단지] 한식뷔페 - 대륭 더이룸푸드 (가산 대륭포스트 6차) 2024.11.11 / 대륭 더이룸푸드 한식뷔페안녕하세요.오랜만에 새로운 한식뷔페를 다녀왔습니다. 이곳은 대륭 포스트 6차 지하 먹거리에 있는 한식뷔페인데요.점심에는 한식뷔페, 저녁에는 무한리필 고기집을 운영하는 이곳 더이룸푸드에 대해서 소개해드리겠습니다.방문 기본 정보방문 일시 2024.11.11 (월) 11시 40분 12시부터 시작되는 점심시간보다 조금 이르게 방문해봤습니다.그렇게 넓지 않은 내부라 자리가 거의 꽉차있었는데요.다먹고 나와서는 사람들이 줄을 서있을 정도로 인기가 많았습니다. 오늘의 밥상의 운영시간은평일 - 11:10 ~ 21:00토요일 - 11:00 ~ 20:00 입니다. 평일에는 14:00 ~ 17:30은 브레이크타임입니다.즉, 11:10 ~ 14:00 까지 한식 뷔페를 운영합니다. .. 2024. 11. 12.
[Oracle] DML Trigger - 테이블에서 사용하는 트리거 정리 DML Trigger트리거, 우리 대부분 트리거에 대해서 알고 있을 것 이다. 트리거의 특징으로는 아래 정도 알 고 있을 것 이다.* 특정한 동작이 실행되었을 때, 자동으로 함께 실행되는 것 * 데이터의 무결성을 유지* 자동으로 함께 실행되기에 성능 이슈가 있을 수 있다create or replace trigger [트리거 이름]before [or atfer] -- dml문 이전이냐 이후냐insert [or update / delete] [트리거가 동작할 테이블] -- 테이블에서 지정한 dml문이 동작시 트리거 실행[FOR EACH ROW] -- 행 트리거 일 경우 / 문장 트리거 생략begin -- 동작할 트리거 내용end;근데 트리거에 대해서 깊게 생각 해본 적이 있는가??? 그냥 함께 실행된다.. 2024. 11. 11.
[MsSQL] 현재 세션에 대한 정보들 조회하기 시스템 동적 관리뷰를 활용한 세션 정보 조회MsSQL에 현재 붙어있는 세션들에 대한 정보를 조회하는 방법으로 시스템 동적 관리 뷰를 사용한다. 이런 뷰를 여러가지를 조합하여 원하는 정보를 알 수 있는데, 기본적으로 자주 사용되고 필요한 정보들을 조회하는 쿼리를 소개하도록 하겠다. 세션 조회 바로 쿼리를 설명하자면 아래와 같다.select r.session_id, r.blocking_session_id, r.status, r.command, r.wait_type, r.wait_time, s.host_name, s.program_name, s.login_name, c.client_net_address, .. 2024. 11. 10.
[Windows Server] System Error - BugCheck (이벤트 ID 1001) System ErrorSQL Server 이관을 위해 새로운 서버를 새팅하게 되었다.여러 우여곡절이 있었지만 잘 마무리하여 Log Shipping 까지 구성하였는데 Slave 서버가 3일에 한 번 정도 리붓이 되는 문제를 확인하게 되었다.  무슨 이유에서 리붓이 되는가?심각한 마음으로 찾아보던 중 이벤트 뷰어에 시스템 로그에서 아래와 같은 메시지들을 찾을 수 있었다. 이벤트 뷰어 시스템 메시지각 타이밍 별로 총 3가지 메시지가 발생하였다.EventLog (이벤트 ID : 6008) Kernel-Power (이벤트 ID : 41)BugCheck (이벤트 ID : 1001) EventLog 이벤트 6008‎2024-‎11-‎06의 오후 4:21:33에서 이전에 예기치 않은 시스템 종료가 있었습니다. 라는 로.. 2024. 11. 9.
[MsSQL] 마지막 페이지 Latch 경합 (Insert 지연 튜닝) - 1. 원인 찾기 Insert 지연 튜닝회사 중요 데이터 중 많게는 하루에 수억건의 CUD가 발생하는 테이블이 있다.이상하게 CUD 중 Delete가 발생 할 때에만 지연이 발생하게 되어, 튜닝을 위해 이것저것 확인 중  해당 테이블에서 Delete가 발생 시 삭제 된 데이터의 히스토리를 남기고자 트리거로 히스토리 테이블에 Insert를 하는데,트리거를 통한 히스토리 테이블에 Insert가 지연되어 원본 테이블의 Delete 함께 지연된다는 사실을 알게되었다. Insert가 지연되었던 이유가 무엇이며, 어떻게 튜닝했는지 초보 DBA의 의식의 흐름대로 어떻게 진행되었는지 남겨보도록하겠다. 트리거가 설정되어있는 기존의 테이블을 Table_O(수억건의 CUD발생) / 히스토리를 남기기 위한 테이블을 Table_H(Insert만.. 2024. 11. 8.
[MsSQL] 실행 했던 쿼리 실행 계획 찾기 실행 했던 쿼리 실행계획지금 당장 실행할 쿼리의 실행계획을 알아보는거야 뭐 너무나 쉽지만 이미 실행되었던 쿼리들에 대해서 실행계획을 찾으려면 캐시된 쿼리들에 한하여 실행계획을 찾아 볼 수 있다. SYS.DM_EXEC_QUERY_STATS 라는 시스템 뷰에 남아있는 sql_handle / plan_handle을 통해 찾아보는 쿼리에 대해 알아보자. Queryselect s.creation_time,        s.last_execution_time,       s.execution_count,       substring(t.text,                  (s.statement_start_offset/2) + 1,                  ((case s.statement_end_offs.. 2024. 11. 7.
[DATABASE] OLTP / OLAP 란 무엇인가? DATABASE 관리와 분석데이터베이스의 관리와 분석에는 크게  Online Transaction Processing (OLTP) / Online Analytical Processing (OLAP) 라고 불리우는 개념으로 나뉜다. OLTP와 OLAP의 개념과 차이점에 대해서 간략하게 정리해보자. OLTPOLTP : Online Transaction Processing 온라인 트랜잭션 처리는 일반적으로 우리가 온라인상에서 사용되는 처리방식이라고 생각하면 편하다.OLTP의 목적으로는 여러 사용자가 동시에 빠르고 정확한 소량의 데이터를 실시간으로 처리하는 방식이다. 주로 회원 로그인, 예약 시스템, 상품 조회 등의 작업이라고 예를 들 수 있다. OLTP 처리방식에는 소량의 데이터를 빠르고 정확하게 찾기 위해 .. 2024. 10. 28.
반응형