ORACLE/ORACLE_Admin

ORACLE 구동 및 종료

minies 2023. 4. 11. 18:44
반응형

오라클 구동

1. 한번에 구동 (startup)

2. 단계적 구동 (shutdown -> nomount -> mount -> open)

 

 

 

  ## 공통과정  

1. 오라클이 올라가 있는 OS에 접근한다.

 

2. 리스너를 구동한다.

- 리스너를 구동한다고 해도 DB가 구동되어 있지 않으면 의미가 없다.

- DB를 먼저 구동 해야한다. 

- 중지는 반대로 리스너를 먼저 닫고, DB를 내린다.

- 리스너를 stop하면 기존연결들은 유지되고, 신규 세션들은 접속하지 못한다.

- 리스너는 외부를 통해서 들어오는 경우에만 리스너를 타게 되어있다.

- DB 접근을 차단하기 위해 리스너를 일부러 차단하는 경우도 있다.

 

 

 

3. sqlplus 접속한다.

3.0 SID이름을 지정해준다. ( 특수한 경우만 사용, 대부분 bash 파일에 들어가 있음 )

- OS에 인스턴스가 여러개 떠있거나, 컨테이너가 여러개 떠있는 경우에는 SID를 지정해줘야함

- 계정하나에 인스턴스를 여러개를 띄울수도 있지만, 대부분 계정 여러개에 인스턴스 여러개를 띄어주는 형식으로 구성

export ORACLE_SID="SID이름"

 

3.1 리스너 사용 방식 (OS 인증 방식)

sqlplus / as sysdba

sysdba는 전체 DDL 권한, 권한부여 / 회수 권한 / 시스템 뷰 접근권한 다 가지고 있음

- sysdba : 최상위 권한

- 보안취약점 때문에 OS 인증방식은 대부분 끔

- sqlplus 아이디/비밀번호 (DB인증방식)

startup하면 show SGA한 것 처럼 나온다.

 

 

 

3.2 EZ CONNECT 방식 (다이렉트로 붙는 방식)

sqlplus 아이디/비밀번호@IP 주소:포트번호/parameterservice

- 보안이 취약해서 잘 안쓴다.

- 쓰더라도 비밀번호는 입력하지 않고 씀 (비밀번호는 무조건 프롬프트 명령창에서 작성하지 않는다.

 

만약 리스너를 구동하지 않으면 client로 접속 불가능

 

 

 

3.3 oracle client 방법 (tnsnames.ora 사용 방식)

sqlplus 아이디/비밀번호@호스트명(ALIAS)

tnsping : tnsnames.ora에 등록된 정보를 바탕으로 체크

tnsping tns명

 

만약 리스너를 구동하지 않으면 client로 접속 불가능

 

 

 

4. Startup 으로 구동한다.

## startup 옵션

- 옵션이 여러가지 있지만 대부분 default값으로 구동한다.

startup [force] [restrict] [pfile = file name]
		[open] [recover] [database] | [ mount | nomount ]

forece : 인스턴스를 시작하기 전 그전에 사용하던 인스턴스를 종료

restrict : restricted session이라는 권한을 가진 사용자만 데이터베이스에 접속 가능해짐

recover : 데이터베이스가 오픈되는 동시에 미디어 복구를 실행

 

 

단계 상태 및 실행방법
nomount 상태 인스턴스가 메모리에 생성되고 데이터베이스는 오픈되지 않은 상태
  startup nomount;
mount 상태 인스턴스가 메모리에 생성되고 컨트롤 파일이 사용가능한 상태
  startup mount;
nomount 단계에서 : alter database mount;
open 상태 인스턴스를 생성하고 데이터베이스를 오픈시켜주는 상태
옵션 nomount, mount 단계에서 : alter database open;
restrict 모드 : alter system enable restricted session;

force 모드 : startup force;
read only 모드 : alter database open read only;


shutdown
상태 데이터베이스에 대한 엑세스를 수행할 수 없는 상태, DB를 중지한 상태
옵션 NORMAL : 현재 user들의 connection이 disconnect할때 종료
TRANSACTIONAL : 클라이언트의 진행중인 트랜잭션이 끝나면 종료
IMMEDIATE : user들이 disconnect할때까지 안기다림
ABORT : 강제종료, 다음번 시작시에 인스턴스가 자동 복구

 

 

## PDB일 경우

startup

SELECT NAME FROM V$PDBS;

ALTER PLUGGABLE DATABASE "PDB이름" OPEN READ WRITE;

 

 

  ## CDB, PDB 기준  

단계 상태 및 실행방법
nomount nomount 상태에서는 컨테이너와 PDB 정보가 둘 다 없음
SELECT CON_ID, DBID, NAME, OPEN_MODE FROM V$CONTAINERS ORDER BY 1;
alter session set container="이름" ;
-> 위의 명령어들 다 에러 발생


mount 정보는 있지만 PDB변경은 불가능
alter pluggable database "이름" open ;
-> 다른 PDB들의 정보는 확인할 수 있지만 open 은 되지 않음

alter session set container="이름" ;
-> 컨테이너 변경은 가능
open 모든 PDB 오픈 가능
alter pluggable database all open ;
-> open 후에는 다른 PDB 들도 모두 open 가능

shutdown
데이터베이스에 대한 엑세스를 수행할 수 없는 상태, DB를 중지한 상태
 

 

## 단계별 구동

 

## 단계별 종료

 

## 단계별로 구동 또는 종료하지 않았을 경우

 

-> 에러발생

 

 

 

 

## 단계별 구동이 사용되는 경우

단계 사용되는 경우
nomount 인스턴스만이 생성되어진 상태 -> nomount 상태에 있다고 표현
파라미터파일(pfile, spfile)만 올라온 상태
파라미터값이 잘못 명시되어 있으면 nomount까지 갈 수 없음
mount - Database에 대한 변경이나 수정이 필요한 경우 주로 mount 상태에서 작업
- 주로 아카이브(증분백업 사용할 경우) 옵션을 변경하는 경우
- 데이터베이스를 백업한 후 복구를 실행하는 경우
- controlfile(redolog file, datafile 경로가 저장) 재생성 (보통 백업해둠 controlfie)
- 일반사용자는 접속 불가 / sys 권한을 보유한 DB계정만 접근 가능
control file이 추가적으로 올라온 상태
open SMON은 이때 redo log file에 대한 일관성 검사를 실시 (이상있을 시 인스턴스 리커버리를 통해 자동적으로 일관성 조정)
redo log file과 datafile이 추가적으로 올라온 상태

 

## Mount단계에서 진행되는 작업

오픈전(mount 상태)에도 archive log list; 로 확인 가능

 

 

 

 

 

 


 

 

 

 

 

반응형