본문 바로가기
728x90

Dev99

[Oracle] 결합 인덱스 결합 인덱스 두 개 이상의 컬럼을 합쳐서 인덱스를 만드는 것. SQL 문장에서 WHERE절의 조건 컬럼이 2개 이상 AND 로 연결되어 함께 사용되는 경우에 결합 인덱스를 사용 2개 이상의 조건이 OR로 조회되는 경우는 결합 인덱스를 사용하면 안된다 첫번째 조건에서 최대한 많은 데이터를 걸러, 두번째 검사를 쉽게 만들어 주어야 한다. 컬럼의 순서대로 1차 필터링, 2차 필터링 하는 개념 결합 인덱스의 경우 첫번째 컬림이 사용되지 않는다면 그 결합 인덱스는 사용되지 않는다. ex ) 만약 id라는 컬럼은 조건절에 잘 사용되지 않는다면 결합 인덱스의 첫 컬럼으로 사용하지 않던가, 별도의 인덱스를 생성하여 사용하는 것이 바람직 ※ 결합 인덱스 생성 시에 주의할 점은 '얼마나 자주 사용되는가' WHERE 절에서.. 2022. 6. 21.
[Oracle] 인덱스 구조 인덱스 기본 구조 루트 블록 브랜치 블록 하위 노드 블록을 찾아가기 위한 Data Block Address를 갖는다. 리프 블록 : 가장 마지막 레벨의 블록 인덱스 키 컬럼, 주소 정보(ROWID)를 갖는다. ※ ROWID : 해당 테이블 레코드를 찾아가기 위한 주소 정보. 데이터파일 번호, 블록 번호, 로우 번호 같은 테이블 레코드의 물리적 위치 정보를 포함. 확장 ROWID 포맷 데이터 오브젝트 번호(6자리) : 데이터베이스 세그먼트를 식별하기 위해 사용되는 번호 데이터파일 번호(3자리) : 로우가 속한 데이터 파일 번호 블록 번호(6자리) : 해당 로우가 저장된 데이터 블록 번호 로우번호 (3자리) : 블록 내에서 각 로우에 붙여진 일련번호로서, 0부터 시작 ## ROWID 확인 SELECT ROW.. 2022. 6. 21.
[Oracle] 복구한 DB 원복 AS-IS : TESTDB , TO-BE : ORCL (초기상태) 다시 ORCL DB를 보게 만들어줘야 한다 .profile 수정 (TESTDB - > ORCL) (TESTDB)/> cd (TESTDB)/oracle/app/oracle/product/192> vi .profile # 수정 전 .profile ... export ORACLE_SID=TESTDB export ORACLE_UNQNAME=TESTDB ... # 수정 후 .profile ... export ORACLE_SID=ORCL export ORACLE_UNQNAME=ORCL ... # profile 적용 (TESTDB)/oracle/app/oracle/product/192> . ./.profile (ORCL)/oracle/app/oracl.. 2022. 6. 20.
[Oracle] RMAN 복구 목차 FULL BACKUP + ARCH 복구 FULL BACKUP 복구 ARCH 복구 ※ 모든 복구는 다른 데이터베이스에서 복구하는 상황을 가정한다. 복구를 위해 사전에 init.ora 파일 세팅해둘것 vi $ORACLE_HOME/dbs/initTESTDB.ora 1. FULL BACKUP + ARCH 복구 192.168.4.41 (TESTDB) -> VM (TESTDB) 이름은 동일하게 맞춰준다. RMAN으로 FULL BACKUP을 해주고 추가로 데이터를 쌓은 뒤 ARCHIVED LOG FILE은 파일 자체를 복사해왔다. 복구 과정은 VM C7 (스테이지DB) 에서만 진행된다. profile 설정 변경 . ./.profile 혹은 export ORACLE_SID=TESTDB export ORACLE_U.. 2022. 6. 19.
[Oracle] RMAN Backup RECOVERY MANAGER (RMAN) : 오라클에서 제공하는 백업 및 복구 작업을 수행하고, 백업 전략 관리를 자동화하는 솔루션 특징 : 증분 레벨 (INCREMENTAL LEVEL) 백업 기능 지원 BLOCK CHANGE TRACKING 기능 백업 수행 중 훼손된 블록 감지 자주 실행하는 작업을 스크립트로 저장 가능 사용 중인 블록만 백업 백업 수행시 압축 지원 제한 사항 : OPEN 상태에서 백업을 받으려면 DB가 ARCHIVE LOG MODE 이어야 한다. DB가 MOUNT 또는 OPEN 상태여야 한다. 백업 가능 대상 DATABASE TABLESPACE DATAFILE ARCHIVED REDO LOG CONTROL FILE +) ONLINE REDO LOG에 대해서는 백업하지 못하므로 ARC.. 2022. 6. 17.
[Oracle] 조인 정리 1. Nested Loop Join (NL 조인) 특징 테이블 간 조인을 한 레코드씩 순차적으로 수행한다. 랜덤액세스 방식으로, 대량의 데이터엔 비효율적이다. 수행 방법이 For loop와 유사 for tableA (Outer) for tableB (Inner) tableA.col == tableB.col 성능? 선행 테이블의 처리 범위, 스캔 범위가 작아야 유리하다. 선행 테이블은 조건 필터된 데이터를 풀 스캔하기 때문에, 선행 테이블의 데이터 양이 성능에 영향을 끼친다. 해당 결과를 가지고 후행 테이블에 접근할 때 인덱스를 사용하기 때문에, 후행 테이블의 인덱스가 잘 구성되어 있어야 좋은 성능을 낼 수 있다. => 선행 테이블의 데이터 양이 적고, 후행 테이블의 인덱스가 잘 구성되어 있을 수록 좋은 .. 2022. 6. 16.
728x90