ASM 환경에서 au size 와 SQL 쿼리 속도 관계
AU SIZE 를 작게 하면 쿼리 속도가 느릴 수 있습니다. ASM 환경으로 구성된 테라 급 데이터베이스 의 SQL문 속도가 특히 IO 속도가 느려 확인 해 보니 AU SIZE 를…
DB Admin Knowhow
AU SIZE 를 작게 하면 쿼리 속도가 느릴 수 있습니다. ASM 환경으로 구성된 테라 급 데이터베이스 의 SQL문 속도가 특히 IO 속도가 느려 확인 해 보니 AU SIZE 를…
Oracle 12c R2 버전 이상 복구 방법 입니다. 실수로 시퀀스를 DROP 했을 경우 입니다. — 오후 1시에 drop 시퀀스문을 실행한 경우 select * from DBA_SEQUENCES as of timestamp(TO_DATE(‘2023/01/05…
partition index 가 Index Unusable (IU) 상태가 되었을 때 그 partition index을 사용 하게 되면 다음과 같은 에러가 발생하게 된다. SQL> SELECT /*+ INDEX(A A_IDX1) */ * FROM…
Table Random Access는 엄청난 부하를 유발 하는 작업이며 대부분의 성능 저하 SQL은 Table Random Access에서 시작됩니다. 인덱스 스캔 후 실제 데이터를 가져오기 위해 Table Random Access를…
Adaptive Query Optimization SQL의 실행 계획을 Runtime시에 변경하거나 향후에 더 나은 실행계획을 생성하기 위해 Optimizer에게 도움을 주는 메타 데이터를 수집하는 기능의 집합 Adaptive Join Methods는 SQL Runtime시…
현재의 Temp segment 사용량은 v$sort_usage(blocks)를 통해서 알 수 있으며, 과거의 Temp 사용 이력을 알 수 있는 방법은 ASH v$active_session_history 뷰의 event가 direct path read temp/direct path write temp인 것들을 통해…
1 개요 및 목적 Blcok corruption이 발생으로 인한 오류 ORA-01578 발생원인과 종류 및 확인, 처리방법에 이문서의 목적을 둔다. 1.1 Block Corruption 종류 1.1.1 Logical Corruption 메모리 블록의 손상 ORA-600 에러중…
1 테스트 환경 n 서버 : Sun Enterprise E3500 (2048M) n 운영체제 : Solaris 9 n 오라클 : Oracle 10.2.0.4 Enterprise 64bit 2 DBV Utility – Database verify 의 약자로, 7.3.2…
HUGE CLOB 데이터타입은 일반 쿼리로 불러올 경우 HUGE CLOB 의 내용이 보이지 않는다. 때문에 아래와 같이 SELECT DBMS_LOB.SUBSTR( 컬럼, 500) FROM TABLE 사용하여 SELECT 한다. SELECT DBMS_LOB.SUBSTR(칼럼명, DBMS_LOB.GETLENGTH(칼럼명), 1) –> 전체 row 뿌리기…
Recovery Database에 이상이 생겨 Error를 Return할 경우 Instance에 발생한 모든 Error는 Trace file로 받히고 Alert에 기록되므로 이상이 발견되면 제일 먼저 Trace file을 Check하여 Error를 확인하고 원인을 파악한다. Recovery 작업은 발생한…
Oracle 10g R2부터 Group By절에 의한 Grouping Column순으로 Sorting되지 않는 문제에 대한 접근 방식입니다. 기존의 고객이 Order by를 사용하지 않고 Group By만을 사용하였다면 문제를 제기할 수 있을 것입니다. 이러한 문제에 대한 대처방식입니다. …
어떤 session 이 rollback segment 를 잡고 비정상 작동 시 해당 rollback segment 를 찾아 이를 drop 후 재생성 해주어야 한다. 1. 해당 session 이 잡고 있었던 rollback segment 찾기…
ORA-600 [1113] State object being moved to freelist already free ORA-600[1113][] kss – Kernel Service State object manager. Problem Description: This error occurs when removing a state object to the free…
[1] Archive Mode 운영 중인 DB에서 특정 Table을 Drop 했을 경우. [현상1] 개발자가 실수로 특정 Table을 Drop 을 했음.(단, 개발자가 장애시점을 알고있다고 가정한다.) [현상2] Export 받은 데이터가 없음. DB를 shutdown…
ORACLE TOOLS(SQLPLUS,등)을 이용하여 한글DATA를 조회할 때 ???로 출력는데 해결 방법 ====================================================================================== DATABASE는 SQL COMMAND ‘CREATE DATABASE’를 포함하는 STATEMENT를 수행할 때 만들어지는데 우리가 그STATEMENT를 수행하기 앞서 고려해야 사항중의 하나가 DB CHARACTERSET…
ORA-1555 Snapshot Too Old 에러가 발생하는 원인은 여러가지가 있을 수 있다. 이를 이해하기 위해서 오라클의 내부 메카니즘에 대해서 알아볼 필요가 있다. 오라클은 항상 Statement-Level Read Consistency를 유지한다. 즉, 하나의 Query…
테이블 스페이스를 만들거나 데이타 화일을 추가하다 보면 ORA-01118: cannot add any more database files: limit of XXX exceeded 와 같은 에러가 발생하는 경우가 있다. 오라클의 데이타 화일의…
테이블 스페이스를 만들거나 데이타 화일을 추가하다 보면 ORA-01118: cannot add any more database files: limit of XXX exceeded 와 같은 에러가 발생하는 경우가 있다. 오라클의 데이타 화일의 최대 갯수는 MAXDATAFILES와…
모든 오라클 데이타 블럭은sequence 번호(seq)와incarnation 번호(inc)를 갖고 있다. ORA-1578 에러는seq=0 이고inc<>0(새로운 블럭이 아님)일 때 발생한다. ORA-1578 에러는ORA-600[3339] 에러와 함께 발생하곤 한다. ORA-1578 에러가 발생하면 corruption 발생한 화일번호와 블럭번호를…
AIX OS 환경에서 5.1 을 사용하다가 5.2 ML04 이상 또는 5.3 ML01 이상으로 올린 경우에 VMM 기능에 따른 성능 저하 문제와 PAGING ISSUE가 시간이 지남에 따라 빈번히 발생하여 운영에…
Oracle 11g 부터 Alert.log 와 trace file 은 새로운 형식으로 생성이 되며, 이는 ADR (Automatic Diagnotic Repository) 에 생성이 된다. 본 문서에서는 Database 에 심각한 에러가 발생한 경우, ADRCI 명령어를…
Oracle Wait Event를 보다 보면 log file sync 이벤트가 많이 발생 합니다. 대표적인 경우가 몇 개 있습니다. 1. Redo Log File Size를 증가시킴으로 Log Switch 수치 감소 ->…
LogMiner Overview 데이터베이스에 행해진 DDL, DML과 같은 정보는 모두 log file에 남게 된다. 이 log file(online redo log, archived redo log)로부터 원래의 SQL 문장 및 undo를 위한 SQL 문장을 뽑아낼…
Group by 절에 의한 자동정렬이 되지 않는 이유 Oracle 10g R2부터 Group By절에 의한 Grouping Column순으로 Sorting되지 않는 문제에 대한 접근 방식입니다.기존의 고객이 Order by를 사용하지 않고 Group By만을 사용하였다면 문제를 제기할…
Oracle Database 11g는 내부적으로 Table 크기에 대해 SMALL(Buffer Cache의 2%보다 작을 때), VERYLARGE( Buffer Cache의 5배 크기보다 클 때)로 구분하며 테이블에 대해 Full Table Sacn(FTS)을 할 때 Buffer Cache크기, Segment…
SQL> create sequence ots_seq; Sequence created. SQL> select ots_seq.nextval from dual ; NEXTVAL ———- 1 SQL> / NEXTVAL ———- 2…
cfile24.uf.26054F475689D91230E39E.pdf 사용자 실수로 오라클 클러스터 파일(GRID)을 유실 한 경우 복구 방법 테스트 자세한 내용은 첨부파일 참고
Oracle RAC 구축 시 ACFS 설치 문제로 GRID 설치가 진행이 안되는 이슈가 있습니다. Windows 2012 R2 에서 RAC 구축시에 ACFS 이슈가 나왔고 Softonly로 설치 후 Bundle Patch 하고 진행하니 이슈…
Windows 에서 Oracle RAC 구축시에 주의 할 사항으로 바로 네트워크 어댑터의 한글명입니다. Windows 를 한글로 설치하게 되면 네트워크 어댑터명이 이더넷 으로 등록이 됩니다. 네트워크 어댑터 명이 한글로 설정되게 되면 CRS…
오라클은 기본적으로 AWR SNAPSHOT을 주기적으로 생성합니다. SYSAUX Tablespace 의 공간에도 문제가 없었고, DB자체에도 문제가 없었는데 Snapshot 이 생성이 되지 않는 경우가 발생하였던 적이 있습니다. 아예 발생하지 않은게 아니라 드문드문 생성이…
오라디버그는 데이터베이스 내부 정보를 얻을 때 유용하게 사용된다. 1. oradebug dump 덤프 수행 [ Syntax ] oradebug dump <dump_name> <level> [addr] [ Parameter ] <dump_name> <level> [<addr>] …
[oradebug 사용법 – 3] 1. oradebug core 프로세스 충돌 없이 코어 덤프 2. oradebug ipc 오라클이 사용 중인 OS shared memory segment 정보, 세마포어 정보, RAC 인 경우 Interconnect 네트워크…
[oradebug 사용법 – 2] 1. oradebug resume 일시 중지된 프로세스를 재시작 SQL> oradebug resume 2. oradebug flush 메모리에 있는 정보를 Trace 파일에 Write 3. oradebug close_trace 프로세스가 잡고 있던 트레이스 파일 close 4. oradebug…
리커버리 데스트 사이즈 확인 및 수정 oracle@solaris:/u01/app/oracle/fast_recovery_area/ORCL1/archivelog/2015_01_14$ ss SQL*Plus: Release 11.2.0.4.0 Production on Thu Jan 15 00:04:29 2015 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database…
일반적인 컴퓨팅 시스템은 물리적 메모리 크기의 한계를 극복하기 위해 Virtual Memory 기법을 사용 하며, 상이한 두 메모리를 매핑하기 위해 Page Table이 존재하고 Page단위로 관리됩니다. 리눅스 시스템의 경우 보통 4k 크기의…
현상적으로 느끼는 DBMS Hang은 크게 “Very Slow Performance” 와 “Hang”으로 구분됩니다. – Very Slow Performance 마치 Hang처럼 보여 업무가 거의 돌지 않는 것처럼 보이지만 Hang을 유발하는 Blocker가 매우 짧은 시간간격으로…
Oracle Database Hang 상태의 정의 1. What`s the problem ? 현상 발싱시 상황 인지 시간 필요 현상을 정의하기 어려움 누가 현상을 분석하는가? 무엇을 확인하는가? Hang 현상으로 인해 상황 분석 불가…
이 document는 version8에 기반하여 upgrade하였다. 또한 단순이 dul executable과 함께 download받는 usg.html을 번역한 것이 아니라 그 동안 dul을 사용하면서 쌓아 왔던 경험 등을 함께 써놓았고 raw device dul을 사용하는데…
오라클은 클라이언트와 DB와의 최초 연결을 맺기 위해 1521 port를 사용 합니다. 양쪽이 모두 connection이 끝나면 임의의 새로운 port를 사용하게 됩니다. 따라서, 우선 Initiate connection이 성공적으로 이루어 지면 1521 port와 상관없이…
모 고객사에서 11g RAC(ASM) 환경에서 백업 정책이 제대로 설정 되지 않아 Archivelog Full 찼던 케이스가 있었습니다. Full 찬 상태에서 해당 DB는 접속이 되지 않고. 아래와 같이 crsctl stat…
AWR 통계정보 수집을 위해 statistics_level을 ALL로 변경하였다가 이후 LEVEL을 낮췄음에도 SYSAUX tablespace에 저장된 정보들로인해 디스크 full 상태가 발생한 이슈가 있었다. SYSAUX tablespace에 있는 WRI$_ 로 시작하는 테이블들에 AWR 수집 데이터 값이 남아있어 발생한 이슈로 해당 테이블을 $ORACLE_HOME/rdbms/admin 에 있는…
고가용성을 위한 Gigabit Switch 권장 클러스터링 기반으로 Oracle RAC 를 구축할 때, 시스템간의 데이터 통신을 위해 High speed interconnector 를 Crossover Cable 방식으로 구축운영하면 불안정하기 때문에 이러한 구성 방식으로…
CONTEXT SIZE & CURSORS 1. Context size 에 관련한 error message .ora-1046 :can’t acquire space to extend context area. .ora-1050 :can’t acquire space to open context area.…
이 방법은 백업으로 복구가 불가능 할경우 최대한 마지막 방법 입니다. 오라클 권고 사항은 절대 아닙니다. Data block이나 Index block이 corruption으로 인해 startup이 되지 않거나 어떤 object를 select못할 경우에 다음과 같은…
Rollback segment corrupt error message가 발생 했을 경우에 우선 rollback segment에 대한 정보를 알아야 한다. 즉, 어떤 rollback segment에 문제가 발생 했는지를 알기 위해 아래의 event를 사용한다. Init.ora …
1. 덤프 덤프 : 일회성으로 그 순간의 상태정보를 가집니다. 트레이스 : 10046, 10053 등의 이벤트를 걸게 되면 순간의 상태(immediate) 또는 세션이 close될때까지의 정보(trace name context forever)…
오라클 DB 서버의 CPU 소모의 원인… 1. CPU소모의 주원인 – CPU소모의 주요인은 주로 잘못 짜여진 SQL로 인해 발생한다. 어떤 SQL이 CPU의 자원을 잘못 사용하여 자원을 소모하는지를…
sysaux tablespace는 10g에서 새로 추가된 system default tablespace의 하나로 기존에 system tablespace에 저장되던 각종 ORACLE OPTION들의 schema가 저장되며 10g의 new feature인 AWR(auto workload repository) 데이터들이 저장되는 tablespace 입니다. awr정보는…
서로 다른 데이터 베이스 케릭터 셋 사이에 데이터 이동 시킨 후에 해당 데이터가 깨져서 나올 경우 convert 펑션을 사용하면 월래 내용을 확인 가능하다. 예) UTF8로 운영중이던 데이터 베이스에서…
Enqueue Lock 대기 현상 사례 모음 – 이 이외의 여러 가지 경우가 있을 수 있습니다. – 자주 목격되는 몇 가지 사례 위주로 정리 Enq : US Undo…
모 고객사에서 아래와 같은 문의사항이 있었습니다. # 기존 스크립트 1번 : sqlldr userid=scott/tiger control=abc.ctl errors=999999999 READSIZE=3145728 BINDSIZE=3145728 ROWS=5000 # 변경 스크립트 2번 : sqlldr userid=scott/tiger control=abc.ctl errors=999999999 READSIZE=20000000 BINDSIZE=20000000…
어제밤에 개발자가 올래걸리는 작업이 있어서 돌리고 퇴근 했다 다음날 출근해서 와보니 잘못된 조건으로 잘못된 DML이 아직도 안끝낫다.. 개발자는 아무렇지 않게 X버튼을 눌러 프로그램을 껏다. 어떤 상황이 발생할까.? 그 테이블의 Rollback이…
DR 전환 시 DB Recovery(1. 아카이브 존재 시, 2. 히든파라미터) # DB Recovery (Archivelog 파일 존재할 시) 1. 복구 데이터를 Copy 하기에 앞서 아래 디렉토리 생성(소요시간 : 1분) mkdir -p…
Oracle Technical Service 오라클 DB 장애 케이스 별 복구 방법 사례 복구 절차/방법 기술서 개요 여기에서는 오라클에서의 여러 가지 장애유형별로 복구절차에 대한 내용을 기술한다. NOARHCIVELOG 모드에서의…