본문 바로가기

Oracle

UNDO, REDO, LOGMINER Redo : redo 는 미디어장애나 인스턴스 장애등에 대하여 복구를 위해 사용되어진다. 복구는 크게 불완전복구 와 완전복구로 나누어 지듯이 redo에는 변경되기 전 값과 변경된 후 값 모두가 저장된다. 그래서 사용자가 원하는 시점으로 되돌릴수 있게 해준다. 또 정전등으로 인하여 인스턴스 장애가 장애가 발생한경우 오라클은 자동으로 redo와 archive에 있는 정보를 가지고 인스턴스를 복구한다. Undo : oracle9i부터는 rollback이란 용어가 undo로 바뀌었다. undo는 변경되기전 값만 저장한다. 따라서 사용자가 rollback을 하든가 문제가 생겨 자동 rollback할 경우 이 undo에서 정보를 읽어와 과거시점으로 되돌릴수 있게 해준다. redo는 트랙젝션의 실패에 대해 복구를 위.. 더보기
Logminer (로그마이너) 실행 절차 로그마이너 절차 (반드시 archive mode 로 운영중이여야 한다) ***패키지 설치 (필요시에)alter database add supplemental log data --------->logminer를 분석해도 결과가 안나올경우 해준다. 1. SQL> show parameter utl -------> 경로가 잡혀있는지 본다. 2. SQL> desc DBMS_LOGMNR -------> 패키지 설치 확인 3. SQL> desc DBMS_LOGMNR_D -------> 패키지 설치 확인 4. (1,2,3)이 안된경우 ----****1번이 안된 경우 database 재시작 필요함**** (1). alter system set UTL_FILE_DIR='/Oracle/DICT' scope=spfile; 후.. 더보기
nls_char ,spfile 위치 확인 1.데이터베이스 언어와 국가언어 확인 ------------------------------------------------------- select * from v$nls_parameters where parameter like '%SET'; 2.spfile 디렉토리 위치 확인 -------------------------------------------------------- select value from v$system_parameter where name ='spfile'; spfile을 확인했는데 결과가 없다면 pfile을 사용하고 있기 때문이다. pfile은 저 테이블에 저장하지 않기때문에 검색해도 나오지 않는다. 더보기
DB Buffer cache, Shared Pool 초기화 DB Buffer cache content 삭제(10g 이상 지원) SQL> ALTER SYSTEM FLUSH BUFFER_CACHE; Shared Pool Flush (파싱된 SQL문을 초기화) SQL> ALTER SYSTEM FLUSH SHARED_POOL; -->BUFFER_CACHE,SHARED_POOL 의 내용이 모두 날라가게 되므로 갑자기 CPU와 I/O의 부담이 증가할수 있다. 더보기
컬럼 관리 Column을 변경하는 것은 많은 문제점을 초래할수 있다. 일례로 많은 SQL문 중에 해당 Column이 쓰이고 있는데 변경을 하게되면 해당 SQL문은 모두 error를 return 할 것이다. 신중히 사전,사후 검토가 필요할 것이다. 1. 컬럼 속성 변경 ALTER TABLE 테이블명 MODIFY (컬럼명 속성명); ex> SQL> create table test (aaa number(4,2),bbb varchar2(5)); 테이블이 생성되었습니다. SQL> desc test; 이름 널? 유형 ----------------------------------------- -------- ------------- AAA NUMBER(4,2) BBB VARCHAR2(5) SQL> insert into test.. 더보기
Control file 재생성 1. user_dump_dest 경로 확인 2. 해당 경로로 이동 3. 컨트롤파일 트레이스 4. 해당 트레이스 파일 vi 편집실행 [oracle@localhost udump]$ ls -alrt total 36 drwxr-x--- 8 oracle dba 4096 Feb 24 10:03 .. -rw-r----- 1 oracle dba 623 Apr 4 21:34 orcl_ora_15069.trc -rw-r----- 1 oracle dba 5921 Apr 4 21:35 orcl_ora_15096.trc drwxr-x--- 2 oracle dba 12288 Apr 4 21:40 . [oracle@localhost udump]$ vi orcl_ora_15096.trc -- Set #1. NORESETLOGS ca.. 더보기
SQL TRACE ,tkprof 특정세션에 대해 trace를 거는 방법. 1. 해당 SQL이 돌고 있는 세션의 정보가 필요하다. select SID,SERIAL# from v$session where username=' ' and MACHINE =' ' 2.sid,serial#을 알아냈으면 특정세션에 트레이스 시작 SQL> exec SYS.DBMS_SYSTEM.SET_TRACE_IN(SID,SERIAL#,TRUE); 3.해당 세션에서 분석할 sql을 실행 한 후 sql이 실행완료되면 트레이스 종료. SQL> exec SYS.DBMS_SYSTEM.SET_TRACE_IN(SID,SERIAL#,FALSE); 4.트레이스 파일 위치 확인 SQL> show parameter user_dump_dest 5. 해당 위치로 이동후 트레이스파일이 생성.. 더보기
리눅스 디렉토리 구조 더보기
Tuning 참고 RBO 순위 결정 방법 흔히 /*+ RULE */ 힌트를 사용하면 Rule Base 로 optimizer가 실행계획을 세우게 된다. 그렇다면 RBO의 Access 경로 순위를 살펴보자. 순위 Access 경로 1 ROWID에 의한 단일 행 2 클러스터 조인에 의한 단일 행 3 고유 키나 기본 키를 가진 해시 클러스터 키에 의한 단일 행 4 고유 키 또는 기본 키에 의한 단일 행 5 클러스터 조인 6 해시 클러스터 키 7 인덱스화된 클러스터 키 8 조합 인덱스 9 단일 열 인덱스 10 인덱스화된 열에 대해 제한된 범위 검색 11 인덱스화된 열에 대해 제한되지 않은 범위 검색 12 정렬 병합 조인 13 인덱스화된 열의 MAX 또는 MIN 14 인덱스화된 열에 대한 ORDER bY 15 전체 테이블 스캔 CB.. 더보기
M view 1. M View(Materialized View) 란? View 는 논리적인 테이블이고 M View는 물리적인 테이블이다. 즉 데이터가 일정한 공간에 저장되어 있다는 뜻이다. 어떤 결과를 얻기위해 수행되는 쿼리가 빈번하게 일어날경우 이결과값을 데이터베이스내에 한 테이블에 저장하여 수행속도를 향상시키기 위해 사용된다. - SUM, MAX, MIN, AVG, COUNT 등과 같이 그룹함수를 미리 계산해 놓을때 사용. - USER_SEGMENTS에서 확인 가능하다. 2. M View Parameter - OPTIMIZER_MODE - QUERY_REWRITE_ENABLED - QUERY_REWRITE_INTEGRITY - COMPATIBLE 3. M View 특징 우리가 흔희 알고 있는 View는 실시간 데.. 더보기