실습 1.1 오라클 시작과 종료 ( 필 )
사용 명령어
startup
[ nomount | mount | open [read only | read write]]
- 오라클을 시작한다. shutdown 상태에서만 사용가능하다.
- nomount : nomount 단계까지 오라클을 시작한다.
- mount : mount 단계까지 오라클을 시작한다.
- open: open 단계까지 오라클을 시작한다. (기본값)
- read only : DB를 읽기전용으로 시작한다.
- read write : DB를 읽기쓰기 상태로 시작한다.
- '-'은 default 값을 의미한다.
shutdown
[ immediate | transactional | normal | abort ]
- 오라클을 종료한다
-----------------------------------------------------------------
sqlplus
/ as sysdba
start
up
shutdown
immediate
실습 1.2 단계별 startup 과정(필)
사용 명령어
alter
database [ mount | open [read only | read write ]];
- DB가 shutdown 상태가 아니라 nomount 나 mount 상태인 경우 오라클을 더 상위 단계로 올리기 위해 사용한다.
- NOMOUNT 상태의 DB를 한 번에 OPEN 상태로 올릴 수는 없다.
- MOUNT : mount 단계로 DB를 변경한다.
- open : open 단계로 DB를 변경한다.
- read only : db를 읽기전용으로 open한다.
- read write : DB를 읽기쓰기 상태로 open한다.
startup
nomount
select
status from v$instance;
# 인스턴트의 상태가 시작상태
alter
database mount;
select
status from v$instance;
# 인스턴트의 상태가 마운트 상태
alter
database open;
select
status from v$instance;
# 인스턴트의 상태가 오픈된 상태
실습 1.3 shutdown 옵션의 이해 (필)
오라클을 shutdonw 명령은 startup 명령과는 달리 오라클이 상태와 상관없이 shutdown 이라는 명령을 통해서 수행된다. 만일 사용자가 open 상태의 db를 mount 상태로 변경하기 위해서는 일단 DB를 shutdown한 다음 mount 상태까지 startup해야 된다.
shutdown 종료 옵션
- nomal : 현재 사용 중인 모든 접속이 종료되기 기다린다.(defualt 값)
- transactional : 진행 중인 transaction은 기다려주지만 transaction이 진행 중이지 않은 세션은 강제 종료시킨다.
- immediate : 모든 transaction과 접속을 강제로 종료한다.
- abort : DB의 상태와는 상관없이 메모리에서 instance를 해제한다.
사용 명령어
shutdown
[ immediate | transcational | normal | abort ]
- 오라클을 종료한다
세션 1 dba 터미널
sqlplus
/ as sysdba
shutdown
immediate
exit
sqlplus
/ as sysdba
startup
세션 2 일반 사용자 터미널
sqlplus
kst11/1234@kst11
세션 1 dba 터미널
shutdown
normal
# 이렇게 멈춰 버린다 지금은 kst11 사용자가 사용중이기에 그런것이다.
shutdown
transactional
# 현재 사용자가 트랜잭션을 사용하지 않았으므로 바로 시스템이 꺼진다.
세션 2 일반 사용자 터미널
select
* from tab;
# 이미 내려간 디비의 상태라서 결과가 나오지 않는다.
세션 1 dba 터미널
startup
세션 2 일반 사용자 터미널
sqlplus
kst11/1234@kst11
desc
dept;
update
dept set loc = 'LA' where dno = 30;
# 세션 2 일반 사용자가 업데이틀 하여 트랜잭션을 잡고 있다. 커밋이나 롤백을 해주지 않으면 트랜잭션은 변하지 않는다.
세션 1 dba 터미널
shutdown
transactional
# 기다려도 계속 대기중이다. 사용자가 쓰고 있는 트랜잭션이 종료되어야 한다.
세션 3 일반 사용자 터미널
sqlplus
st/asdf1234@kst11
# 종료된 세션은 로그인 할 수 없다.
세션 2 일반 사용자 터미널
rollback;
세션 1 dab 터미널
# 롤백과 동시에 DBMS가 종료되었다.
세션 2
select
* from tab;
# DB가 내려가면서 사용할수 없다는 것이다.
connect
st/asdf1234
실습 1.4 readonly 상태의 이해와 실습
사용 명령어
startup
open read only;
- 종료 상태의 DB를 읽기전용으로 open한다.
alter
database open read only;
- mount 상태의 DB를 읽기 전용으로 open한다.
select
open_mode from V$DATABASE;
- 데이터베이스의 상태를 조회한다.
- READ ONLY와 READ WRITE 상태가 있다.
세션 1 dba 터미널
sqlplus
/ as sysdba
shutdown
immediate
startup
READ ONLY;
startup
mount;
alter
database open read only;
select
open_mode from V$DATABASE;
# read only 는 startup 옵션이 아니다
# 마운트 상태로 시작하여
# 읽기전용으로 데이터를 오픈하였다.
# 데이터의 상태는 리드 온리 상태
세션 2 일반 사용자 터미널
sqlplus kst11/1234@kst11
select
count(*) from emp;
delete
from emp;
# 현재 read-only로 DB를 오픈하였기 떄문에 kst11 은 emp 테이블을 읽을 수 있지만 지을수는 없다.
세션 1 dba 터미널
shutdwon
immediate
댓글 없음:
댓글 쓰기