본문 바로가기

교육/Oracle

Day 31 (Oracle)

반응형

 


파라미터파일은 지정된 디렉토리에 지정된 이름으로 저장되어 있다.

과거에는 pfile만 있었는데 클러스터기능이 추가되면서 spfile이 생겨났다.

pfile은 텍스트로 이루어져 있고 spfile은 바이너리코드로 이루어져있다.

실습에서는 spfile만 사용할것이다. spfilSID.ora파일이라고 적어놓은 것은 실습과정중에서 단일 DB를 사용하기 때문에 SID라고 적은 것이다. 엄밀히 말하면 spfileDB이름.ora로 사용해야 한다. SID는 인스턴스이름이기 때문이다.

SQL실습중 바이너리파일을 수정한 방법은 'ALTER SESSION SET'명령어를 사용하여 'nls_data_format'이라는 파라미터 값을 변경했다.

 

만약 pfile이나 spfile이 손상되거나 지워졌을때 복구는 p파일과 sp파일을 이용한다. 두 파일은 같은 디렉토리내에 있으면 안된다. 

 

CREATE SPFILE = '$ORACLE_HOME/dbs/spfileDBA01.ora'
FROM PFILE;

를 입력하면 spfile이 생성된다.

 

반대로 pfile

CREATE PFILE = '$ORACLE_HOME/dbs/initDBA01.ora'
FROM SPFILE;

을 입력하면 pfile이 생성된다.

 

startup명령동작시 파라미터 파일을 불러올때 spfile과 pfile중 하나를 불러오며 우선순위는 아래와 같다.

– spfileSID.ora

 SPFILE

 initSID.ora

 PFILE

 

spfile에서 매개변수 수정도 가능하다.

ALTER SYSTEM SET parameter_name = parameter_value
[COMMENT 'text'] [SCOPE = MEMORY|SPFILE|BOTH]
[SID= 'sid'|'*']

scope에서 메모리만 변경할것인지, spfile만 변경할것인지, 둘다 변경할것인지를 결정한다.

메모리만 변경하게 되면 즉시 변경되며 해당 작업동안에만 변경값이 유지된다. 오라클을 죽였다 살릴때 파라미터를 읽어오면 파라미터안의 값을 사용하기 때문이다. spfile만 변경하면 오라클을 죽였다 살려야 파라미터값 수정이 가능하다. 둘 다 변경하는 것은 현재에도 유지되고 재시작 후에도 유지된다.

수정 가능한 영역에 따라 파라미터를 3가지로 나눌 수 있는데 파라미터 값은 정적으로 수정이 가능한 파라미터, 동적으로 수정이 가능한 파라미터, 파라미터값 수정이 불가능한 파라미터가 있다. 각각 시도해보고 안되면 수행불가라는 에러코드가 발생하므로 굳이 암기하거나 할 필요는 없다.

 

데이터베이스 startup은 startup nomount, startup mount, startup open으로 3가지 옵션이 있다. startup nomount는 shutdown에서 nomount까지, startup mount는 shutdown에서 mount까지, startup open은 shutdown에서 open까지 데이터베이스를 키는 것이다. nomount에서 mount와 open으로 이동하는 방법은 ALTER DATABASE mount와 ALTER DATABASE open으로 이동한다. 단, ALTER DATABASE mount는 nomount에서 mount로 밖에 갈 수 없으며 nomount에서 open으로 바로갈 수 없고 nomount에서 mount, mount에서 open으로 가야 한다.

shutdown은 단계적으로 수행이 불가능하고 어느 단계에 있던지 시작하면 무조건 shutdown상태까지 내려간다.

 

데이터 베이스 종료는 4가지가 있다. abort는 데이터 베이스가 비정상 종료시에 사용한다.

transactional은 모든 transaction종료후 데이터 베이스를 종료하는데 실제는 transaction을 참조하는 backgroundprocess가 작동하고 있어 종료가 되지 않는다. normal은 모든 사용자가 데이터베이스의 연결을 종료해야 데이터베이스가 종료된다. immediate만 유일하게 정상종료 이다.

반응형

'교육 > Oracle' 카테고리의 다른 글

Day 33 (Oracle)  (0) 2020.01.03
Day 32 (Oracle)  (0) 2020.01.02
windows10에서 VMware을 이용한 linux설치  (0) 2019.12.29
Day 29 (oracle & apache & php)  (0) 2019.12.27
Day 28 (Oracle)  (0) 2019.12.26