프로그램/SQL
-
[SQL] Redo와 Undo프로그램/SQL 2024. 8. 1. 12:29
| Redo란? SGA에는 Redo Log Buffer, DB에는 Redo Log Files가 있는 것을 확인할 수 있습니다. Redo가 무엇이길래 메모리에도 디스크에도 존재하는 걸까? 단어를 자세히 보면 Redo Log라고 표시되어 있습니다. 즉, Redo는 Log의 한 종류입니다. 주로 Redo와 Undo를 같이 설명하며, 데이터를 복원하는데 두 가지 로그가 많이 사용되기 때문입니다. 데이터를 조회 및 수정하는 경우 DB Buffer Cache에 Buffer가 기록되며, 수정된 데이터(=Dirty Buffer)를 별도의 Redo Log Buffer에 로그를 기록하며, 이러한 로그를 Redo Log라고 부릅니다. 즉, Redo Log는 변경 사항에 대한 기록이며, 다음과 같은 세 가지 목적을 가집니다..
-
[SQL] Oracle Process란?(+Instance)프로그램/SQL 2024. 7. 31. 21:59
| Process란? 프로세스의 사전적 의미는 '컴퓨터에서 연속적으로 실행되고 있는 프로그램이다.'라고 설명되어 있습니다. 조금 더 익숙한 표현으로 말하자면 사용자나 다른 프로세스로 부터 요청 받아 컴퓨터가 해야할 일(또는 하고 있는 일)입니다. | Processor란? 프로세서와 프로세스는 차이가 있으며, 프로세서는 CPU나 MicroProsessor를 의미합니다. 이러한 프로세서는 프로세스를 동작시키는 하드웨어적 장치로 용어를 구분해서 사용하시길 바랍니다. | Process 생명 주기 프로세스는 생성부터 종료까지 아래와 같은 생명 주기가 존재하며, 실행에서 대기로 상태가 변경되는 것을 Block이라 하며, 이는 I/O가 이루어지면서 블록을 가져오기 때문입니다. 즉 SQL의 성능..
-
[SQL] Process와 I/O가 SQL 속도에 미치는 영향프로그램/SQL 2024. 6. 18. 17:56
데이터 베이스 조회 속도를 향상시키기 위해서 Index가 중요한 것은 다들 아는 이야기입니다. 그렇다면 무엇이 속도의 영향을 미치는가?에 대한 질문에는 정확한 답변이 어려울 수 있습니다. 요번 포스팅에서는 해당 질문을 시작으로 SQL에서 속도에 영향을 미치는 프로세스에 대해 설명하도록 하겠습니다. | Process란? 프로세스는 '실행 되는 프로그램'으로 SQL에서는 데이터베이스 작업을 수행하는 독립적인 작업 단위를 뜻합니다. Select, Update 등이 Process에 해당합니다. | Process Life Cycle 프로세스의 생명 주기는 아래와 같이 5가지로 볼 수 있으며 성능에 영향을 미치는 부분은 '대기' 내용으로 해당 부분을 집중적으로 설명드리도록 하겠습니다. 1. 생성데이터베이스에서..
-
[SQL] SGA란?프로그램/SQL 2024. 6. 11. 00:31
| SGA(System Global Area)란? 데이터베이스에서 사용되는 공유 메모리 영역 여러 프로세스가 공유하여 사용하며, 데이터베이스 운영에 필요한 데이터를 저장하고 관리찾으려는 자료가 저장되어 있는 경우, 즉 적합한 캐시가 있는 경우 프로세스의 I/O 입출력을 줄여 성능을 높일 수 있음 | SGA 동작 원리(단순 윈리) SGA는 공유 메모리로 여러 프로세스(실행중인 프로그램)들이 정보를 공유한다고 보시면 쉽습니다. 이러한 SGA를 간단한 예를 통해 설명 드리며, 실제 복잡한 동작에 비해 많이 생략되었음을 말씀드립니다. 통로가 좁아 DB에 입장할 수 있는 사람은 1명으로 제한되어 있으며, A(정보 1,2,3을 원함)와 B(정보 2,3,4를 원함)가 DB에서 정보를 찾아서 나오고 싶어합니다.A..
-
[SQL] 데이터베이스 저장 구조프로그램/SQL 2024. 5. 28. 17:01
| 데이터베이스 저장 구조 데이터베이스의 저장 구조를 알기 위해서는 [데이터파일], [테이블스페이스], [세그먼트], [익스텐트], [블록(페이지)] 용어를 알아야 합니다. 데이터 파일데이터를 저장하고 있는 물리적인 컴퓨터 파일입니다. 테이블스페이스여러 개의 테이터 파일로 구성되어 있으며, 여러 개의 세그먼트를 포함하고 있습니다. 세그먼트여러 개의 익스텐트를 가지고 있습니다. 예를 들어 Table, Index가 세그먼트에 해당됩니다.같은 테이블스페이스에 포함되어 있는 세그먼트라도 물리적 위치는 연속되지 않을 수 있습니다. 익스텐트여러 개의 블록으로 구성되어 있습니다. 세그먼트를 확장시키는 단위로, 만약 세그먼트의 크기가 부족한 경우 테이블스페이스로부터 익스텐트를 추가 받아 확장시킵니다. 블..
-
[SQL] Function vs Procedure프로그램/SQL 2024. 5. 28. 13:16
| Function과 Procedure의 사용 이유 Function과 Procedure의 공통점과 차이점을 보기 전에 SQL 구문을 사용하지 않고 왜 두 기능으로 만들어서 사용하는가?에 대한 답변이 우선이라고 생각합니다. Q. Function과 Procedure는 왜 사용하는가? A-1. 자주 사용하는 쿼리를 매번 작성하기 힘들기 때문입니다. 즉 재사용성을 높이기 위해서 Funtion과 Procedure를 생성합니다. A-2. 또한 Function과 Procedure는 생성 시, 딕셔너리에 저장되어 사용자가 삭제하기 전까지 영구적으로 저장됩니다. 이렇게 생성된 Function과 Procedure는 호출 시 최초 1회에만 Hard parching해 Library cache에 저장되어, 이후 호출 시 So..