Oracle/Admin 19

[Admin] ORA-01157, ORA-01110 장애 해결 방안

1. 문제 발생 - DB 오픈 시 UNDO 데이터 파일 에러 발생 SQL> startup ORACLE instance started. Total System Global Area 422670336 bytes Fixed Size 1344616 bytes Variable Size 314575768 bytes Database Buffers 100663296 bytes Redo Buffers 6086656 bytes Database mounted. ORA-01157: cannot identify/lock data file 3 - see DBWR trace file ORA-01110: data file 3: '/app/oracle/oradata/testdb/undotbs01.dbf' 2. 문제 해결 -- UNDO..

Oracle/Admin 2017.03.16

[Admin] ORA-00600[4193] 장애 해결 방안

1. 문제 발생 - Alert.log에 다음과 같은 에러 발생 ORA-00600: internal error code, arguments: [4193], [], [], [], [], [], [], [], [], [], [], [] 2. 문제 확인 - Alert.log에 적힌 trace파일을(예. [SID]_smon_3124_ORA_00600.trc) 확인하면 REDO의 seq와 UNDO의 seq가 다른 것을 확인할 수 있음. - 주로 정상적으로 Oracle이 종료되지 않았을 때 발생함. Error 600 in redo application callback Dump of change vector: TYP:0 CLS:26 AFN:3 DBA:0x00c021c0 OBJ:4294967295 SCN:0x0001.e..

Oracle/Admin 2017.03.16

[Oracle][Admin] SQL을 활용하여 오라클 데이터 파일 축소 작업

