ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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

     

     

    반응형
Designed by Tistory.