STUDY/ORACLE

Oracle 12일차 - Admin

Anne of Green Galbes 2019. 1. 23. 18:00

1. PFILE과 SPFILE

PFILE 생성 : CREATE PFILE FROM SPFILE

SPFILE 생성 : CREATE SPFILE FROM PFILE

PFILE과 SPFILE이 둘 다 없을 경우

 - C:\app\itwill\admin\TestDB\pfile의 init.ora.042019144220를 옮긴후 이름 수정 (→INITtestdb.ORA)

○PFILE : 텍스트파일. 바로바로 수정 가능

○SPFILE : 바이너리파일. 오라클서버가 관리. 명령어로 수정

○무조건 둘 중 하나만 있어야 함.(오라클에서 Default 값은 SPFILE)

○두 개가 같이 있으면, 일반적으로 SPFILE을 인식

○처음 시작할 때 PFILE과 SPFILE을 이용하여 Parameter를 만들고, Parameter을 이용하여 INSTANCE를 만듦. Parameter는 시작할때 한 번만 사용

○SPFILE을 삭제해야 PFILE을 인식. 보통 PFILE을 수정하여 사용한다


2. DB종료 : 3단계로 종료

○SHUTDOWN : 다른 사용자가 다 종료할 때까지 기다려야 함


○SHUTDOWN IMMEDIATE : 다른 사용자가 접속하고 있어도 종료

 가장 많이 사용하는 명령어


○SHUTDOWN ABORT : 다른 사용자가 DB를 사용하고 있어도 무조건 종료

 가장 강력한 DB종료 명령어

 DB가 제대로 종료되지 않아 에러가 발생했을 때 사용


Shutdown 옵션 4가지

 

 ABORT

IMMEDIATE 

TEANSACTIONAL 

NORAL 

 새로운 접속 허용( 새로운 연결 허용)

X

 기존 접속 유지(현재 세션 종료 시까지 대기)

 현재 트랜잭션 종료 시까지 기다림

 체크포인트 적용 및 파일 닫기




3. DB시작 : 관리자(SYS)에서만 시작

○DB는 3단계로 시작 : 인스턴스 시작 ▶ 데이터베이스 마운트 ▶ 데이터베이스 오픈


STARTUP

찾는 순서 : (spfileSID.ora)SPFILE ▶ (initSID.ora)PFILE


○단계별 실행

1단계 : STARTUP NOMOUNT

오라클 인스턴스 시작

에러 : Parameter파일을 찾을 수 없음 : PFILE / SPFILE의 문제


2단계 : ALTER DATABASE MOUNT;

데이터베이스 마운트

에러 : CONTROL파일의 문제 : Parameter파일의 위치정보가 이상한 경우가 대부분


▶ control02.ctl의 위치를 TestDB로 옮김

INITtestdb.ORA(PFILE)에서 control02.ctl의 위치를 변경 해야함

PFILE과 SPFILE이 같이 있으면 PFILE을 인식하지 못하므로, SPFILE을 삭제해아함


3단계 : ALTER DATABASE OPEN;

데이터베이스 오픈

에러 : CONTROL파일이나 LOG파일의 문제




○2단계까지 바로가는 명령 : STARTUP MOUNT



4. ORACLE 백업 (D드라이브 > 2019년01월23일)

○ CLOSE / 닫힌 / COLD 백업 : DB가 꺼진 상태로 하는 백업

① 반드시 DB가 CLOSE되어 있어야 한다

②모든 파일을 한 번에 복사 해야한다 (C:\app\itwill\oradata\TestDB의 파일)

③ INITtestdb.ORA와 PWDTestDB.ora 복사(C:\app\itwill\product\11.2.0\dbhome_1\database)


○ OPEN / 열린 / HOT 백업 : DB가 열린 상태로 하는 백업


5. ORACLE 복구

① DB Shut down

② 백업파일을 복사 TestDB의 파일을 다 지우고 붙여넣음

③ INITtestdb.ORA와 PWDTestDB.ora 두개 파일은 database에 붙여넣음



6. 읽기 전용으로 DB파일 열기

MOUNT단계까지 간 다음에, DBF에서 읽기전용으로 열어야 함

① DBF까지 접속 : STARTUP MOUNT

② 읽기 전용으로 접속 : ALTER DATABASE OPEN READ ONLY

▲ SYS에서 설정


▲ KIM에서 DIVISION테이블 수정 불가




7. 접근제한

○접근제한

ALTER SYSTEM ENABLE RESTRICTED SESSION

▲SYS에서 사용자에게 접근 제한


▲이미 접속해 있는 경우에는 제한을 걸어도 DB 사용 가능


▲새로운 접속은 불가


○접속해 있는 사용자 접근 제한

ALTER SYSTEM KILL SESSION ‘SID,SERIAL#’;


○제한 상태에서 특정 사용자에게 권한 부여

GRANT RESTRICTED SESSION TO LEE;


○접근제한 해제

ALTER SYSTEM DISABLE RESTRICTED SESSION;


○특정 사용자에게 부여한 권한 회수

REVOKE RESTRICTED SESSION FROM LEE;




8.alert_testdb.log

C:\app\itwill\diag\rdbms\testdb\testdb\trace

DB파일에 들어간 사용자 추적



Oracle Universal Installer

○ 자바엔진을 기반으로 만들어짐

○ 속도가 느림

○NT( 윈도우) 에서 실행

 D:\> SETUP

○ sqlplus /nolog : 로그인 SQLPLUS만 실행



OMF and create database

1. 데이터베이스 생성

○ 데이터베이스를 만드는  목적, 타입, 기본 구조, 이름을 정해야 함

○ OS와 비밀번호 파일 확인


2.오라클 시스템 환경

○ 시스템 변수

-  ORACLE_BASE  

   오라클 경로.

   오라클 설치 프로그램인 OUI를 저장, 오라클 트레이스 파일 및 데이터 파일을 저장하는 디럭토리의 이름을 기록하는 오라클 환경변수

- ORACLE_HOME
   오라클 경로.

   오라클 엔진이 설치되어 있는 위치로, 현재 설치하고자 하는 오라클 데이터베이스 서버를 저장할 디텍토리명을 기록

- ORACLE_SID

   오라클 이름

   오라클 데이터베이스 인스턴스의 이름.

   하나의 하드웨어에 여러 개의 데이터베이스 인스턴스가 존재할 수 있지만, SID는 개별 인스턴스에 대해 유일한 이름으로 명명되어야 함


SPFILE을 이용한 컨트로파일 멀티플렉싱 (Multiplexing the Control File When Using SPFILE)

① SPFILE에서 CONTROL파일 경로 변경


② 현재 데이터베이스 SHUTDOWN시킴


③ 각각의 CONTROL파일들 위치 변경

▲CONTROL01.CTL 위치 확인


▲CONTROL02.CTL 위치 확인


▲CONTROL03.CTL 위치 확인


④ 데이터베이스 시작 (STARTUP)


⑤ CONTROL파일 3개로 변경 확인

@CTL : SELECT NAME FROM V$CONTROLFILE;