hyeonga_code

Database_77_DATABASE DB 연결_SELECT, SHUTDOWN 본문

Oracle Database

Database_77_DATABASE DB 연결_SELECT, SHUTDOWN

hyeonga 2023. 8. 27. 07:59
반응형

-- Oracle 구조
    -- 데이터베이스 연결
        -- 연결 : User process와 데이터베이스 Instance 사이의 통신 경로입니다.
        -- 세션 : User process를 통해 이루어지는 데이터베이스 Instance 에 대한 특정 유저를 연결합니다.
        -- 사용자가 SQL 명령문으로 User Process에 명령을 내려 서버 프로세서와 연결하여 세션에 요청하여 반환값을 받아옵니다.
        -- SELECT
            -- 1. Parse_구문 분석
                -- HARD/SOFT로 나뉩니다.
                    -- SOFT : 문장도 공유되는 상황입니다.
                    -- HARD
                -- syntax, simentics 체크
                -- compile
                -- parse tree, execution plan
            -- 2. Execute_실행
                -- Data Block Read
                    -- Physical Read_물리적 I/O
                        -- FROM DISK
                        -- 데이터베이스에서 가져와서 버퍼 캐시에 일시적으로 저장하며 불러옵니다.
                    -- Logical Read_논리적 I/O
                        -- FROM Memory
                        -- 일시적으로 버퍼 캐시에 저장된 데이터를 불러옵니다.
                -- Empty Undo Block Read
                -- Exclusive Row Lock : 커밋/롤백하는 경우 해제됩니다.
                -- Redo Log 기록
                -- 실제 수정
                    -- Before Block에서 Undo Block으로 옮긴 후 New Block에서 Data Block으로 옮깁니다.
            -- 3. Fetch 
                -- 화면에 데이터를 출력합니다.  
                -- 메모리에 저장되어있는 데이터를 가져오는 역할입니다.
                -- SELECT에만 존재합니다.
                

------------------------------------------------------------------------------------------
-- MySQL
    -- mysql에는 기본 데이터베이스가 여러개입니다.
    -- 소규모 db는 db 아래에 table이 들어갑니다.
    -- 오라클은 하나의 db안에 여러 개의 table space가 존재합니다.
        -- mysql에서의 db역할과 동일합니다.
------------------------------------------------------------------------------------------


/*
-- 접속 계정 변경
SQL> connect / as sysdba
Connected.

-- 현재 접속 계정 확인
SQL> show user
USER is "SYS"

-- 종료
SQL> exit
Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

-- sql 실행
C:\Users\itbank>sqlplus

SQL*Plus: Release 11.2.0.2.0 Production on 화 7월 18 14:05:41 2023
Copyright (c) 1982, 2014, Oracle.  All rights reserved.

-- 관리자 계정으로 로그인
Enter user-name: / as sysdba

Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
*/

-- 데이터베이스 종료
    -- SHUTDOWN
        -- 옵션
            -- NORMAL : 모든 세션이 종료될 때까지 대기합니다.
            -- TRANSACTIONAL : 모든 트랜잭션이 종료될 때까지 대기합니다.
            -- IMMEDIATE : 모든 세션을 강제 종료한 후 진행합니다.
            -- ABORT : 데이터베이스를 비정상적으로 종료합니다.
/*
    -- 데이터베이스 종료(normal)
SQL> shutdown
Database closed.
Database dismounted.
ORACLE instance shut down.

    -- 데이터베이스 재시작
SQL> startup
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size                  2260048 bytes
Variable Size             687866800 bytes
Database Buffers          373293056 bytes
Redo Buffers                5517312 bytes
Database mounted.
Database opened.
        -- 종료와 반대로 실행됩니다.
    
    -- 데이터베이스 비정상 종료
SQL> shutdown abort
ORACLE instance shut down.

    -- 데이터베이스 재시작
SQL> startup
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size                  2260048 bytes
Variable Size             687866800 bytes
Database Buffers          373293056 bytes
Redo Buffers                5517312 bytes
Database mounted.
Database opened.
*/

-- 제어판 > 관리도구/window tools > 서비스
    -- OracleServiceXE : 자동 : 윈도우 서버 시작 시 Oracle DB가 자동으로 시작합니다.
    
    -- 잘못 종료하여 데이터베이스 loggon이 안되는 경우
        -- OracleServiceXE를 재시작합니다.


/*
                     논리적                          물리적
스키마   <<   데이터베이스
                  테이블 스페이스        >>  데이터 파일
                  세그먼트
                  Extent
                  Oracle 데이터 블록    >>  OS 블록
                  
        -- 세그먼트
            -- 테이블 + 인덱스
        -- 테이블 스페이스
            -- 어느 한 시점에서 데이터베이스 하나에만 속할 수 있습니다.
            -- 하나 이상의 데이터 파일로 구성됩니다.
            -- 여러 논리적 저장 영역 단위로 분할됩니다.
        -- 데이터 파일
            -- 한 테이블스페이스 및 한 데이터베이스에만 속할 수 있습니다.
            -- 스키마 객체 데이터의 저장소입니다.
*/

반응형