안녕하세요.
‘수상한 김토끼’ 입니다.
이 포스팅은 Oracle Database 19c에 Apex와 ORDS를 설치하고 Apex 개발환경을 설정하는 과정을 정리 한 내용입니다.
설치과정은 크게 Apex 설치와 ORDS를 설치하고 구성하는 2개의 과정으로 진행됩니다.
Databse는 Oracle Database 19c를 사용했으며 설치과정은 이전 블로그 포스팅(https://with-kami.duckdns.org/oracle-database/134)을 참조 해 진행 해 주세요.
Oracle APEX – Downloads 페이지에서 설치파일을 다운 받은 후, 설치하려는 Oracle DB 서버에 업로드 해 줍니다.

여기에서는 apex라는 db와 별도의 계정을 생성하여 설치를 진행하였습니다.
작성일 기준 최신버전인 24.1 버전(apex_24.1.zip)을 서버에 업로드 후 압축을 풀어 주었습니다.
[apex@apex apex_24.1]$ id uid=54322(apex) gid=54331(apex) groups=54331(apex) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 [apex@apex apex_24.1]$ pwd /home/apex/apex_24.1 [apex@apex apex_24.1]$ ls apexins1.sql apex_rest_config.sql apxdwngrd.sql apxrtins2.sql coreins4.sql apexins2.sql appins.sql apxpatch_cdb.sql apxrtins3.sql coreins5.sql apexins3.sql apxappcon.sql apxpatch_nocdb.sql apxrtins_cdb.sql coreins.sql apexins_adb.sql apxchpwd.sql apxpatch.sql apxrtins_nocdb.sql dbcsconf.sql apexins_cdb.sql apxdevrm_cdb.sql apxremov1.sql apxrtins.sql dbcsins.sql apexins_nocdb.sql apxdevrm_nocdb.sql apxremov2.sql apxsilentins.sql devins.sql apexins.sql apxdevrm.sql apxremov_cdb.sql builder images apex_rest_config_cdb.sql apxdvins_cdb.sql apxremov_nocdb.sql core LICENSE.txt apex_rest_config_core.sql apxdvins_nocdb.sql apxremov.sql coreins2.sql load_trans.sql apex_rest_config_nocdb.sql apxdvins.sql apxrtins1.sql coreins3.sql utilities [apex@apex apex_24.1]$
설치파일 준비가 끝났으니 Oracle 환경변수를 정의 해 줍니다.
Oracle 환경변수와 동일하게 scripts 경로를 생성하고 setEnv.sh 파일을 작성해 줍니다.
[apex@apex scripts]$ vi setEnv.sh # Oracle Settings export ORACLE_BASE=/oracle/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.3.0 export TNS_ADMIN=$ORACLE_HOME/network/admin export DATA_DIR=/oracle/app/oradata export ORACLE_HOSTNAME=apex export ORACLE_UNQNAME=apex export ORACLE_SID=apex export NLS_LANG=American_America.KO16MSWIN949 #export DISPLAY=$ORACLE_HOSTNAME:0.0 export ORA_NLS=$ORACLE_HOME/admin/data export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:.:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib alias ss='sqlplus / as sysdba'
작성한 setEnv.sh 파일을 .bash_profile에 등록해 변수가 자동으로 등록될 수 있도록 해 주세요.
설치파일과 환경준비가 마무리 되었으니 apex 설치를 진행 해 보겠습니다.
우선 압축을 해제한 apex 디렉토리로 이동 후 SQL*Plus 명령으로 Oracle DB에 접속 해 주세요.
[apex@apex apex_24.1]$ pwd /home/apex/apex_24.1 [apex@apex apex_24.1]$ ss SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jul 15 06:53:50 2024 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. ERROR: ORA-01017: invalid username/password; logon denied Enter user-name: sys as sysdba Enter password: Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 SQL>
apex 설치를 위해 apexins.sql 스크립트를 아래와 같은 옵션으로 수행 해 줍니다.
SQL> @apexins.sql SYSAUX SYSAUX TEMP /i/
SQL> @apexins.sql SYSAUX SYSAUX TEMP /i/ ...set_appun.sql PL/SQL procedure successfully completed. ... Thank you for installing Oracle APEX 24.1.0 Oracle APEX is installed in the APEX_240100 schema. The structure of the link to the Oracle APEX administration services is as follows: http://host:port/ords/apex_admin The structure of the link to the Oracle APEX development interface is as follows: http://host:port/ords timing for: Phase 3 (Switch) Elapsed: 0.13 timing for: Complete Installation Elapsed: 5.48 SYS>
Apex 설치가 완료되면 다음 명령으로 Administrator 계정을 구성해 줘야 합니다.
SQL> @apxchpwd.sql
SYS> @apxchpwd.sql ...set_appun.sql ================================================================================ This script can be used to change the password of an Oracle APEX instance administrator. If the user does not yet exist, a user record will be created. ================================================================================ Enter the administrator's username [ADMIN] User "ADMIN" does not yet exist and will be created. Enter ADMIN's email [ADMIN] test@test.test Enter ADMIN's password [] Created instance administrator ADMIN. SYS>
다음으로 Public User 구성작업을 진행합니다.
# APEX_PUBLIC_USER Lock 해제
SQL> ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK ;
# APEX_PUBLIC_USER PW 변경
SQL> ALTER USER APEX_PUBLIC_USER IDENTIFIED BY new_password ;
SYS> ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK ; SYS> ALTER USER APEX_PUBLIC_USER IDENTIFIED BY "new_password"; SYS>
계정 관련 작업은 마무리 되었고 Apex RESTful Data Service 사용을 위한 설정을 진행 해 줍니다.
# APEX RESTful Data Service 구성
SQL> @apex_rest_config.sql
SYS> @apex_rest_config.sql Enter a password for the APEX_LISTENER user [] Enter a password for the APEX_REST_PUBLIC_USER user [] ...set_appun.sql ...setting session environment ...create APEX_LISTENER and APEX_REST_PUBLIC_USER users ...grants for APEX_LISTENER and ORDS_METADATA user SYS>
여기까지 apex 개발환경 구성작업이 마무리 되었습니다.
실제 http환경으로 apex에 접속하기 위해서는 ORDS 구성이 필요한데, ORDS 구성은 다음 장에서 진행 해 보도록 하겠습니다.