전체 글 29

Archivelog File 정리 스크립트

Oracle Database를 Archive log mode로 사용하다보면 점차 Archive log가 쌓이게 되는데요.DB 사용량에 따라서 아주 빠른 속도로 쌓인다면 공간관리를 위해 더이상 필요없는 Archive log는 삭제를 시켜줘야 합니다.공간관리가 안되면 alert log에 No space left on device 및 ORA-16038 등의 에러가 발생합니다. Oracle에서 Archive log를 자동으로 삭제해주는 기능은 없기 때문에 관리자가 수동으로 제거해주는 과정이 필요합니다. 하지만 대부분의 경우 단순작업이기 때문에 수동으로 하지 않고, crontab을 이용해 자동화하여 사용중입니다.나의 환경에 맞게 Archive log 사용공간을 자동관리 할 수 있도록, 같이 스크립트를 만들어 보도..

OracleDB/Test 2024.09.06

ORA-19909: datafile XX belongs to an orphan incarnation 발생

안녕하세요. 오늘은 Recovery를 진행하다가 ORA-19909 에러를 만난 상황을 공유해보려합니다. Oracle RMAN의 Incarnation 개념이 약하신분들은 아래 내용을 보고 오시면 좋을 것 같습니다.https://eorrmqmf.tistory.com/18 RMAN 에서 Incarnation이란?RMAN Incarnation에 대해 말씀드리기전에먼저 Oracle DB를 OPEN하는 방식 중 RESETLOGS 옵션을 사용하는것이 어떤 의미인지부터 설명드리겠습니다. RESETLOGS란? Current Online Redo Logs를 Archiving하고 Onlineorrmqmf.tistory.com  (상황)- 장비이전하면서 Migration 방식으로 RMAN Backup file 이용해서 Res..

OracleDB/Test 2024.07.05

RMAN 에서 Incarnation이란?

