오라클 시작하기 / 종료하기
*급한분들을위한 빠른 명령어*
시작 : SQL> STARTUP
종료 : SQL> SHUTDOWN IMMEDIATE
-목차-
1.오라클 시작하기
1-1) STARTUP 시작 명령어
1-2) STARTUP 단계별 실행 명령어
1-3) READ ONLY 상태
2.오라클 종료하기
2-1) SHUTDOWN 종료 명령어
2-2) 오라클 강제종료 명령어
오라클 관리를위한 기초상식이면서 은근히 종종 실수하는 STARTUP과 SHUTDOWN에 대해서 정리
1. 오라클 시작하기
오라클은 STARTUP 명령어를 통해서 실행된다. DB를 안전하게 종료한 상태여야지 STARTUP 명령을 내릴 수 있다.
STARTUP 시작 명령어
SQL> STARTUP [NOMOUNT | MOUNT | OPEN [READ ONLY | READ WRITE]]
- 오라클을 시작하는 명령어로, SHUTDOWN 상태에서만 사용 가능하다.
- NOMOUNT : NOMOUNT 단계까지 오라클을 시작한다.
- MOUNT : MOUNT 단계까지 오라클을 시작한다.
- OPEN: OPEN 단계까지 오라클을 시작한다. (기본값)
- READ ONLY : DB를 읽기전용으로 시작한다.
- READ WRITE : DB를 읽기쓰기 상태로 시작한다.
- ‘_’은 default 값을 의미한다.
- 실제실행사진
STARTUP 단계별 실행 명령어
SQL> ALTER DATABASE [ MOUNT | OPEN [ READ ONLY | READ WRITE ]];
SELECT STATUS FROM V$INSTANCE; //DB상태확인
- DB가 SHUTDOWN 상태가 아니라 NOMOUNT나 MOUNT 상태인 경우 오라클을 더 상위 단계로 올리기
위해 사용한다.
- NOMOUNT 상태의 DB를 한 번에 OPEN 상태로 올릴 수는 없다.
- MOUNT : MOUNT 단계로 DB를 변경한다.
- OPEN: OPEN 단계로 DB을 변경한다.
- READ ONLY : DB를 읽기전용으로 OPEN한다.
- READ WRITE : DB를 읽기쓰기 상태로 OPEN한다.
- DB가 SHUTDOWN 상태가 아니라 NOMOUNT나 MOUNT 상태인 경우 오라클을 더 상위 단계로 올리기
위해 사용한다.
- NOMOUNT 상태의 DB를 한 번에 OPEN 상태로 올릴 수는 없다.
- MOUNT : MOUNT 단계로 DB를 변경한다.
- OPEN: OPEN 단계로 DB을 변경한다.
- READ ONLY : DB를 읽기전용으로 OPEN한다.
- READ WRITE : DB를 읽기쓰기 상태로 OPEN한다.
- 실제실행사진
READ ONLY 상태
SQL> STARTUP OPEN READ ONLY;
SQL> ALTER DATABASE OPEN READ ONLY;
SQL> SELECT OPEN_MODE FROM V$DATABASE;
- STARTUP OPEN READ ONLY;
- 종료 상태의 DB를 읽기전용으로 OPEN한다. - ALTER DATABASE OPEN READ ONLY;
- MOUNT 상태의 DB를 읽기 전용으로 OPEN한다. - SELECT OPEN_MODE FROM V$DATABASE;
- 데이터베이스의 상태를 조회한다.
- READ ONLY와 READ WRITE 상태가 있다.
- 실제실행사진
2.오라클 종료하기
오라클의 SHUTDOWN 명령은 오라클의 상태와 상관없이 SHUTDOWN 이라는 명령을 통해서 수행된다. 스타트의 역순으로 종료도 단계적으로 진행된다.
SHUTDOWN 종료 명령어
SHUTDOWN [ IMMEDIATE | TRANSACTIONAL | NORMAL| ABORT ]
- IMMEDIATE
- 모든 transaction과 접속을 강제로 종료한다.
. ABORT : DB의 상태와는 상관없이 메모리에서 instance를 해 - NORMAL
- 현재 사용 중인 모든 접속이 종료되길 기다린다.(default 값) - TRANSACTIONAL
- 진행 중인 transaction은 기다려주지만 transaction이 진행 중이지 않은 세션은 강제
종료시킨다. - ABORT
- DB의 상태와는 상관없이 메모리에서 instance를 해제한다.
- 실제실행사진
오라클 강제종료 명령어
SQL> ALTER SYSTEM [ENABLE | DISABLE] RESTRICTED SESSION;
SQL> SELECT LOGINS FROM V$INSTANCE;
SQL> SELECT SID, SERIAL#, USERNAME, STATUS FROM V$SESSION;
SQL> ALTER SYSTEM KILL SESSION <'SID번호, SERIAL번호'>;
SQL> SELECT * FROM DBA_SYS_PRIVS;
SQL> GRANT <시스템 권한> TO <user명>;
SQL> REVOKE <시스템 권한> FROM <user명>;
- ALTER SYSTEM [ENABLE | DISABLE] RESTRICTED SESSION;
- 제한 모드 상태를 활성화/비활성화 한다. - SELECT LOGINS FROM V$INSTANCE;
- 제한모드의 활성화 상태를 조회한다.
- restriced는 제한모드 상태, allowed는 일반 모드 상태를 나타낸다. - SELECT SID, SERIAL#, USERNAME, STATUS FROM V$SESSION;
- DB에 접속 중인 세션을 확인한다.
- 각 세션은 SID와 SERIAL#를 이용 구별된다. - ALTER SYSTEM KILL SESSION <'SID번호, SERIAL번호'>;
- 지정한 세션을 강제 종료한다. - SELECT * FROM DBA_SYS_PRIVS;
- 사용자나 role에 부여된 시스템 권한을 조회한다. - GRANT <시스템 권한> TO <user명>;
- 권한을 할당한다. - REVOKE <시스템 권한> FROM <user명>;
- 권한을 해제한다.
- 실제실행사진
'데이터베이스' 카테고리의 다른 글
[ORACLE] oracle19c 설치하기 (0) | 2022.11.18 |
---|---|
[SQL] 테이블 생성/삭제 하는법 (+데이터타입) (0) | 2022.11.16 |
[ORACLE] ORA-01012: not logged on 에러 해결방법 (0) | 2022.11.07 |
[SQL] SQL 문법과 명령어 요약 정리 (0) | 2022.11.07 |