startup시 실행되는 단계(아래 그림 참조)
(Initialization) Parameter Files ( http://www.oracleclub.com/lecture/1860 참조 )
: instance가 시작될때 필요한 특정값들을 저장해 놓은 파일
파일내용 변경시 무조건 재부팅해야 변경사항이 적용됨
but 9i 부터는 dynamic하기때문에
SPFILE로 startup 했을경우 ALTER SYSTEM SET의 SCOPE로 즉시변경(memory) or 파일변경(spfile) or 즉시+파일변경(both)으로 변경가능함,
PFILE로 startup 했을경우에는 sql안에서는 파일변경이 불가능하고, vi로 manual하게 변경가능
종류 : PFILE, SPFILE
PFILE
text file이라서 vi로 편집가능
파일이름 : initSID.ora (ex. inittestdb.ora )
위치 : $ORACLE_HOME/dbs/
만드는 방법 :
cp $ORACLE_BASE/admin/SID(db name)/pfile/init.ora.03928381028(임의의숫자) $ORACLE_HOME/dbs/initSID.ora
한 후 initSID.ora파일 변경(원본파일은 DB가 생성될때의 초기 pfile이기때문에 DB사용하다가 변경된 내용이 저장되어 있지 않기떄문에 copy하고 변경해야 합니다.)
SPFILE (9i부터 등장한 파라미터파일, 성능은 좋지만 사용하기가 귀찮습니다. )
binary file (vi로 변경하면 망합니다., Server process가 변경함)
파일이름 : spfileSID.ora
위치 : $ORACLE_HOME/dbs/
만드는 방법(DB생성시 기본적으로 생성) :
내용변경방법 : ALTER SYSTEM 이용
SCOPE=이후의 값 3가지
1. MEMORY : 즉시 변경 but 재시작시 예전설정 그대로
2. SPFILE : spfile내용 변경 but 즉시변경되지는 않음
3. BOTH : 즉시 변경+spfile내용변경(DEFAULT)
* 현재 내가 PFILE을 이용해서 startup했는지 SPFILE을 이용했는지 알아보는 방법
SQL> show parameter spfile
실행 후 VALUE열에 값이 존재하면 SPFILE을 이용해서 startup
NULL 이면 PFILE을 이용해서 startup
STARTUP과 ALTER DATABASE를 이용한 database의 state변경
idle status ----> MOUNT
SQL> STARTUP MOUNT;
idle status ----> NOMOUNT
SQL> STARTUP NOMOUNT;
NOMOUNT ----> OPEN
SQL> ALTER DATABASE OPEN; ( 현재 상태가 NOMOUNT )
Database의 여러가지 mode
1. Restricted Mode
STARTUP RESTRICT 로 시작
사용 : DB가 고장나서 고치거나, 점검시
이유 : DBA가 DB를 변경하고 업데이트할 수 있지만 허락받은 사람만 접속이 가능하기 때문에
허락받은 사람 : RESTRICTED SESSION 권한을 가진 사람
2. Read-only Mode
STARTUP MOUNT ---> ALTER DATABASE OPEN READ ONLY;
select만 가능한 mode(해제시 껏다가 키면 됨)
SHUTDOWN
4가지 모드가 존재
N : normal
T : transaction
I : Immediate
A : abort
* I, A의 경우 무조건 사용자의 접속을 끊음
* Immediate로 shutdown 시 commit된거 저장하고 rollback된거 되돌려주고 등등 차근차근히 shutdown(CLEAN DATABASE)
Abort모드는 정전과 같은 shutdown(DIRTY DATABASE)
미완성
STARTUP |
-----> |
1단계 : NOMOUNT |
-----> |
2단계 : MOUNT |
-----> |
3단계 : OPEN |
|
↓ |
Instance 생성 (SGA, Background processes) |
↓ |
이상유무 검사 |
↓ |
DONE |
|
PARAMETER FILE |
|
CONTROL FILE |
|
DATA FILE, REDO LOG FILE |
|
|
2종류 1) pfile 2) spfile |
|
위치 : paremeter file에 기록되어 있음 |
|
위치 : control file안에 파일들의 정보가 저장되어 있음 |
|
주의 : ORACLE에서 사용중인 파일은 절대, 절대로 복사, 이동금지
NOMOUNT단계에서는 parameter file 복사, 이동금지(예외 : pfile)
MOUNT단계에서는 parameter file, control file 복사, 이동금지
OPEN단계(DB가 완전히 올라간 단계)에서는 parameter file, control file, data file, redo log file 복사, 이동금지
(Initialization) Parameter Files ( http://www.oracleclub.com/lecture/1860 참조 )
: instance가 시작될때 필요한 특정값들을 저장해 놓은 파일
파일내용 변경시 무조건 재부팅해야 변경사항이 적용됨
but 9i 부터는 dynamic하기때문에
SPFILE로 startup 했을경우 ALTER SYSTEM SET의 SCOPE로 즉시변경(memory) or 파일변경(spfile) or 즉시+파일변경(both)으로 변경가능함,
PFILE로 startup 했을경우에는 sql안에서는 파일변경이 불가능하고, vi로 manual하게 변경가능
종류 : PFILE, SPFILE
PFILE
text file이라서 vi로 편집가능
파일이름 : initSID.ora (ex. inittestdb.ora )
위치 : $ORACLE_HOME/dbs/
만드는 방법 :
SQL> create pfile from spfile;or
cp $ORACLE_BASE/admin/SID(db name)/pfile/init.ora.03928381028(임의의숫자) $ORACLE_HOME/dbs/initSID.ora
한 후 initSID.ora파일 변경(원본파일은 DB가 생성될때의 초기 pfile이기때문에 DB사용하다가 변경된 내용이 저장되어 있지 않기떄문에 copy하고 변경해야 합니다.)
SPFILE (9i부터 등장한 파라미터파일, 성능은 좋지만 사용하기가 귀찮습니다. )
binary file (vi로 변경하면 망합니다., Server process가 변경함)
파일이름 : spfileSID.ora
위치 : $ORACLE_HOME/dbs/
만드는 방법(DB생성시 기본적으로 생성) :
SQL> create spfile from pfile; (pfile로부터 spfile을 생성)
내용변경방법 : ALTER SYSTEM 이용
----------------------- SQL> ALTER SYSTEM SET control_file = '/home/oracle/oradata/testdb/control01.ctl'; ----------------------- SQL> ALTER SYSTEM SET control_file = '/home/oracle/oradata/testdb/control01.ctl' scope=spfile; ---------Delete or reset values--------- SQL> ALTER SYSTEM RESET undo_suppress_errors SCOPE=BOTH SID='*';위 sql문에서 alter system set 마지막 부분에 scope 설명
SCOPE=이후의 값 3가지
1. MEMORY : 즉시 변경 but 재시작시 예전설정 그대로
2. SPFILE : spfile내용 변경 but 즉시변경되지는 않음
3. BOTH : 즉시 변경+spfile내용변경(DEFAULT)
* 현재 내가 PFILE을 이용해서 startup했는지 SPFILE을 이용했는지 알아보는 방법
SQL> show parameter spfile
실행 후 VALUE열에 값이 존재하면 SPFILE을 이용해서 startup
NULL 이면 PFILE을 이용해서 startup
STARTUP과 ALTER DATABASE를 이용한 database의 state변경
idle status ----> MOUNT
SQL> STARTUP MOUNT;
idle status ----> NOMOUNT
SQL> STARTUP NOMOUNT;
NOMOUNT ----> OPEN
SQL> ALTER DATABASE OPEN; ( 현재 상태가 NOMOUNT )
Database의 여러가지 mode
1. Restricted Mode
STARTUP RESTRICT 로 시작
사용 : DB가 고장나서 고치거나, 점검시
이유 : DBA가 DB를 변경하고 업데이트할 수 있지만 허락받은 사람만 접속이 가능하기 때문에
허락받은 사람 : RESTRICTED SESSION 권한을 가진 사람
2. Read-only Mode
STARTUP MOUNT ---> ALTER DATABASE OPEN READ ONLY;
select만 가능한 mode(해제시 껏다가 키면 됨)
SHUTDOWN
4가지 모드가 존재
N : normal
T : transaction
I : Immediate
A : abort
* I, A의 경우 무조건 사용자의 접속을 끊음
* Immediate로 shutdown 시 commit된거 저장하고 rollback된거 되돌려주고 등등 차근차근히 shutdown(CLEAN DATABASE)
Abort모드는 정전과 같은 shutdown(DIRTY DATABASE)
Shutdown Mode |
A |
I |
T |
N |
Allow new Connections |
No |
No |
No |
No |
Wait till current sessions end |
No |
No |
No |
Yes |
Wait till current transactions end |
No |
No |
Yes |
Yes |
Force a checkpoint and close files |
No |
Yes |
Yes |
Yes |
미완성