본문 바로가기
반응형

분류 전체보기205

ADR(Automatic Diagnostic Repository) - 오라클 로그 삭제를 안했지만 과거 로그가 삭제되는 경우가 있는데 ADR에서 자동으로 관리하기 때문- ADR의 Base Directory 는 11g 에서 새로 도입된 diagnostic_dest 파라미터 설정 값- 11g부터는 Alert File 이나 Trace File 이 예전과 같이 *_dump_dest 로 지정된 Directory에 더 이상 발생하지 않는다예전과 같은 방식으로 직접 *_dump_dest 를 지정하더라도 Oracle 은 이를 무시하고 새로운 방식(Automatic Diagnostic Repository)에 따라 각각의 File 에 저장한다- diagnostic_dest 의 기본경로는 $ORACLE_HOME/log 이지만, 환경변수 $ORACLE_BASE 가 설정되어 있는 경우에는 해.. 2022. 6. 17.
AFD disk 추가/삭제 추가 -- diskstring을 설정하는 여러 방법 -- asm disk에서 사용 할 디스크를 지정하는 설정 [grid@svr1 ~]$ asmcmd dsset 'AFD:*','/dev/rdsk/*' [grid@svr1 ~]$ asmcmd dsget parameter:AFD:*, /dev/rdsk/* profile:AFD:*,/dev/rdsk/* -- AFD 파일 생성 [grid@svr1 ~]$ cat /etc/oracleafd.conf afd_diskstring='/dev/rdsk/*' afd_filtering=enable -- ASM DiskString 확인 [root@svr1 ~]# asmcmd dsget Connected to an idle instance. ASMCMD-8102: no connec.. 2022. 6. 9.
ASMLIB to AFD(ASM Filter Driver) 마이그레이션 (ASM SINGLE) ASMLIB 보다 AFD를 권장(12.1.0.2 이후 버전) - Oracle AFD는 Oracle Grid와 함께 제공되므로 추가 다운로드 불필요하다. ASMLIB(oracleasm 구성)와 같이 초기 구성을 수행할 필요 없음 - 하나의 노드에 디스크를 추가 후 다른 노드에서 디스크를 스캔할 필요가 없음(oracleasm scandisks 불필요) ASMLIB 로 구성되어 있는 ASM DISK를 AFD로 마이그레이션 테스트 -- asmlib 디스크 확인 [root@svr1 ~]# oracleasm listdisks DATA [root@svr1 ~]# oracleasm querydisk -p DATA Disk "DATA" is a valid ASM disk /dev/sdb1: LABEL="DATA" TYP.. 2022. 6. 8.
RMAN RAC(ASM) to SINGLE(file system) DB_NAME 변경하여 RESTORE 버전 : ORACLE 11.2.0.1 racdb(원본 db_name) to newdb(복구 db_name) - 복구 순서 1. pfile 수정 (원본 db_name으로 설정) 2. nomount 상태에서 controlfile 복구 3. mount 후 restore database 4. pfile 수정 (변경 후 db_name으로 설정) 및 control file 재생성 5. recover database (원하는 시점까지) 6. database open resetlogs BACKUP 데이터 생성 및 full 백업 -- 테이블 생성 SQL> create table sk.t1 (c1 varchar(10), c2 varchar(10)) ; Table created. SQL> exit -- FULL BACKUP.. 2022. 5. 27.
RMAN 불완전 복구 버전 : ORACLE 19.3.0.0 - 복구 시 필요 파일 : full backup, controlfile, 아카이브 로그 - 복구 순서 1. nomount 상태에서 controlfile 복구 2. mount 후 restore database 3. recover database (원하는 시점까지) 4. database open resetlogs - checkpoint_change# 번호 조회 SQL> SELECT name, checkpoint_change#, checkpoint_time, status FROM v$datafile_header ; 테스트 데이터 INSERT 및 백업 진행 ## 테이블 생성 create table sk.t1 (c1 varchar(10), c2 varchar(10)) ; ##.. 2022. 5. 27.
선분이력 테이블 선분이력의 인덱스 스캔 효율 - 최근 데이터를 주로 조회 : Index [종료일 + 시작일] - 과거 데이터를 주로 조회 : Index [시작일 + 종료일] - Index [시작일 + 종료일] 구성일 때 최근 시점 조회 SELECT /*+ index_desc(A idx_x01) */ * FROM 고객별연체금액 A WHERE 고객번호 = '123' AND '20170131' BETWEEN 시작일 AND 종료일 AND ROWNUM 2022. 5. 25.
스칼라 서브쿼리 캐싱 및 버퍼 pinning - 오라클은 스칼라 서브쿼리 수행 시 입력 값(메인쿼리에서 받은)과 출력 값을 내부 캐시(Query Execution Cache)에 저장 - _query_execution_cache_max_size 파라미터 사이즈 만큼 캐시 사용 - 스칼라 서브쿼리가 수행될 때 '입력 값'이 캐시에 있으면 저장된 '출력 값'을 리턴 - 캐시에서 찾지 못한 경우 쿼리 수행, 결과값은 캐시에 저장 - 스칼라 서브쿼리의 캐싱 효과는 입력 값의 종류가 적을 때 성능 개선 효과 테스트를 위해 아래와 같이 테이블을 생성하자.CREATE TABLE t1 AS SELECT ROWNUM AS c1, NVL (NULLIF (MOD (ROWNUM, 100), 0), 100) AS c2 FROM XMLTABLE ('1 to 10000'); .. 2022. 5. 24.
티스토리 코드블럭 라인 번호 설정 방법 코드블럭 하이라이트 및 라인넘버 html 편집 -> html 사이에 아래 구문 추가 html 편집 -> CSS 맨 아래에 아래 구문 추가 /* Line Number CSS */ /* for block of numbers */ .hljs-ln-numbers { -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; text-align: center; color: #ccc; border-right: 1px solid #CCC; vertical-align: top; width: 25px; } /* .. 2022. 5. 17.
RAC relink 작업 버전 : ORACLE 19.3.0.0 - OS 패치 등으로 인한 RAC 환경 relink 작업 진행 절차 - relink 작업은 롤링으로 할 수 없으므로 모든 서비스 내리고 진행(SR가이드는 이렇게 받았지만 테스트 시 롤링으로 relink 작업진행에 문제는 없었다) DBMS STOP ## 리스너 STOP [root@svr1 ~]# srvctl stop LISTENER ## DBMS STOP [root@svr1 ~]# srvctl stop database -d racdb [root@svr1 ~]# crsctl stat res -t -------------------------------------------------------------------------------- Name Target State .. 2022. 5. 17.
시퀀스(sequence) last_number 의미와 alter sequence 시 변화 dba_sequences.last_number 값의 의미 dba_sequences.last_number 값은 cache가 반영된 값이다. cache 가 20이고 last_number 11일 경우 nextval 하면 11이 채번된다. SQL> SELECT * FROM DBA_SEQUENCES WHERE sequence_owner = 'SK' ; SEQUENCE_OWNER SEQUENCE_NAME MIN_VALUE MAX_VALUE INCREMENT_BY CYC ORD CACHE_SIZE LAST_NUMBER -------------------- ------------------------------ ---------- -------------------------------------------------.. 2022. 5. 11.
ASM DISK 사이즈 다른 경우 DATAFILE 추가 테스트 버전 : ORACLE 19.3.0.0 ASM DISK 추가 시 동일 사이즈 LUN 추가를 권장하는 이유와 같은 DISK GROUP 다른 DISK 사이즈 상황에서 DATAFILE 추가 시 사이즈 할당이 어떻게 되는지 테스트 해 보았다. 요약 : - DISK SIZE에 비례해서 할당되는 사이즈도 달라진다 : 동일 사이즈의 LUN 추가를 권장하는 이유는 데이터 불균형이 발생 할 수 있기 때문 - ASM disk 사이즈가 다를 경우 데이터분산 불균형이 발생하므로 동일사이즈로 할당하는것을 권장 - 사이즈에 따른 성능 차이는 없으며 LUN 수가 많지 않게 하는 것을 권고(관리 오버헤드 발생) - ASM1 5G 이고 나머지는 1G 사이즈 데이터파일 사이즈를 100MB 늘렸더니 아래와 같이 할당 : 100/4 는 25.. 2022. 5. 10.
ARCHIVE(아카이브) HANG 조치, ORA-16020 DBMS: oracle 11.2.0.1 운영 중 갑작스런 archive 영역 사용 증가로 redo log archive에 실패하여 DB가 HANG 상황에 빠지는 경우가 있다. 아카이브 영역을 정리 후 'archive log all'을 시도 했지만 ORA-16020 에러 발생하며 진행이 안될 때 해결방법 HANG 발생 후 조치하였지만 reopen 값에의해(default 300초) 바로 풀리지 않고 기다리고 있는 경우에도 사용하여 바로 진행 할 수 있다(관련 값 V$ARCHIVE_DEST 에서 확인 가능). 요약: 1. 아카이브 경로 FULL로 HANG 발생 2. 해당 경로 정리 후 ARCHIVE LOG ALL 실행(ORA-16020 발생하며 실패) 3. alter system set log_archive_.. 2022. 3. 28.
redo log 사이즈 변경 RAC ASM 버전 : ORACLE 11.2.0.1 요약 : 신규로그 노드별 logfile group 추가 log switch 및 checkpoint 사용하여 삭제 대상 (CURRENT -> ACTIVE -> INACTIVE) 상태로 만들어 준다 drop logfile group 으로 삭제 노드별 3개 그룹 2개 멤버 파일로 구성하여 신규 로그 추가 SQL> select a.group#, THREAD#, SEQUENCE#, a.member, b.bytes/1024/1024 MB, b.archived, b.status from v$logfile a, v$log b where a.group# = b.group# order by 2, 3 ; 2 3 4 5 6 7 8 GROUP# THREAD# SEQUENCE# MEMBER .. 2022. 3. 25.
srvctl stop/start database 명령은 어떤 노드부터 동작할까? 버전 : ORACLE 11.2.0.1 srvlctl stop/start database 명령을 사용하여 재기동 진행 시 노드 별 재기동 순서가 있을까? 라는 궁금증이 생겨 테스트 진행요약:- stop 은 동시에 진행 됨- start 는 한 노드 씩 순차적으로 진행됨- start database 명령으로 기동 시 딱히 정해진 순서는 없어 보임(명령을 실행 한 노드 또는 인스턴스가 중지된 순서 등 여러상황 반복 테스트 시 특별한 규칙을 찾을 수 없었음)- 노드별 재기동 순서가 있을 경우 인스턴스 레벨로 진행하는 것이 좋다rac1 노드에서 명령 실행rac1 -> rac2 순서 stop 진행 rac2 부터 기동됨[oracle@rac1 ~]$ srvctl stop instance -d RACDB -i racdb1.. 2022. 3. 25.
db_files 파라미터 변경 RAC 버전 : ORACLE 11.2.0.1 요약: - 해당 파라미터는 디비에서 사용 가능한 data_file 수(temp, control, redo 등은 제외)로 설정값보다 많을 수 없다 - 파라미터 적용 시 DB 재기동 필요 - db_files 파라미터는 RAC 구성에서 롤링(한 노드씩 작업 진행)으로 변경 불가, 모든 노드 내리고 올려야 함 DB_FILES PropertyDescription Parameter type Integer Default value 200 Modifiable No Range of values Minimum: the largest among the absolute file numbers of the datafiles in the databaseMaximum: operating sys.. 2022. 3. 23.
반응형