오라클 데이터베이스 시작하고 종료하기 - 실습편
(Starting up and Shutting down Oracle Database)
-- Last Update : 2015.03.30
■ 실습 환경
1. VMware Ver : VMware 9.0
2. Linux Ver : Oracle Linux Server release 5.6
3. DB Ver : Oracle Database 11.2.0.2.0
■ 관련 포스팅
STARTUP 과 SHUTDOWN
■ STARTUP 과 SHUTDOWN
# sqlplus / as sysdba
SQL> STARTUP
SQL> SHUTDOWN
Startup 과 Shutdown 을 하기 위해서는 sysdba 권한을 가진 사용자로 로그인 해야한다.
Startup 명령어로
NOMOUNT -> MOUNT -> OPEN
의 과정을 거쳐서 켜지게 된다.
그리고 셧다운을 하면
CLOSE -> DISMOUNTED -> SHUTDOWN
의 과정으로 종료된다.
■ STARTUP을 각 단계별로 보자
SQL> STARTUP NOMOUNT
SQL> ALTER DATABSE MOUNT;
SQL> ALTER DATABSE OPEN;
SQL> shutdown immediate;
NOMOUNT 모드로 startup 명령어를 실행하였다.
그러면 Parameter File 만 불러오게된다.
여기서 MOUNT 나 OPEN 으로 올리려면 startup 명령이 아닌 ALTER DATABASE 명령어를 통해서 순서대로 올려야한다.
참고로 STARTUP MOUNT 명령어와 STARTUP OPEN 명령어도 실습해보자.
SQL> STARTUP NOMOUNT
SQL> ALTER DATABASE OPEN;
ALTER DATABASE OPEN
*
ERROR at line 1:
ORA-01507: database no mounted
참고로 NOMOUNT 에서 바로 OPEN 상태로 변경을 시도하면 아래와 같이 ORA-01507 에러가 발생한다.
READ ONLY 모드 실습
-- 2개의 putty 창을 이용하여 실습한다.
<1번 창>
# sqlplus / as sysdba
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE OPEN READ ONLY;
READ ONLY 모드로 접속을 하려면 MOUNT 단계까지 STARTUP 을 한 후에
ALTER 명령을 통하여 READ ONLY 모드로 OPEN 한다.
<2번 창>
# sqlplus ccott/tiger
SQL> SELECT * FROM dept ORDER BY deptno;
SQL> INSERT INTO dept VALUES (50, 'TEST', 'TEST');
창 하나를 더 열어서 scott/tiger 를 열어본 후에 샘플로 제공되는 테이블 (Table) 에 Inset 를 진행하면
ORA-16000 이 발생하면서 Insert 가 되지 않는다.
READ ONLY 모드를 해제하기 위해서는 shutdown 다시 startup 을 진행해야한다.
RESTRICT 모드 실습하기
-- 2개의 putty 창을 이용하여 실습한다.
■ RESTRICT 모드
<1번 창>
# sqlplus / as sysdba
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP RESTRICT;
읽기 전용으로 데이터베이스를 OPEN 하면 모든 사용자들이 읽기만 가능하다.
그래서 데이터 변경이 불가능 하므로 허가 받은 사용자만 접속 가능하도록 해주는 RESTRICT 모드를 사용한다.
제한 상태는 STARTUP 명령어에 옵션을 주어 바로 실행하면 된다.
<2번 창>
# sqlplus scott/tiger
제한 모드로 OPEN 하면 허가받지 않은 사용자의 경우 아래 그림과 같이 로그인에서 접속이 차단된다.
■ Restrict 모드 권한
<1번 창>
SQL> GRANT restricted session TO scott; // 권한 부여
scott 계정에 제한된 세션을 접속 할 수 있는 권한을 부여한다.
<2번 창>
SQL> sqlplus scitt/tiger
다시 scott 계정으로 접속을 시도하면 정상 접속되는 것을 확인 할 수 있다.
<1번 창>
SQL> REVOKE restricted session FROM scott; // 권한 제거
권한 제거 명령이다.
제거한 후에 다시 scott 계정으로 접속하면 접속이 되지 않는다.
■ ALTER 명령어로 변경하는 RESTRICT 모드
# sqlplus / as sysdba
SQL> shutdown immediate;
SQL> startup
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION; // STARTUP RESTRICT 와 동일함
SQL> ALTER SYSTEM DISABLE RESTRICTED SESSION; // RESTRICT 해제
ALTER 명령을 통해서 Restrict 모드를 바꿀 수 있다.