품질 & RiskManagement
오라클 데이터베이스의 표준가이드에 따른 품질관리 구성
테이블 스페이스(TableSpace)
오라클에서 테이블 및 다른 오브젝트(Table, View, Index, Sequence, Sysnonyms, Function, Procedure, Trigger, Column, Row )를 저장하는 논리적인 공간을 테이블 스페이스라 한다. 쉽게말해 테이블스페이스는 데이터베이스 안에 논리적으로 가장 큰 저장공간이자 Segment(오브젝트)의 집합이기도 하다.
테이블 스페이스의 종는 크게 데이터 축적과 운영에 필요한 시스템(System)테이블스페이스와 읽기 및 일관성을 유지하기 위한 일반(사용자) 테이블스페이스로 나뉜다. 테이블 스페이스의 대표적인 예로는 SYSAUX가 있고, 일반 테이블 스페이스에는 USERS, TEMP 등이 있다.
테이블의 생성 순서는 테이블이 저장될 공간을 만든 후, 테이블을 생성한다.
오라클의 데이터베이스는 테이블을 테이블 스페이스별로 나누어 관리한다.
생성방법
1.sysdba 계정으로 접속한 후 TEST라는 테이블 스페이스를 생성한다.
sql>CREATE TABLESPACE TEST
DATAFILE ’경로지’ SIZE 100M
AUTOEXTEND ON NEXT 10M ; #오토사이즈 설하여 데이터가 정해진 공간을 넘어가면 maxbytes로 10M 를 더 사용한
2. 쿼리로 확인
select * from dba_tablespaces where tablespace_name = 'TEST' ;
오라클 리소스 관리(Oracle Resource Manager)
특정세션이 데이터베이스의 자원을 무한정으로 사용하지 못하도록 제한을 둔 기능
[RM] 오라클DB Backup 방법
장애가 발생으로 DB 서비스가 불가능한 상태가 되었을 때를 대비하여 필요한 파일들을 미리 복사해 두는 방법을 보통 백업이라 한다.
오라클 데이터베이스의 백업방식은 크게 두가지로 나뉜다. 하나는 '콜드(Cold)백업'으로 데이터베이스가 shutdown 된 상태에서 진행하는 백업 방식으로 닫힌(Closed) 백업이라고도 부른다. 이 방식은 특정시점에서의 데이터를 백업 받기에 백업받는 동안은 DB 서비스가 불가능하, 불완전한 복구 방법이다.
콜드백업의 절차는 간단하다.
백업파일 경로를 확인 후 DB shutdown 한다.
사용자가 원하는 경로로 백업 대상의 파일을 copy 한다.
DB를 startup 시킨다.
*백업 대상의 필수파일
DataFiles (select * from v$datafile)
Redo Log Files (select * from v$logfile)
Control Files (select * from v$controlfile)
*백업 대상의 선택파일
(필수로 백업 대상의 파일은 아니지만, 운영자에 의해 선택적으로 받아둘 파일)
Parameter Files(initSID.ora, spfileSID, configSID.ora, etc)
Password Files($ORACLE_HOME/dbs/orapwSID)
*백업 시 주의사항.
열린백업은 테이블스페이스 단위로 백업
반드시 DB는 아카이브 모드에서만 가능
데이터파일, 컨트롤파일만 백업 가능(리두로그파일은 데이터파일의 변경되는 내용이 저장되는 중이기 때문.)
다른 하나는 핫(Hot)백업으로 데이터베이스가 운영 중인 상태에서 진행하는 백업방식이다. 백업중에도 DB 서비스가 가능하지만, 백업 시 DML 작업이 빈번한 시간대에는 피해서 백업을 진행하길 바란다.백업 동안의 변경되는 내용은 리두로그파일에 저장되어 백업이 끝난 다시 데이터파일에 적용하기 위 아카이브로그모드로 작동한다.
주희해야할 점은 데이터베이스가 Open 상태이며, 반드시 아카이브 모드(Archive log mode)이어야 한다.
핫백업의 절차순서는 다음과 같다.
1.백업받을 테이블스페이스(Tablespace)조회 , 컨트롤 파일,리두로그 조
2. SYSTEM 테이블 스페이스를 OPEN 백업 수행
3. OS명령어로 원하는 경로에 파일 복사한다. ( !cp 원본경로 백업할경로
)
4. 핫백업 종료
[RM] RedoLog 장애복구
장애 발생시 Redo log file에서 복구할 수 있는 정보를 찾아 해결하는데, Redo log 파일이 장애나면, Redo log 파일안에 들어가 있는 내용 복구 할 수 없다. 또한 DB가 종료되면 open이 되지 않아, 사용자들이 DB에 접근할 수 없는 상황이 발생한다. Redolog 장애와 복구유형은 다양하니 아래 사이트를 참고하길 바란다.
[RM] 오라클DB 재시작 및 리스너
dbguide 설명에 따르면 오라클 리스너(Listener)는 오라클에 속한 컴포넌트 중 하나로, 원격 접속 요청을 받아들이는 역할을 한다. 이로 인해 리스너가 죽는다면 어떠한 외부 접속도 이루어지지 않는데, 대부분의 사용자는 리스너가 정상적으로 구동된 후에는 신경을 쓰지 않다. 그 이유는 리스너가 기동할 경우 계속 정상적으로 작동할 것으로 여기기 때문이다.
다음은 OS에서 오라클 데몬 프로세스를 kill 한 상태에서(DB instance가 다운된 상황) DB를 기동시키면 자동으로 Media Recovery를 수행한 것을 확인할 수 있다.
/> ps -ef|grep smon
/> kill -9 [번호]
/> ps -ef|grep smon
/> sqlplus / as sysdba
SQL> startup
이러한 상황에서 알 수 있는 것은 오라클 시스템 데몬이 비정상 종료되어도 DB재기동에 문제가 없으며 Media Recovery를 통해 commit된 Data는 정상적으로 복구된 것을 확인 할 수 있다.
Linux 환경에서 리스너 상태 확인방법
# su - oracle (오라클 유저명)
$ lsnrctl status LISTENER명
Linux환경에서 리스너 구동과 정방법
오라클설치경로에 들어가 listener.ora 파일을 열어 listner 명을 확인한다.
cd $ORACLE_HOME/network/ADMIN
cat listener.ora
#su - oracl
$lsnrctl start LISTENER명
$ lsnrctl stop LISTENER명
$ lsnrctl exit
Last updated