이 글에서는 Oracle® Application Express(APEX)와 Oracle REST Data Services(ORDS)를 소개하고, APEX 설치 방법과 ORDS 설치 및 구성 절차를 단계별로 안내합니다. 일반적으로 이 두 가지 작업은 데이터베이스 관리자(DBA)가 담당합니다.
APEX란 무엇인가?
APEX는 Oracle이 개발한 저비용 웹 기반 소프트웨어 개발 환경 플랫폼으로, Oracle 데이터베이스 위에서 실행됩니다. APEX는 어디에서든 배포할 수 있으며, 개발자가 다양한 기능을 갖춘 안전하고 확장성 있는 엔터프라이즈 애플리케이션을 구축할 수 있도록 지원합니다.
ORDS란 무엇인가?
ORDS는 Java 기반 애플리케이션으로, SQL과 데이터베이스 역량을 갖춘 개발자가 Oracle Database용 REST API를 개발할 수 있게 해줍니다. 아래 이미지와 같이 WebLogic®, Tomcat®, Glassfish® 등 웹 서버 및 애플리케이션 서버에 배포할 수 있습니다.
이미지 출처: https://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-arch-1876607.png
설치 및 구성 방법
APEX와 ORDS는 다음 세 가지 방법으로 설치하고 구성할 수 있습니다.
- APEX와 ORDS를 설치한 후 ORDS를 구성하는 방법
- APEX를 설치하고 웹 리스너로 내장 PL/SQL 게이트웨이(Embedded PL/SQL Gateway)를 구성하는 방법
- APEX를 설치하고 레거시 웹 리스너인 Oracle HTTP Server를 구성하는 방법
이 글에서는 Oracle이 권장하는 첫 번째 방법, 즉 APEX와 ORDS를 설치한 후 ORDS를 구성하는 절차를 다룹니다.
APEX 설치
참고: APEX는 반드시 데이터베이스 서버 노드에 설치해야 합니다.
다음 단계에 따라 APEX 실행 파일을 설치하고 테이블스페이스와 스키마를 생성합니다.
-
APEX 소프트웨어를 다운로드한 후 /u01/app/oradi/Apex 경로에 압축을 해제합니다.
$unzip apex_19.2_en.zip SQL> create tablespace apex_data datafile '+DMLCKI_DATA1/dmlcki/datafile/apex_data01.dbf' size 4000M; Tablespace created. $pwd /u01/app/oradi/Apex sqlplus "/as sysdba" SQL> @apexins.sql apex_data apex_data TEMP /i/ -- apex_data : APEX 스키마와 관련 파일을 저장할 테이블스페이스 -- TEMP : 임시 테이블스페이스 -- /i/ : 이미지 디렉터리
2. 관리자 비밀번호를 변경합니다.
SQL> @apxchpwd.sql
3. APEX_LISTENER와 APEX_REST_PUBLIC_USER 계정을 생성합니다.
SQL> @apex_rest_config.sql
ORDS 설치 및 구성
다음 단계에 따라 ORDS를 설치하고 구성합니다.
- 최신 버전의 ORDS를 /u01/app/oradi/ORDS 경로에 다운로드합니다.
- 다운로드한 파일을 원하는 디렉터리에 압축 해제합니다.
-
APEX 소프트웨어 zip 파일에 포함된 images 디렉터리(/u01/app/oradi/Apex/apex/images)를 ORDS를 설치할 위치로 복사합니다.
[oradi@diatmlckidb01 apex]$ cp -rp images /u01/app/oradi/ORDS/ [oradi@diatmlckidb01 apex]$ pwd /u01/app/oradi/Apex/apex [oradi@diatmlckidb01 apex]$ cd /u01/app/oradi/ORDS/ [oradi@diatmlckidb01 ORDS]$ ls -lrt drwxr-xr-x 32 oradi oinstall 40960 Nov 6 14:21 images -rw-r--r-- 1 oradi oinstall 63211594 Nov 27 20:14 ords-19.2.0.199.1647.zip - Oracle은 ORDS 실행 시 최신 버전의 Java 사용을 권장합니다. 패치 파일 p30437878_180231_LINUX.zip에서 JDK 8을 다운로드한 후 압축을 해제합니다.
-
기존 jdk 폴더를 백업한 뒤, jdk1.8.0_231 폴더를 ORACLE_HOME/으로 복사합니다.
[oradi@diatmlckidb01 clone]$ cd /u01/app/oradi/DMLCKI/db/tech_st/11.2.0/ [oradi@diatmlckidb01 11.2.0]$ mv jdk jdk_old [oradi@diatmlckidb01 11.2.0]$ cd [oradi@diatmlckidb01 ~]$ cd clone/ [oradi@diatmlckidb01 clone]$ cp -rp jdk1.8.0_231 $ORACLE_HOME/ [oradi@diatmlckidb01 clone]$ cd $ORACLE_HOME/ [oradi@diatmlckidb01 11.2.0]$ mv jdk1.8.0_231 jdk [oradi@diatmlckidb01 11.2.0]$ java -version java version "1.8.0_231" Java(TM) SE Runtime Environment (build 1.8.0_231-b33) Java HotSpot(TM) Server VM (build 25.231-b33, mixed mode) -
아래 명령을 실행하여 설치와 구성을 마무리합니다. 설치 과정에서 데이터베이스 서버 정보, 포트, 서비스 이름, 각 사용자 비밀번호 등을 순서대로 입력하라는 메시지가 표시됩니다.
[oradi@diatmlckidb01 ORDS]$ java -Dorg.eclipse.jetty.server.Request.maxFormContentSize=3000000 -jar ords.war This Oracle REST Data Services instance has not yet been configured. Please complete the following prompts Enter the location to store configuration data: /u01/app/oradi/ORDS/params Enter the name of the database server [localhost]:diatmlckidb01. Enter the database listen port [1521]:1522 Enter 1 to specify the database service name, or 2 to specify the database SID [1]: Enter the database service name:DMLCKI Enter the database password for ORDS_PUBLIC_USER: Confirm password: Requires to login with administrator privileges to verify Oracle REST Data Services schema. Enter the administrator username:sys Enter the database password for SYS AS SYSDBA: Confirm password: Retrieving information. Enter the default tablespace for ORDS_PUBLIC_USER [SYSAUX]: Enter 1 if you want to use PL/SQL Gateway or 2 to skip this step. If you are using Oracle Application Express or migrating from mod_plsql then you must enter 1: Enter the database password for APEX_PUBLIC_USER: Confirm password: Enter 1 to specify passwords for Application Express RESTful Services database users (APEX_LISTENER, APEX_REST_PUBLIC_USER) or 2 to skip this step: Enter the database password for APEX_LISTENER: Confirm password: Enter the database password for APEX_REST_PUBLIC_USER: Confirm password: Nov 28, 2019 6:38:12 AM Installing Oracle REST Data Services version 19.2.0.r1991647 ... Log file written to /home/oradi/ords_install_core_2019-11-28_063812_00625.log ... Verified database prerequisites ... Created Oracle REST Data Services proxy user ... Created Oracle REST Data Services schema ... Granted privileges to Oracle REST Data Services ... Created Oracle REST Data Services database objects ... Log file written to /home/oradi/ords_install_datamodel_2019-11-28_063822_00076.log ... Log file written to /home/oradi/ords_install_apex_2019-11-28_063823_00607.log Complete installation for Oracle REST Data Services version 19.2.0.r1991647. Elapsed time: 00:00:12.537.
설치가 완료되면 웹 브라우저에서 APEX URL인 https://localhost:8080/apex/apex_admin에 접속할 수 있는지 확인합니다.
결론
APEX는 Oracle의 데이터베이스 및 웹 애플리케이션 개발 도구로, 레거시 Oracle Forms 애플리케이션을 대체한 솔루션입니다. Oracle APEX는 적은 비용으로 신속하게 애플리케이션을 구축할 수 있고, DBA가 고객의 요구 사항에 빠르게 대응할 수 있게 해주기 때문에 훨씬 더 나은 선택입니다.
ORDS는 HTTP 또는 HTTPS 요청을 통해 데이터베이스에 직접 액세스할 수 있도록 지원하므로, 기존 애플리케이션의 데이터를 손쉽게 수정할 수 있습니다. 소프트웨어 개발자는 웹 서비스 호출만으로 데이터베이스와 상호작용할 수 있습니다.
피드백 탭을 통해 의견을 남기거나 질문할 수 있으며, 지금 바로 채팅을 시작해 대화를 나눌 수도 있습니다.
데이터베이스에 대해 더 자세히 알아보세요.