리두 로그 (REDO LOG) 구성 구성 개념 : - ORACLE 6 버전까지는 그룹(GROUP)이라는 개념이 없어서 장애가 생기면 데이터베이스에 심각한 손상이 왔다 ORACLE 7 버전부터 그룹 개념이 생겼다. 같은 그룹(GROUP)일 경우 멤버(MEMBER)들은 같은 내용을 담고 있다. 모든 멤버가 삭제되면 데이터(DATA)가 손실되지만 그렇지 않을 경우 지워지지 않은 나머지 멤버(MEMBER)에 데이터가 안전하게 지켜긴다. 멤버가 많을수록 안정성을 높아 지지만 성능이 저하된다. 구성 규칙 : - 최소 그룹 갯수는 2개이며, 최고 멤버수는 1개이다. 그렇지만 권장사항은 그룹 최소 3개와 멤버 2개이다. 구성 방법 : - 1개의 그룹을 하나의 디스크에 몰려 있으면 디스크에 문제가 생기면 안에있는 전체 ..
리두 로그 관리 REDO LOG 관리 리두로그 (REDO LOG) 조회 방법SQL> col member for a35> col group# for 99999> col mb for 999> col seq# for 999> col status for a10> col arc for a3SQL> select a.group#, a.member, b.bytes/1024/1024 MB, b.sequence# "SEQ#",2 b.status, b.archived "ARC"3 from v$logfile a, v$log b4 where a.group#=b.group#5 order by 1,2; 신규 리두로그 그룹 (REDO LOG GROUP) 생성하기SQL> alter database add logfile group 4>..
테이블 스페이스 & 데이터 파일 TABLESPACE & DATAFILE ORACLE 서버란 대용랑의 데이터(DATA)를 저장하고 관리하는 프로그램이다.DATA를 어떻게 저장하고 어떻게 관리하지 대해 이해하여야 한다우리는 사용자가 원하는 데이터(DATA)를 조회(SELECT)할 때, 일단 메모리에서 찾아보고 없으면 디스크(물리적공간)에서 데이터를 적재(LOADING)하는 것을 잘 알고 있다.메모리(MEMORY)를 데이터처리 공간으로 사용하는 이유는 처리속도가 빠르기 때문에고, 디스크로 메모리에 있는 데이터를 수시로 저장하는 이유는 메모리 공간이 휘발성을 가지고 있기 때문에 데이터가 영구 저장이 되지 않는다. 반면에 디스크는 물리적 손상이 없다면 데이터를 안전하게 저장시켜주지만, 작업공간으로서는 속도면에서 ..
시스템 테이블스페이스 & 데이터 딕셔너리SYSTEM TABLESPACE & DATA DICTIONARY 시스템 테이블스페이스(SYSTEM TABLESPACE) : - 데이터 딕셔너리(DATA DICTIONARY)가 저장되어있고, 시스템 테이블스페이스가 손상될 경우 ORACLE 서버가 시작되지 않음- 시스(SYS) 계정의 소유이지만, 들어있는 정보들이 너무 중요해서 시스 계정 조차도 테이블 내용을 바꾸지 말고 조회만 가능- ORACLE 서버는 데이터 딕셔너리에 존재하는 정보들을 참조해서 운영된다 *데이터 딕셔너리란(DATA DICTIONARY)?- ORACLE 서버의 모든 정보를 저장하고 있는 아주 중요한 테이블(TABLE)이나 뷰(VIEW), ORACLE에서 사용하는 거의 모든 메타 정보나 운영 관련된 ..
언두 테이블스페이스 UNDO TABLESPACE 언두 테이블스페이스 (UNDO TABLESPACE) : - 사용자가 아니라 서버프로세스(SERVER PROCESS)가 사용자별로 언두세그먼트 할당해서 언두 데이터(UNDO DATA)를 관리 - 인스턴스(INSTANCE)당 여러개 존재하지만, 사용되는것은 한개 - 관리 방법은 자동 모드와 수동모드, 9i 부터는 AUM(오토매틱 언두 매니지먼트 AUTOMATIC UNDO MANAGEMENT) 사용 권장 언두 테이블스페이스 사용목적 : - 트랜잭셔널 롤백 (TRANSACTIONAL ROLLBACK) : 사용자가 롤백(ROLLBACK) 수행할 때 이곳에 저장된 언두 데이터(UNDO DATA) 사용 - 리드 콘씨스턴씨 (READ CONSISTENCY = CR) : ..
언두 세그먼트 UNDO SEGMENT 언두 세그먼트(UNDO SEGMENT) 할당 원리 :- 서버프로세스(SERVER PROCESS)가 사용자별로 언두 테이블스페이스(UNDO TABLESPACE) 를 할당하게 되는데, 특징은 언두 데이터 파일의 크기는 증가만되고 줄어 들지 않는다. 크기가 줄어들지 않는 이유? : 데이터 파일(DATA FILE) 저장범위- 덮어쓰거나 새로 세그먼트를 추가하는 방식으로 언두 세그먼트(UNDO SEGMENT)는 데이터파일에 저장된다.그러다 데이터파일에 범위가 넘어가게 되어 더이상 저장공간이 없게되면, 하나의 세그먼트에 두개 세션(SESSION) 이상의 언두 데이터(UNDO DATA)를 함께 기록하게 된다.그러다 그조차 없을 경우 해당 트랜잭션은 에러가 나게 된다. 언두 세그먼..
임시 테이블스페이스 TEMPORARY TABLESPACE 임시 테이블스페이스 (TEMPORARY TABLESPACE) :- 하나의 인스턴스(INSTANCE)에 여러개 생성 가능- 사용자별로 하나씩 각각 할당 해주는것을 권장함- 임시자료 저장하능 공간- DB 재시작하면 내용 사람짐- 정력작업이 이루어지는 공간, PGA 공간이 부족할경우 이곳에서 정렬작업이 일어남- 엑스포트와 임포트 (EXPORT/IMPORT) 작업공간- 크기를 크게 해주는것이 성능향상에 좋음 기존 임시 테이블스페이스 (TEMPORARY TABLESPACE) 조회SQL> set line 200> col tablespace_name for a10> col file_name for a50> select file_id, tablespace_nam..
그룹 임시 테이블스페이스GROUP TEMPORARY TABLESPACE 그룹 임시 테이블스페이스 (GROUP TEMPORARY TABLESPACE)( 기존 DB 접속 방법 ) - 사용자 A,B,C 전부 DB에 스캇 스키마(SCOTT SCHEMA) 로 접속해서 각각 테이블 A, 테이블 B, 테이블 C에 정렬작업(ORDER BY) 을 하게 된다면, PGA에 공간이 부족해서 스캇 스키마의 임시 테이블스페이스를 사용하게 된다여러명의 사용자가 하나의 임시 테이블스페이스 사용시 작업속도가 느려지게 된다 (그룹 임시 테이블스페이스 GROUP TEMP TABLESPACE) - 오라클 11g 부터는 임시 테이블스페이스를 여러개 생성해서 그룹으로 묶은 후, 위와 같은 상황시 각 사용자에게 그룹안에 있는 각 임시 테이블스페..
일반 테이블스페이스(TABLESPACE) & 온라인/오프라인(ONLINE/OFFLINE) 일반 테이블스페이스(TABLESPACE) : - DBA가 필요에 의해서 생성한 테이블스페이스- DBA 뜻 대로 생성 및 삭제 가능 일반 테이블스페이스 생성하기SQL> create tablespace test 2 datafile '/app/rmantest/test01.dbf size 5M; 테이블스페이스 조회하기SQL> select tablespace_name, status, contents, extent_management,2 segment_space_management 3 from dba_tablespaces; 테이블스페이스에 데이터파일(DATA FILE) 추가(수동) SQL> alter tablespace tes..
DATA FILE 이동 작업 DATA FILE 이동작업 - 사용중일 때 절대 이동시키면 안된다- 신규 디스크로 이동시키는 작업때 사용- 테이블 스페이스 오프라인후 이동- 테이블 스페이스 오프라인 안될경우 DB 종료후 마운트 상태에서 작업해야한다 오프라인(OFFLINE) 되는 테이블스페이스 경우순서 1. 테이블스페이스 오프라인 2. 데이터파일 대상위치로 복사 3. 컨트롤 파일내의 데이터파일 위치 변경 4. 테이블스페이스 온라인 * 컨트럴파일내의 테이터파일 경로 조회 방법 SQL> select name,status from v$datafile; 1. 테이블스페이스 오프라인 SQL> alter tablespace offline; 2. OS 명령어로 데이터파일 대상위치 복사 SQL> !mkdir /app/dis..