본문 바로가기

ORACLE/ADMIN23

[Oracle] Listener 네트워크 구성 정적 등록 listener.ora 생성 Oracle 네트워크 통신 방법 외부에서 Oracle서버를 통신하기 위해서는 Listener를 통해 통신을 하게됩니다. Listener가 해주는 작업은 Connection을 만들어주는 것 입니다. 서버 구성 방식에따라 조금 다르지만 기본 Dedicated Server에서 Connection이란 User Process와 Server Process를 연결해주는 것입니다. 즉, 한번 인증 된 외부사용자가 Oracle Database에서의 작업을 지정된 Server Process를 통해 할 수 있도록 연결해줍니다. 최초의 한번 Connection작업을 통해 세션을 생셩해줍니다. Database와의 통신 구조를 봤을때 직접 데이터베이스로 통신하는 2 Tier 방식이 있고, 대부분 사용되는 방식으로 App를 한번 .. 2020. 7. 11.
[Oracle] 데이터베이스 생성 후속 작업, Data Dictionary 조회 안되는 것 문제 해결 데이터베이스 생성 후속 작업 이전 글에서 데이터베이스 수동생성하는 작업을 진행했습니다. 수동으로 작업을 진행 했을 때 문제없이 데이터베이스를 사용할 수 있지만, 몇가지 안되는 기능들이 있어 후속 작업을 진행해주어야 합니다. dbca로 데이터베이스를 생성했을 때 자동으로 해주는 후속작업을 따로 해주는 것입니다. Database 수동 생성하는 방법은 아래 링크를 통해서 확인할 수 있습니다. [Oracle] 데이터베이스 생성 SID 추가 CREATE DATABASE 명령어 사용 OS : Red Hat Enterprise Linux Server 6.10 DB : Oracle 11.2.0.1 Oracle Database에서 DBCA를 이용하지 않고 수동으로 CREATE DATABASE 명령어를 사용해서 데이터베이.. 2020. 7. 11.
[Oracle] 데이터베이스 생성 SID 추가 CREATE DATABASE 명령어 사용 OS : Red Hat Enterprise Linux Server 6.10 DB : Oracle 11.2.0.1 Oracle Database에서 DBCA를 이용하지 않고 수동으로 CREATE DATABASE 명령어를 사용해서 데이터베이스를 생성하는 실습을 하려고합니다. 새로운 데이터베이스를 생성하면 새로운 SID를 지정하여 업무를 나눠 관리할 수 있습니다. 1. 환경변수 수정 oraenv 사용 Oracle 설치하는 과정에서 ORACLE_SID, ORACLE_HOME 환경변수를 설정하는 작업을 진행했을 것 입니다. Oracle Instance를 기동할때 어떤 데이터베이스로 연결해야하는지 알려주는 변수값이기 때문에 데이터베이스를 하나 더 생성한다면 간단하게 이 두가지 환경변수를 수정하고 다시 Instance.. 2020. 7. 9.
[ORACLE] Shared Pool 역할 및 구성 Shared Pool Shared Pool의 가장 큰 역할을 Parsing작업을 하기위해 사용된다는 것 입니다. Parsing된 정보를 저장하는 Library Cache와 이러한 Parsing 작업을 진행하는데 필요한 Data Dictionary의 정보를 메모리상에 올려 저장하는 Data Dictionary Cache가 Shared Pool의 핵심이라고 볼 수 있습니다. Shared Pool의 목적 Shared Pool과 Parsing에 대한 내용을 언급했습니다. Shared Pool의 목적은 빠른 Parsing을 위해 Hard Parsing을 줄이고 Soft Parsing의 비율을 높여 Oracle Database의 성능을 높히는 것 입니다. Soft Parsing : Library Cache에 저장되.. 2020. 7. 5.
[ORACLE] Reserved Pool 역할 및 확인 Reserved Pool Oracle Reserved Pool은 Shared Pool에 크기가 큰 오브젝트를 저장해야하는 경우 사용되는 메모리입니다. Parsing된 SQL이나 PL/SQL 문장 및 실행계획들은 Library Cache에 저장을 합니다. 그런데 이때 내부적으로 Chunk라는 1KB or 4KB 크기의 조각으로 오브젝트를 저장하는데 만약 이보다 큰 크기의 Chunk를 사용해야하는 경우에 Reserved Pool을 사용합니다. Reserved Pool 용량 확인 SHOW PARAMETER SHARED_POOL_RESERVED_SIZE Reserved Pool 정리 - Parsed된 크기가 큰 SQL or PL/SQL 오브젝트를 저장하는 공간 2020. 7. 5.
[ORACLE] Result Cache 역할 및 실습 Result Cache Result Cache는 Oracle 11g에서 처음 소개되었습니다. Result Cache는 사용자들의 대기 상황을 줄여줄 수 있는 대안으로 사용이 가능합니다. 어떤 사용자가 SQL 문장을 질의 했을때 Server Process가 가장 먼저하는 일은 Parse 작업을 통해 만들어진 실행계획으로 Database Buffer Cache에 필요한 데이터가 존재하는지 확인합니다. 한명의 사용자가 사용했을 때는 상관없지만, 다수의 사용자가 동시에 Database Buffer Cache를 접근하려고 할때 읽기 일관성을 유지하기 위해 Latch라는 메모리에 대한 Lock을 확보하여 Latch를 소유하고 있는 사용자만 해당 Block에 대한 작업 수행이 가능하여 다른 사용자가 대기하는 현상이 .. 2020. 7. 5.
[ORACLE] Data Dictionary Cache 역할 Data Dictionary Cache Data Dictionary Cache는 Data Dictionary Object 정보를 저장하는 공간이다. 사용자가 SQL Query를 질의 했을 때 Parsing 작업을 합니다. Library Cache에 해당 Query가 존재하지 않아 HardParsing 작업을 할 때 Semantic Check 작업을 통해 Query에서 사용한 테이블이나 칼럼 혹은 사용자의 권한을 확인하는 작업을 진행합니다. 이때, 테이블에 대한 정보나 사용자의 권한은 어디서 참조를 할까요? 이러한 정보들은 물리적으로는 SYSTEM Tablespace에 저장되어있습니다. SQL 문장에서 DataDictionary의 Object가 참조되면 Database Buffer Cache를 지나 Dat.. 2020. 7. 5.
[ORACLE] Library cache 역할 및 확인 Oracle Library Cache Library Cache는 Oracle Instance SGA Shared Pool 영역에 존재한다. 존재의 궁극적인 목표는 Oracle의 성능을 높여주기 위함이다. 사용자가 SQL 문장을 질의 했을때 Oracle 내부에서는 Parse - Execute - Fetch 단계를 진행하여 결과를 반환해주는데 Library Cache에 저장되어 있는 정보에 따라 Parse 단계를 거치지 않고 메모리에 저장된 정보를 그대로 사용할 수 있다. Library Cache 내부에는 공유 SQL 영역(Shared SQL Area)과 공유 PL/SQL 영역(Shared PL/SQL Area)이 존재하는데, 파스 과정이 완료되면 사용자가 실행한 SQL 문장과 실행계획이 저장되는 공간이다... 2020. 7. 5.
[Oracle] Rollfoward & Rollback 서버가 비정상적으로 죽었을 때, Checkpoint 회복 Oracle startup Oracle 서버를 기동했습니다. 이때 순서대로 instance started - database mounted - database opened 순서로 실행됩니다. instance started Oracle Instance인 SGA 공유 메모리와 Background Process들을 기동합니다. database mounted Control File을 읽을 수 있는 상태가 mounted 입니다. 이 단계에서 만약 전에 정상적으로 내려가지 않았다면 SMON Background Process가 Instance Recovery 작업을 합니다. Instance Recovery 작업으로 Rollfoward와 Rollback 작업을 합니다. database opened 데이터베이스를 사용할.. 2020. 4. 4.
[Oracle] redo.log 서버 내부적 Log Switch 작동 원리 :: 마이자몽 Redo Log Buffer Update 참조글 [Oracle] SGA Redo Log Buffer 리두 버퍼 사용원리 :: 마이자몽 Redo Log Buffer 이전 글들에서는 Shared Pool과 Database Buffer Cache에 대해서 하나의 SELECT문을 통해 어떤 원리로 사용되는지 알아봤습니다. 이번 글에서는 UPDATE문을 갖고 변경사항이 있을 때 Redo Log Bu.. myjamong.tistory.com redo.log ORACLE_BASE 아래 oradata 디렉토리를 보면 redo.log 파일들이 있습니다. 이 파일들은 Recovery 작업을 하기 위해 Oracle의 Background Process인 LGWR(Log Writer)가 수시로 입력해주고 있는 파일입니다. Or.. 2020. 4. 2.