-
[oracle] Database instance 관리 및 startup & shut down카테고리 없음 2024. 12. 17. 12:25
1 .parameter file
2. sys인증
3. Instance Startup / Shupdown
4. PDB open / close
5. files
tables - view
Managing Database Instances
Initialization Parameters
인스턴스 파라미터 초기화 필요
이때, spfile 또는 pfile로 설정가능
📌 Server parameter file (SPFILE)
- binary file
- SQL > alter system set open_cursors=500
scope = sfile;
memory
both (default option)
- $ORACLE_HOME/dbs/spfileorclcdb.ora
- spfile과 pfile 둘다 있으면 oracle은 spfile을 올림.
- Read and Wirte
spfile <-> pfile 변경 가능
SQL > create pfile from spfile;
create spfile from pfile;
📌Text initialization parameter file (PFILE)
- text file <- editor
- initorclcdb.ora
- $ORACLE_HOME/dbs/initorclcdb.ora
- startup 명령어 내리는 쪽에 위치함
- Read only
open_cursors=300'
SQL > alter system set open_cursors=500;
sql로 변경해도 set 파라미터파일은 변경안됨.
재부팅시에도 반영하고 싶으면 set파라미터파일에 설정 필요
SQL > startup pfile = /u01/app/initorclcdb.ora
지정해두면 pfile찾아갈 수 있음
* 오라클은 파라미터파일 어떻게 찾아가나?
1. SPFILE.ora, where SID is the system ID and identifies the instance name (for example, ORCL)
2. SPFILE.ora
3. init.ora (PFILE)
1->2->3 수행했는데 없으면 에러
파라미터 설정
📌Initialization parameters (parameters):
–Set database limits–Set database-wide defaults–Specify files and directories–Affect performance
📌 Parameters can be of two types: basic or advanced.–Tune around 30 basic parameters to get reasonable database performance
.–Example of a basic parameter: SGA_TARGET–Example of an advanced parameter: DB_CACHE_SIZE
📌 Derived parameters calculate their values from the values of other parameters.
–Example: SESSIONSis derived from PROCESSES.
📌Some parameter values or value ranges depend on the host operating system.
–Example: DB_BLOCK_SIZE
파라미터 확인
v$parameter : session parameter (로그인세션)
SQL > select name, value from v$parameter where name like '%control%';
여러개 값을 한줄로 다 보여줌
v$spparameter : spfile parameter
v$system_parameter : system parameter (시스템전체)
DB 인증
SYS는 DB인증으로 접근 불가
외부인증이 필요함
방법1. OS인증
- OSDBA로 지정된 OS user group에 속한 OS user로 로그인 해서 다음과 같이 로그인
SQL > show con_name
CDB&ROOT
시스템 접속
$ sqlplus / as sysdba
$ORACLE_HOME/rdbms/lib/config.c 에서 DB 생성시 지정한 OS user group 확인
- OS로 먼저 로그인이 가능한 환경에서 사용 OS 인증 방지
- $ORACLE_HOME/network/admin/sqlnet.ora 파일에 sqlnet.authentication_services=(none) 을 추가
- Root Container만 os인증 가능함
방법2. Password file 에 의한 인증
- $ORACLE_HOME/dbs/orapw 에 등록된 sys의 password를 이용해 다음과 같이 로그인
$ sqlplus sys/oracle_4U@orcl as sysdba
- orapwd 유틸리티를 이용해서 password file을 생성한다. $ orapwd file=$ORACLE_HOME/dbs/orapw password=oracle_4U
Starting Up and Shutting Down a Database Instance
📌 Starting Up
database instance 옵션 미지정시
startup : shutdown > nomount > mount > open
만약, nomount skip 하려면 옵션 지정해줘야함
SQL > startup
Instance Started : open parameter file
Database Mounted : open control file
Database Opened : open datafiles, logfiles
그렇다면, 각 단계별 어떤 역할을 하는가?
- nomount
instance started : open parameter file
메모리 확보. 백그라운드 프로세스 띄우는 단계
SQL > startup nomount
SQL > alter database mount; alter database open ; /* 단계별 startup해야함. 한번에 open까지 못감*/
pdb X
- mount
control file opened for the instance
SQL > startup mount
SQL > alter database open ;
pdb <- mounted
- open
all files opened as described by the control file for the instance
open되어야지 user들이 접근 가능함.
root(open RW), seed(open RO), pdb(mounted)
✅ open했다해서 user 각 pdb까지 설정된 것은 아님
Root > alter pluggable database orclpdb1 open;
ROOT > alter pluggable database all open (read only); -- 전CDB 작업가능
ORCLPDB1 > alter pluggable database open ;
ORCLPDB1 > startup
startup은 shutdown상태에서만 가능한데, 강제로 시작시키려면?
SQL > startup force /* shutdown abort + startup */
강제로 정전시켰다 재시작시키는 것과 같음
close도 가능
ROOT > shutdown immediate
or
특정 pdb만 close해야하는경우?
ROOT > alter pluggable database all close (read only); -- 전CDB 작업가능
ORCLPDB1 > alter pluggable database close;
ORCLPDB1 > shutdown
✅ 매번 open close 직접 설정하기 싫으면? Automatically 설정
SQL > ALTER PLUGGABLE DATABASE pdb1 SAVE STATE;
📌 Shutting Down
정상 shutdown 방법 3가지
checkpoint가 있음
방법1.
SQL > shutdown normal
1) wait : exit
2) new session X
3) checkpoint
4) close datafiles, logfiles
close control file
stop instance
방법2.
SQL > shutdown transactional
1) wait : commit, rollback
2) new session X
3) checkpoint
4) close datafiles, logfiles
close control file
stop instance
방법3.
SQL > shutdown immediate /* wait없음 /*
1) rollback
2) new session X
3) checkpoint
4) close datafiles, logfiles
close control file
stop instance
비정상 shutdown
flat & checkpoint없음. 이때 복구작업 필요함
SQL > shutdown abort
1) falt
2) new session X
3) stop instance
반응형