본문 바로가기

오라클3

오라클 락(Lock) 기본 개념 데이터베이스 운영 시 많은 대기가 발생해서 성능에 문제가 있거나 처리가 지연되기도 합니다. 일반적으로 많이 발생하는 Lock wait나 Dead lock을 접하게 됩니다. 그러면, 데이터베이스에 왜 락이 필요한 것일까요? 고객이 창고에 맡긴 물건의 내용을 변경하고 싶다고 가정하면, 물건의 내용을 변경하고 싶다고 했지만 단순히 숫자 한 개를 큰 값으로 바꿔 쓰고 싶을 뿐입니다. 즉, 우선 물건을 알고 싶으니까 물건을 꺼내 주세요(select). 그 후 꺼낸 값에 1을 더해서 다시 맡겨주세요(update). 오라클은 병렬 처리를 가능케 하고 높은 처리량을 실현을 목표로 합니다. 병렬 처리를 하면 실행하는 타이밍에 따라서는 값이 늘어나지 않는 현상이 발생할 수 있습니다. 값을 변경하는 작업 때에는 변경하기 전.. 2022. 7. 4.
오라클 캐시 메모리 캐시가 필요한 이유 디스크는 액추에이터(암)를 움직여서 데이터를 읽고 씁니다. 오라클은 디스크에 읽고 쓰는 것을 요청합니다. 오라클은 여러 개의 프로세스로 구성되어 있고 동시에 SQL 문을 처리할 수 있습니다. 또한, 프로세스는 역할 분담이 되어 있으며, SQL 문의 처리를 빠르게 하는 서버 프로세스와 그것을 보조하는 백그라운드 프로세스가 존재합니다. 이 내용을 정리한 것이 아래 그림입니다. 디스크가 동작하는 것은 매우 느리고 I/O 1회에 10~20밀리초 정도 걸립니다. 그래서 가능한 한 디스크에서 처리하지 않게 하려고 ‘캐시’라고 불리는 기술을 사용하고 있습니다. 캐시는 가장 간단한 튜닝 항목이기도 하며 잘 알려진 기능 중 하나이지만, 아 키 텍 처를 제대로 이해하고 있지 않으면 생각지도 못한 부분에.. 2022. 6. 27.
오라클 커넥션 기본 개념 (ORACLE CONNECTION) 오라클은 네트워크 통신 수단으로 대부분 TCP/IP 소켓을 사용하고 있다. 쉽게 말해 소켓을 전화라고 생각한다면, 소켓을 사용함으로써 타 장비에 있는 프로그램끼리 통신할 수 있다. 프로세스의 측면에서 본다면, 한번 소켓을 만들어 두면 소켓을 읽고 쓰기만 해도 송수신을 구현할 수 있으므로 매우 편리한 기능이라 할 수 있다. 송수신은 실제로 네트워크의 드라이버와 OS의 라이브러리가 수행하고 있다. 소켓은 주소와 포트 번호의 조합으로 구분할 수 있다. 오라클에서는 수신을 기다리는 프로세스를 Listener라고 한다. listener로 connection을 하는 프로세스는 업무 Application 프로세스이다. DB: 자신이 listen 해야 할 포트 번호 등을 listener.ora에서 확인한 뒤 liste.. 2022. 6. 15.