Oracle 12일차 - Admin
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 |
X |
X |
X |
기존 접속 유지(현재 세션 종료 시까지 대기) |
X |
X |
X |
O |
현재 트랜잭션 종료 시까지 기다림 |
X |
X |
O |
O |
체크포인트 적용 및 파일 닫기 |
X |
O |
O |
O |
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;