ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Oracle 23c 설치하기
    공부 이야기/ORACLE 2024. 4. 29. 10:33

    1. 이왕 설치하는거 최신 버전을 설치해보자

    * window에 docker, bash가 다운로드 상태이어야 함

    2. docker로 이미지 가져오기

    docker pull container-registry.oracle.com/database/free:latest

    3. docker 이미지를 실행하기

    docker run -d --name ora23 container-registry.oracle.com/database/free

    * ora_container 대신 다른 이름 써도 됨

    4. 부팅 로그 확인하기

    docker logs --follow ora23


    Starting Oracle Net Listener.
    Oracle Net Listener started.
    Starting Oracle Database instance FREE.
    Oracle Database instance FREE started.

    The Oracle base remains unchanged with value /opt/oracle
    #########################
    DATABASE IS READY TO USE!
    #########################
    The following output is now a tail of the alert.log:
    2024-04-29T01:13:33.485159+00:00
    ===========================================================
    Dumping current patch information
    ===========================================================
    No patches have been applied
    ===========================================================
    2024-04-29T01:13:34.316499+00:00
    FREEPDB1(3):Opening pdb with Resource Manager plan: DEFAULT_PLAN
    Completed: Pluggable database FREEPDB1 opened read write
    Completed: ALTER DATABASE OPEN

    -> listener 프로세스가 시작, PDB, mount가 완료되고 OPEN 상태임을 확인!

    5. 현재 docker에서 실행중임을 확인하기

    docker ps

    CONTAINER ID   IMAGE                                         COMMAND                   CREATED          STATUS                             PORTS      NAMES
    e27780d8fac8   container-registry.oracle.com/database/free   "/bin/bash -c $ORACL…"   59 seconds ago   Up 58 seconds (health: starting)   1521/tcp   ora23

    6. docker에서 실행중인 oracle 서버에 접속하기

    docker exec -it ora23 bash

    7. oracle도 linux에서 실행 중임. 아래 명령어로 스펙 확인하기

    cat /etc/*-release

    Oracle Linux Server release 8.8
    NAME="Oracle Linux Server"
    VERSION="8.8"
    ID="ol"
    ID_LIKE="fedora"
    VARIANT="Server"
    VARIANT_ID="server"
    VERSION_ID="8.8"
    PLATFORM_ID="platform:el8"
    PRETTY_NAME="Oracle Linux Server 8.8"
    ANSI_COLOR="0;31"
    CPE_NAME="cpe:/o:oracle:linux:8:8:server"
    HOME_URL="https://linux.oracle.com/"
    BUG_REPORT_URL="https://github.com/oracle/oracle-linux"

    ORACLE_BUGZILLA_PRODUCT="Oracle Linux 8"
    ORACLE_BUGZILLA_PRODUCT_VERSION=8.8
    ORACLE_SUPPORT_PRODUCT="Oracle Linux"
    ORACLE_SUPPORT_PRODUCT_VERSION=8.8
    Red Hat Enterprise Linux release 8.8 (Ootpa)
    Oracle Linux Server release 8.8

    8. 리눅스 서버에서 실행 중인 oracle 상태 확인하기

    ps -ef

    UID          PID    PPID  C STIME TTY          TIME CMD
    oracle         1       0  0 01:13 ?        00:00:00 /bin/bash /opt/oracle/runOracle.sh
    oracle        24       1  0 01:13 ?        00:00:00 /opt/oracle/product/23c/dbhomeFree/bin/tnslsnr LISTENER -inherit
    oracle        33       1  0 01:13 ?        00:00:00 db_pmon_FREE
    oracle        37       1  0 01:13 ?        00:00:00 db_clmn_FREE
    oracle        41       1  0 01:13 ?        00:00:00 db_psp0_FREE
    oracle        45       1  0 01:13 ?        00:00:00 db_vktm_FREE
    oracle        51       1  0 01:13 ?        00:00:00 db_gen0_FREE
    oracle        55       1  0 01:13 ?        00:00:00 db_mman_FREE
    oracle        61       1  0 01:13 ?        00:00:00 db_gen2_FREE
    oracle        63       1  0 01:13 ?        00:00:00 db_vosd_FREE
    oracle        69       1  0 01:13 ?        00:00:00 db_diag_FREE
    oracle        71       1  0 01:13 ?        00:00:00 db_ofsd_FREE
    oracle        73       1  0 01:13 ?        00:00:00 db_dbrm_FREE
    oracle        75       1  0 01:13 ?        00:00:00 db_vkrm_FREE
    oracle        77       1  0 01:13 ?        00:00:00 db_svcb_FREE
    oracle        81       1  0 01:13 ?        00:00:00 db_pman_FREE
    oracle        83       1  0 01:13 ?        00:00:00 db_dia0_FREE
    oracle        85       1  0 01:13 ?        00:00:00 db_dia1_FREE
    oracle        87       1  0 01:13 ?        00:00:00 db_lmhb_FREE
    oracle        89       1  0 01:13 ?        00:00:01 db_dbw0_FREE
    oracle        91       1  0 01:13 ?        00:00:00 db_lgwr_FREE
    oracle        95       1  0 01:13 ?        00:00:00 db_ckpt_FREE
    oracle        97       1  0 01:13 ?        00:00:00 db_smon_FREE
    oracle        99       1  0 01:13 ?        00:00:00 db_smco_FREE
    oracle       112       1  0 01:13 ?        00:00:00 db_reco_FREE
    oracle       114       1  0 01:13 ?        00:00:00 db_lreg_FREE
    oracle       116       1  0 01:13 ?        00:00:00 db_pxmn_FREE
    oracle       120       1  0 01:13 ?        00:00:00 db_mmon_FREE
    oracle       122       1  0 01:13 ?        00:00:00 db_mmnl_FREE
    oracle       128       1  0 01:13 ?        00:00:00 db_bg00_FREE
    oracle       130       1  0 01:13 ?        00:00:00 db_w000_FREE
    oracle       136       1  0 01:13 ?        00:00:00 db_bg01_FREE
    oracle       142       1  0 01:13 ?        00:00:00 db_bg02_FREE
    oracle       148       1  0 01:13 ?        00:00:00 db_d000_FREE
    oracle       150       1  0 01:13 ?        00:00:00 db_s000_FREE
    oracle       152       1  0 01:13 ?        00:00:00 db_tmon_FREE
    oracle       154       1  0 01:13 ?        00:00:00 db_rcbg_FREE
    oracle       157       1  0 01:13 ?        00:00:00 db_gcw0_FREE
    oracle       159       1  0 01:13 ?        00:00:00 db_gcr0_FREE
    oracle       161       1  0 01:13 ?        00:00:00 db_m000_FREE
    oracle       163       1  1 01:13 ?        00:00:01 db_m001_FREE
    oracle       167       1  0 01:13 ?        00:00:00 db_tt00_FREE
    oracle       169       1  0 01:13 ?        00:00:00 db_tt01_FREE
    oracle       174       1  0 01:13 ?        00:00:00 db_p000_FREE
    oracle       369       1  0 01:13 ?        00:00:00 db_aqpc_FREE
    oracle       389       1  0 01:13 ?        00:00:00 db_m002_FREE
    oracle       393       1  0 01:13 ?        00:00:00 db_m003_FREE
    oracle       395       1  0 01:13 ?        00:00:00 db_m004_FREE
    oracle       399       1  1 01:13 ?        00:00:01 db_m005_FREE
    oracle       403       1  0 01:13 ?        00:00:00 db_m006_FREE
    oracle       405       1  0 01:13 ?        00:00:00 db_m007_FREE
    oracle       407       1  0 01:13 ?        00:00:00 db_m008_FREE
    oracle       409       1  0 01:13 ?        00:00:01 db_cjq0_FREE
    oracle       438       1  0 01:13 ?        00:00:00 tail -f /opt/oracle/diag/rdbms/free/FREE/trace/alert_FREE.log
    oracle       444       1  0 01:13 ?        00:00:00 db_j000_FREE
    oracle       446       1  0 01:13 ?        00:00:00 db_j001_FREE
    oracle       448       1  0 01:13 ?        00:00:00 db_j002_FREE
    oracle       450       1  0 01:13 ?        00:00:00 db_j003_FREE
    oracle       453       1  0 01:13 ?        00:00:00 db_qm02_FREE
    oracle       455       1  0 01:13 ?        00:00:00 db_q001_FREE
    oracle       459       1  0 01:13 ?        00:00:00 db_q003_FREE
    oracle       461       1  0 01:13 ?        00:00:00 db_q004_FREE
    oracle       465       1  0 01:14 ?        00:00:00 db_q005_FREE
    oracle       467       1  0 01:14 ?        00:00:00 db_ir00_FREE
    oracle       469       1  0 01:14 ?        00:00:00 db_ir01_FREE
    oracle       504       1  0 01:14 ?        00:00:00 db_cl00_FREE
    oracle       506       1  0 01:14 ?        00:00:00 db_w001_FREE
    oracle       509       0  0 01:14 pts/0    00:00:00 bash
    oracle       556     509  0 01:15 pts/0    00:00:00 ps -ef

    -> 보통은 ORA_ 언더바로 시작하는데 db_ 언더바로 시작함. listener, SMON, PMON을 확인. spfile을 읽어서 init이 정상적으로 동작했음을 확인할 수 있음

    9. oracle 관련 환경변수 확인하기

    env | grep ORA

    ORACLE_SID=FREE
    ORACLE_BASE=/opt/oracle
    ORACLE_HOME=/opt/oracle/product/23c/dbhomeFree
    ORACLE_PDB=
    ORACLE_PWD=
    ORACLE_DOCKER_INSTALL=true

    10. lsnrctl 명령어로 실시간 listener 프로세스 상태 확인하는 방법

    bash-4.4$ lsnrctl status

    LSNRCTL for Linux: Version 23.0.0.0.0 - Production on 29-APR-2024 01:16:41

    Copyright (c) 1991, 2023, Oracle.  All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_FREE)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 23.0.0.0.0 - Production
    Start Date                29-APR-2024 01:13:19
    Uptime                    0 days 0 hr. 3 min. 22 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Default Service           FREE
    Listener Parameter File   /opt/oracle/product/23c/dbhomeFree/network/admin/listener.ora
    Listener Log File         /opt/oracle/diag/tnslsnr/e27780d8fac8/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_FREE)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
    Services Summary...
    Service "045acbe8e883095de0630600580a36d1" has 1 instance(s).
      Instance "FREE", status READY, has 1 handler(s) for this service...
    Service "FREE" has 1 instance(s).
      Instance "FREE", status READY, has 1 handler(s) for this service...
    Service "FREEXDB" has 1 instance(s).
      Instance "FREE", status READY, has 1 handler(s) for this service...
    Service "PLSExtProc" has 1 instance(s).
      Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
    Service "freepdb1" has 1 instance(s).
      Instance "FREE", status READY, has 1 handler(s) for this service...
    The command completed successfully

    -> FREE는 설치한 oracle 버전을 의미함

     

    11. sqlplus를 이용해서 oracle 서버에 접속하기 (최종)

     sqlplus / as sysdba

    SQL*Plus: Release 23.0.0.0.0 - Production on Mon Apr 29 01:16:51 2024
    Version 23.3.0.23.09

    Copyright (c) 1982, 2023, Oracle.  All rights reserved.


    Connected to:
    Oracle Database 23c Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
    Version 23.3.0.23.09

    SQL> show pdbs

     

    -> 앞이 SQL로 바뀜. 커맨드 실행 가능

Designed by Tistory.