RMAN Incarnation에 대해 말씀드리기전에먼저 Oracle DB를 OPEN하는 방식 중 RESETLOGS 옵션을 사용하는것이 어떤 의미인지부터 설명드리겠습니다. RESETLOGS란? Current Online Redo Logs를 Archiving하고 Online Redo Logs의 내용을 지우고, Log Sequence Number를 1로 재설정하는 방식으로 DB를 Open하는 옵션입니다. 예를 들어, RESETLOGS로 OPEN을 할 때 Current Online Redo Log가 sequence 1000,1001이라면 Database는 1000,1001을 Archiving한 다음 Online Redo Log를 Sequence 1,2로 재설정합니다.Incomplete Recovery(Point..

OracleDB/Concept 2024.07.05

SCAN IP/Listener 란?

SCAN(Single Client Access Name)은 Virtual IP address에 사용되는 이름(ex. node1-vip)과 유사한 Virtual IP Name입니다. 하지만 VIP와는 달리 개별 노드가 아닌 전체 클러스터와 연결되며, 하나의 address가 아닌 multiple IP address와 연결됩니다. SCAN은 public client connections을 처리하는 클러스터의 multiple IP address를 확인합니다. Client가 request하면 SCAN IP Address에서 listening하는 SCAN Listener와 Port가 Client에게 제공됩니다. Cluster의 모든 서비스는 SCAN Listener 에 등록되어 있으므로 SCAN Listener는 ..

OracleDB/Concept 2024.01.10

SGA - Database Buffer Cache

Database Buffer Cache란? Data File에서 읽은 Data Block의 복사본을 Temporarily caching하는 Memory 영역. Buffer Cache의 사용 목적 · Optimize physical I/O Database는 Cache의 Data Blocks을 Update하고 Redo log Buffer의 변경 사항에 대한 Metadata를 저장합니다. COMMIT 후에 Database는 Redo log Buffer에 바로 Write하지만, Data Block을 Data File에 즉시 Write하지 않습니다.(Deferred Write) · 자주 액세스하는 블록을 버퍼 캐시에 Keep, 자주 액세스하지 않는 블록을 Disk에 Write Solaris / Oracle Lin..

OracleDB/Concept 2023.07.10

SQL 처리 과정

오늘은 Database가 DDL문을 처리하여 object를 생성하고, DML문을 통해 Data를 수정하며 쿼리를 통해 Data를 검색하는 "SQL 처리 과정"에 대해 알아보겠습니다. ​ SQL 처리 과정은 크게 Parsing, Optimization, Row Source Generation 그리고 Execution 단계로 나뉘어집니다. 1. SQL Parsing 1.1. Syntax Check SQL 구문에 대한 규칙을 위반하는 명령문을 구분하는 단계입니다. SQL> SELECT * FORM employees; SELECT * FORM employees * ERROR at line 1: ORA-00923: FROM keyword not found where expected 1.2. Semantic Che..

OracleDB/Concept 2023.05.18

Oracle Block

굉장히 내부적인 내용이라 공부해야지 해야지 하면서 미뤄뒀던.. Oracle Block 내용을 정리해볼까 합니다.​ Data Block은 OS Block과는 다른 의미를 가집니다. OS Block은 OS가 read/write하는 최소 단위를, Oracle Block은 오라클 데이터베이스 I/O 최소 단위를 의미합니다. 이렇듯 아래 그림처럼 블럭의 크기또한 다르게 구성 될 수 있습니다. 그렇다면 Data Block은 어떻게 구성되어 있을까요? 크게보면 아래 두가지로 나뉘어집니다. Data Block Overhead(Common and Variable Header/Table Directory/Row Directory) Block 자신을 관리하기 위한 영역. 따라서 해당 영역에 user data를 저장할 수 없..

OracleDB/Concept 2023.02.16

Pfile/Spfile 차이

Parameter file이란? initialization parameters와 각 parameter의 값을 포함하는 파일입니다. Oracle은 Server Parameter Files(Spfile) / Initalization Parameter Files(Pfile) 두가지 Parameter file을 지원합니다. ​각 파일에 대해 설명하겠습니다.​ Spfile(Server Parameter File)이란? initialization parameters의 저장소 역할을 하는 바이너리 파일입니다. Oracle Database server가 실행되는 머신에 존재하며 인스턴스가 실행되는 동안 변경 된 parameter가 인스턴스 shutdown/startup 시에도 영구적으로 유지됩니다. ​ Pfile(In..

OracleDB/Test 2023.01.19

[Linux] su / su - / sudo 명령어 차이

각 커맨드의 차이점을 설명하기에 앞서 root user에 대해 간단히 소개하겠습니다.​ root user로 작업한다는 것은 아래와 같은 권한이 있음을 의미합니다: · Remove any or all files · Change the permissions of any or all files · Change the runlevel of the system · Alter user accounts · Mount or unmount filesystems · Remove or install software · Create, remove, and alter file systems 이처럼 root user는 시스템에 무엇이든 할 수 있는 all-powerful administrative 계정입니다. 이러한 root u..

IT잡지식 2023.01.12

virbr0 인터페이스 삭제

VM에 오라클 RAC 설치 테스트를 진행하면서 virbr0 인터페이스가 왠지모르게 생성되는 경우가 있습니다..ㅜㅜ​ grid user로 cluster 설치 전에 runcluvfy.sh라는 스크립트를 수행해서 requirements settings에 대해 확인할 때 요 인터페이스가 걸리는게 거슬려서 제거하는 방법을 포스팅하려합니다~ --runcluvfy.sh를 돌린 내용 중 virbr0 부분 Verifying Node Connectivity ...FAILED PRVG-1172 : The IP address "xxx.xxx.xxx.x" is on multiple interfaces "virbr0" on nodes "rac1,rac2" rac1: PRVG-11067 : TCP connectivity from ..

IT잡지식 2023.01.12