[테스트 환경] OS : windows server 2008 DB : ORACLE 11gR2 오라클 데이터 파일(Data file)은 데이터가 적재 될수록 크기가 점점 늘어나며, 데이터를 삭제 또는 테이블을 DROP 한다고해서 크기가 줄어 들지 않는다. 따라서 데이터 파일의 현재 사용량을 계산하고 RESIZE작업을 해야만 데이터 파일 크기를 변경 할수 있다. SQL을 통하여 현재 데이터 파일의 사용량을 확인하고, 축소 가능한 데이터 파일 용량을 계산하여 최종 변경하는 출력하는 작업을 진행 한다. 1 .현재 데이터 파일 사용량 확인 - 테이블 스페이스 명으로 조회하여 몇 개의 데이터 파일로 구성된 개수와 데이터 파일의 크기 및 사용량을 확인 한다. [조회 쿼리] SELECT SUBSTR(A.TABLESPA..

Oracle/Admin 2017.02.06

[Admin] 컨트롤파일, 데이터파일, 리두로그파일 경로 변경

# 컨트롤파일 경로 변경 /*1. 파라미터 파일 확인 2. 컨트롤파일 경로 확인 3. DB 종료 4. 컨트롤파일 복사 5. 컨트롤파일 경로 변경 6. 컨트롤파일 경로 변경 확인 */ -- 1. 파라미터 파일 확인show parameter spfile; -- 2. 컨트롤파일 경로 확인 SELECT A.NAME FROM V$CONTROLFILE A; -- 3. DB 종료 shutdown immediate; -- 4. 컨트롤파일 복사 -- 기존 컨트롤파일을 대상 디렉토리로 복사 -- 5. 컨트롤파일 경로 변경 -- 5.1. mount로 시작 startup mount; -- 5.2. controlfile 경로 변경 alter system set control_files ='경로','경로' scope=spfile..

Oracle/Admin 2016.11.01

온라인 세그먼트 축소

1. SHRINK 작업의 정의 - SEGMENT에 할당된 EXTENT를 TABLESPACE로 반환하는 작업 - SHRINK 작업으로 SEGMENT의 용량은 줄어들고, TABLESPACE의 용량은 줄어들지 않음(TABLESPACE의 용량은 축소시키기 위해서는 RESIZE 작업이 필요함) - 장점: INSERT,DELETE를 통해 데이터를 이동하기 때문에 추가적인 공간이 필요하지 않음 - 단점: 일부 데이터만 이동하기 때문에 Row Migration이나 Chaining이 전체적으로 해결되지 않음 2. SHRINK 작업 방법 (출처: http://www.slideshare.net/ashilo/getting-to-know-oracle-database-objects-iot-mviews-clusters-and-mo..

Oracle/Admin 2016.07.28

Oracle Hot backup 시 scn 확인

특정 테이블스페이스 Hot backup 시에는 해당 데이터 파일을 사용하지 못함 따라서 backup 도중 테이블스페이스에 속한 테이블의 데이터 변경이 발생할 경우, SCN을 통해서 변경된 데이터에 대한 작업 확인 1. BEGIN BACKUP - BEGIN BACKUP은 버퍼 캐시에 있는 데이터가 데이터 파일로 내려 써진 이후에 진행된다. 2. 현재 SCN 확인 - 쿼리SELECT CURRENT_SCN FROM V$DATABASE; 3. 데이터파일의 SCN 확인 - 쿼리SELECT A.NAME, B.CHECKPOINT_CHANGE#FROM V$TABLESPACE A,V$DATAFILE BWHERE 1 = 1AND A.NAME = 'TEST_TBS' /*테이블스페이스명*/AND B.TS# = A.TS#; 4..

Oracle/Admin 2015.10.30

ORACLE AUDIT

문장 감사 SQL문장에 대해서 모니터링 옵션 확인 권한 감사 SYSTEM 권한을 모니터링 옵션 확인 오브젝트 감사 특정 오브젝트에 행해지는 명령문에 대한 모니터링 옵션 확인 감사 테스트 parameter file의 audit_trail값에 따라서 감사 방식이 달라지며 SQL_TEXT의 데이터를 확인할 땐 db_extended로 변경해주어야 한다. 문장, 권한 감사 - scott계정이 테이블 생성하는 것을 모니터링 scott계정으로 테이블 생성 모니터링 확인 문장 감사 – scott 계정이 emp 테이블을 조회하는 것을 모니터링 모니터링 확인 감사테이블 삭제

Oracle/Admin 2015.07.06

USER 및 PROFILE 생성

USER USER 생성 유저에게 할당된 테이블스페이스의 공간을 다 사용하면 다음과 같은 에러가 발생한다. 유저의 비밀번호를 잊어버렸을 때에는 비밀번호를 초기화 시켜주면서 로그인 시 새로운 비밀번호를 입력하게 할 수 있다. PROFILE PROFILE은 유저의 DB RESOURCE를 제한할 때 사용한다. RESOURCE_PARAMETERS SESSIONS_PSER_USER: 한 유저가 접속할 수 있는 세션의 수를 지정 CPU_PER_SESSION: 한 세션에서 사용할 수 있는 CPU time을 지정(n*100초) CPU_PER_CALL: 한 CALL(parse, execute, fetch)에서 사용할 수 있는CPU time을 지정(n*100초) CONNECT_TIME: 한 세션에서 총 사용 시간을 지정(분..

Oracle/Admin 2015.07.01

클론DB로 drop된 테이블 복구

백업된 데이터파일로 클론DB를 만들어 완전히 삭제된 테이블을 복구할 수 있다. 전체 데이터파일 복구 DB종료 후 전체 백업을 한다. SCOTT 유저로 테이블을 생성하여 데이터를 입력하고 커밋된 시점의 시간을 확인한다. 다시 데이터를 입력하고 커밋된 시점의 시간을 확인한다. (입력된 데이터 b까지 복구) 아카이브 로그로 쌓일 수 있도록 로그 스위치를 발생신킨다. (resetlogs로 복구하기 때문에 변경된 내용이 아카이브 로그에 없으면 복구가 불가능하다.) 테이블을 완전히 삭제한다. 기존에 사용하던 파라미터 파일 (PFILE 이용)을 복사하여 클론DB용 파라미터 파일을 생성하고, 클론DB의 컨트롤파일 경로와 DB명을 변경한다. 백업된 데이터파일을 클론DB의 경로로 복사한다. 클론DB의 컨트롤파일을 생성하기..

Oracle/Admin 2015.06.24

데이터파일 백업 및 복구

백업 Hot backup(DB open 상태에서 백업) exp/imp, expdp/impdp alter tablespace [tablespace_name] begin backup/end backup 백업 중인 테이블스페이스에 속한 테이블의 데이터 변경 작업은 리두 로그에 쌓이기 때문에 가능하다. 그러나 로그 스위치가 발생할 경우 데이터 손실이 있을 수 있기 때문에 Archive mode에서만 입력된다. Cold backup(DB closed 상태에서 백업) Control file, Redo log file, Data file 복사 복구 archive log mode 시 offline되는 테이블스페이스 복구 offline이 되는 테이블스페이스는 DB 종료 없이 복구가 가능해서 downtime을 최소화할 수..

Oracle/Admin 2015.06.15