Oracle Application Express(APEX)
Amazon RDS는 APEX
및 APEX-DEV
옵션 사용을 통해 Oracle Application Express(APEX)를 지원합니다. Oracle APEX를 웹 기반 애플리케이션을 위한 런타임 환경 또는 전체 개발 환경으로 배포할 수 있습니다. 사용자는 Oracle APEX를 사용하여 웹 브라우저 내에서 전체 애플리케이션을 빌드할 수 있습니다. 자세한 내용은 Oracle 문서의 Oracle Application Express
주제
APEX 구성 요소
Oracle APEX는 다음과 같은 주요 구성 요소로 구성됩니다.
-
리포지토리 - APEX 애플리케이션 및 구성 요소에 대한 메타데이터를 저장합니다. 리포지토리는 Amazon RDS DB 인스턴스에 설치되는 테이블, 인덱스 및 기타 객체로 구성됩니다.
-
listener - Oracle APEX 클라이언트와의 HTTP 통신을 관리합니다. 리스너는 Amazon EC2 인스턴스, 회사의 온프레미스 서버 또는 사용자의 데스크톱 컴퓨터와 같은 별도의 호스트에 상주합니다. 리스너는 웹 브라우저에서 수신되는 유입 연결을 허용하고 처리를 위해 해당 연결을 Amazon RDS DB 인스턴스에 전달한 다음, 리포지토리의 결과를 브라우저로 다시 보냅니다.
RDS for Oracle은 다음과 같은 유형의 리스너를 지원합니다.
-
APEX 버전 5.0 이상은 Oracle REST Data Services(ORDS) 버전 19.1 이상을 사용합니다. 지원되는 최신 버전의 Oracle APEX 및 ORDS를 사용하는 것이 좋습니다. 이 설명서에서는 이전 버전과의 호환성에 대해서만 이전 버전을 설명합니다.
-
APEX 버전 4.1.1의 경우 Oracle APEX Listener 버전 1.1.4를 사용할 수 있습니다.
-
Oracle HTTP 서버 및
mod_plsql
리스너를 사용할 수 있습니다.참고
Amazon RDS는 APEX의 리스너로 PL/SQL 게이트웨이가 내장된 Oracle XML DB HTTP 서버를 지원하지 않습니다. 일반적으로 Oracle은 인터넷 기반 애플리케이션용으로 포함된 PL/SQL 게이트웨이 사용을 권장합니다.
이러한 리스너 유형에 대한 자세한 내용은 Oracle 설명서에서 About Choosing a Web Listener
를 참조하세요. -
Amazon RDS APEX 옵션을 RDS for Oracle DB 인스턴스에 추가하면 Amazon RDS에서 Oracle APEX 리포지토리만 설치합니다. 리스너를 별도의 호스트에 설치합니다.
APEX 버전 요구 사항
APEX 옵션은 DB 인스턴스에 대한 DB 인스턴스 클래스의 스토리지를 사용합니다. 다음은 Oracle APEX에 대한 지원 버전과 대략적인 스토리지 요구 사항입니다.
APEX 버전 | 스토리지 요구 사항 | 지원되는 Oracle Database 버전 | 참고 |
---|---|---|---|
Oracle APEX 버전 23.2.v1 |
110MiB |
모두 |
이 버전에는 패치 35895964: APEX 23.2용 PSE 번들(23.2.0 기반 PSES), PATCH_VERSION 6이 포함됩니다. |
Oracle APEX 버전 23.1.v1 |
106MiB |
모두 |
이 버전은 패치 35283657: APEX 23.1용 PSE 번들(23.1.0 기반 PSES), PATCH_VERSION 2를 포함합니다. |
Oracle APEX 버전 22.2.v1 |
106MiB |
모두 |
이 버전은 패치 34628174: APEX 22.2용 PSE 번들(22.2.0 기반 PSES), PATCH_VERSION 4를 포함합니다. |
Oracle APEX 버전 22.1.v1 |
124MiB |
모두 |
이 버전은 패치 34020981: APEX 22.1용 PSE 번들(22.1.0 기반 PSES), PATCH_VERSION 6을 포함합니다. |
Oracle APEX 버전 21.1.v1 |
125MiB |
모두 |
이 버전은 패치 33420059: APEX 21.2용 PSE 번들(21.2.0 기반 PSES), PATCH_VERSION 8을 포함합니다. |
Oracle APEX 버전 21.1.v1 |
125MiB |
모두 |
이 버전은 패치 32598392: APEX 21.1용 PSE 번들, PATCH_VERSION 3를 포함합니다. |
Oracle APEX 버전 20.2.v1 |
148MiB |
Oracle Database 21c를 제외한 모든 제품 |
이 버전은 패치 32006852: APEX 20.2용 PSE 번들, PATCH_VERSION 2020.11.12를 포함합니다. 다음 쿼리를 실행하여 패치 번호와 날짜를 확인할 수 있습니다.
|
Oracle APEX 버전 20.1.v1 |
173MiB |
Oracle Database 21c를 제외한 모든 제품 |
이 버전은 패치 30990551: APEX 20.1용 PSE 번들, PATCH_VERSION 2020.07.15를 포함합니다. |
Oracle APEX 버전 19.2.v1 |
149 MiB |
Oracle Database 21c를 제외한 모든 제품 |
|
Oracle APEX 버전 19.1.v1 |
148MiB |
Oracle Database 21c를 제외한 모든 제품 |
다운로드 가능한 APEX .zip 파일은 Oracle 웹 사이트의 Oracle APEX 이전 릴리스 아카이브
Oracle APEX 및 ORDS 요구 사항
APEX 및 ORDS의 요구 사항은 다음과 같습니다.
-
시스템이 Java 런타임 환경(JRE)을 사용해야 합니다.
-
Oracle 클라이언트 설치에는 다음이 포함되어야 합니다.
-
관리 작업을 위한 SQL*Plus 또는 SQL Developer
-
RDS for Oracle DB 인스턴스에 대한 연결을 구성하기 위한 Oracle Net Services
-
DB 인스턴스에 APEX 및 APEX-DEV 옵션 추가
RDS for Oracle DB 인스턴스에 APEX
및 APEX-DEV
옵션을 추가하려면 다음을 수행합니다.
-
새 옵션 그룹을 생성하거나 기존 옵션 그룹을 복사 또는 수정합니다.
-
옵션 그룹에
APEX
및APEX-DEV
옵션을 추가합니다. -
옵션 그룹과 DB 인스턴스를 연결합니다.
Amazon RDS APEX 옵션을 추가하는 경우 DB 인스턴스를 자동으로 다시 시작하는 동안 잠시 작동이 중단됩니다.
참고
APEX
옵션이 설치되면 APEX_MAIL
을 사용할 수 있습니다. APEX_MAIL
패키지에 대한 실행 권한은 PUBLIC
에 부여되므로 APEX 관리자 계정이 없어도 사용할 수 있습니다.
DB 인스턴스에 APEX 옵션을 추가하려면
-
사용할 옵션 그룹을 결정합니다. 새 옵션 그룹을 생성하거나 기존 옵션 그룹을 사용합니다. 기존 옵션 그룹을 사용하려면 다음 단계로 건너뛰십시오. 그렇지 않으면 다음 설정을 사용하여 사용자 지정 DB 옵션을 생성합니다.
-
[Engine]에서 사용할 Oracle 버전을 선택합니다. 모든 버전에서 APEX 옵션이 지원됩니다.
-
메이저 엔진 버전에서 DB 인스턴스의 버전을 선택합니다.
자세한 내용은 옵션 그룹 생성 섹션을 참조하세요.
-
-
해당 옵션을 옵션 그룹에 추가합니다. Oracle APEX 런타임 환경만 배포하려면
APEX
옵션만 추가합니다. 전체 개발 환경을 배포하려면APEX
및APEX-DEV
옵션을 모두 추가합니다.[ Version]에서 사용하고자 하는
APEX
버전을 선택합니다.중요
하나 이상의 DB 인스턴스에 이미 연결되어 있는 기존 옵션 그룹에 APEX 옵션을 추가하면 인스턴스가 잠시 중단됩니다. 이때 모든 DB 인스턴스가 자동으로 다시 시작됩니다.
옵션 추가에 대한 자세한 내용은 옵션 그룹에 옵션 추가 섹션을 참조하세요.
-
옵션 그룹을 새 DB 인스턴스 또는 기존 DB 인스턴스에 적용합니다:
-
새 DB 인스턴스의 경우, 인스턴스를 시작할 때 옵션 그룹을 적용합니다. 자세한 내용은 Amazon RDS DB 인스턴스 생성 섹션을 참조하세요.
-
기존 DB 인스턴스의 경우, 해당 인스턴스를 수정하고 새 옵션 그룹을 연결하여 옵션 그룹을 적용합니다. 기존 DB 인스턴스에 APEX 옵션을 추가하는 경우 DB 인스턴스를 자동으로 다시 시작하는 동안 인스턴스가 잠시 중단됩니다. 자세한 내용은 Amazon RDS DB 인스턴스 수정 단원을 참조하십시오.
-
DB 인스턴스의 퍼블릭 사용자 계정 잠금 해제
Amazon RDS APEX 옵션을 DB 인스턴스에 설치한 후 다음 작업을 수행해야 합니다.
-
APEX 퍼블릭 사용자 계정의 암호를 변경합니다.
-
계정의 잠금을 해제합니다.
이 작업은 Oracle SQL*Plus 명령줄 유틸리티를 사용하여 수행할 수 있습니다. DB 인스턴스에 마스터 사용자로 연결하고 다음 명령을 실행합니다. new_password
를 원하는 암호로 바꿉니다.
ALTER USER APEX_PUBLIC_USER IDENTIFIED BY
new_password
; ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK;
Oracle APEX용 RESTful 서비스 구성
APEX에 RESTful 서비스를 구성하려면(APEX 4.1.1.V1에는 필요하지 않음) SQL*Plus를 사용하여 마스터 사용자로서 DB 인스턴스에 연결합니다. 그런 다음 rdsadmin.rdsadmin_run_apex_rest_config
저장 프로시저를 실행합니다. 저장 프로시저를 실행할 때 다음 사용자를 위한 암호를 제공합니다.
-
APEX_LISTENER
-
APEX_REST_PUBLIC_USER
저장 프로시저는 이들 사용자를 위해 새 데이터베이스 계정을 만드는 apex_rest_config.sql
스크립트를 실행합니다.
참고
Oracle APEX 버전 4.1.1.v1을 위한 구성은 필요하지 않습니다. 이 Oracle APEX 버전에 한해 저장 프로시저를 실행할 필요가 없습니다.
다음 명령으로 저장 프로시저를 실행합니다.
EXEC rdsadmin.rdsadmin_run_apex_rest_config('
apex_listener_password
', 'apex_rest_public_user_password
');
별도의 호스트에 ORDS 설치 준비
Amazon EC2 인스턴스, 회사의 온프레미스 서버 또는 사용자의 데스크톱 컴퓨터와 같은 별도의 호스트에 ORDS를 설치합니다. 이 섹션의 예제에서는 호스트가 Linux를 실행하고 myapexhost.example.com
이름이 지정되었다고 가정합니다.
ORDS를 설치하려면 먼저 권한 없는 OS 사용자를 생성한 다음, APEX 설치 파일을 다운로드하여 압축을 풀어야 합니다.
ORDS 설치를 준비하려면
-
myapexhost.example.com
에root
로 로그인합니다. -
리스너 설치를 소유할 권한 없는 OS 사용자를 생성합니다. 다음 명령은 apexuser라는 새 사용자를 생성합니다.
useradd -d /home/apexuser
apexuser
다음 명령은 새로운 사용자에게 암호를 할당합니다.
passwd apexuser;
-
myapexhost.example.com
에apexuser
로 로그인하고, Oracle의 APEX 설치 파일을/home/apexuser
디렉터리에 다운로드합니다. -
/home/apexuser
디렉터리에서 파일의 압축을 풉니다.unzip apex_
version
.zip파일의 압축을 풀면
apex
디렉터리에/home/apexuser
디렉터리가 있습니다. -
myapexhost.example.com
에apexuser
로 로그인한 상태에서 Oracle REST Data Services 파일을 Oracle에서/home/apexuser
디렉터리로 다운로드합니다. http://www.oracle.com/technetwork/developer-tools/apex-listener/downloads/index.html
ORDS 21 이하 설치 및 구성
이제 Oracle APEX에서 사용하기 위해 Oracle Rest Data Services(ORDS)를 설치하고 구성할 수 있습니다. APEX 버전 5.0 이상은 ORDS 버전 19.1~21을 사용합니다. ORDS 22 이상을 설치하는 방법에 대해 알아보려면 ORDS 22 이상 설치 및 구성 섹션을 참조하세요.
Amazon EC2 인스턴스, 회사의 온프레미스 서버 또는 사용자의 데스크톱 컴퓨터와 같은 별도의 호스트에 리스너를 설치합니다. 이 단원의 예에서는 호스트의 이름이 myapexhost.example.com
이고 이 호스트에서 Linux를 실행 중이라고 가정합니다.
Oracle APEX에서 사용할 ORDS 21 이하를 설치 및 구성하려면 다음과 같이 하세요.
-
Oracle REST data services
로 이동하여 Readme를 검토합니다. 필요한 버전의 Java를 설치했는지 확인합니다. -
ORDS 설치를 위한 새 디렉터리를 만듭니다.
mkdir /home/apexuser/ORDS cd /home/apexuser/ORDS
-
Oracle REST 데이터 서비스
에서 ords.
파일을 다운로드합니다.version.number
.zip -
/home/apexuser/ORDS
디렉터리에 파일의 압축을 풉니다. -
다중 테넌트 데이터베이스에 ORDS를 설치하는 경우
/home/apexuser/ORDS/params/ords_params.properties
파일에 다음 줄을 추가합니다.pdb.disable.lockdown=false
-
마스터 사용자에게 ORDS를 설치하는 데 필요한 권한을 부여합니다.
Amazon RDS APEX 옵션이 설치된 후 마스터 사용자에게 ORDS 스키마를 설치하는 데 필요한 권한을 부여합니다. 이렇게 하려면 데이터베이스에 연결하고 다음 명령을 실행합니다.
를 마스터 사용자의 대문자 이름으로 바꿉니다.MASTER_USER
중요
사용자 이름을 입력할 때 대소문자를 구분하는 식별자로 사용자를 생성하지 않는 한 대문자를 사용합니다. 예를 들어
CREATE USER myuser
또는CREATE USER MYUSER
를 실행하는 경우 데이터 딕셔너리에MYUSER
가 저장됩니다. 그러나CREATE USER "MyUser"
에서 큰 따옴표를 사용하는 경우 데이터 딕셔너리를MyUser
에 저장합니다. 자세한 내용은 SYS 객체에 대한 SELECT 또는 EXECUTE 권한 부여 섹션을 참조하세요.exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_OBJECTS', '
MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_ROLE_PRIVS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_TAB_COLUMNS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONS_COLUMNS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONSTRAINTS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_OBJECTS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_PROCEDURES', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TAB_COLUMNS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TABLES', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_VIEWS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('WPIUTL', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SESSION', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_UTILITY', 'MASTER_USER
', 'EXECUTE', true);참고
이들 명령은 ORDS 버전 19.1 이상에 적용됩니다.
-
다운로드한 ords.war 파일을 사용하여 ORDS 스키마를 설치합니다.
java -jar ords.war install advanced
프로그램에서 다음 정보를 묻는 메시지를 표시합니다. 기본값은 괄호 안에 표시되어 있습니다. 자세한 내용은 Oracle 설명서의 Introduction to Oracle REST Data Services
를 참조하세요. -
구성 데이터를 저장할 위치를 입력합니다.
/home/apexuser/ORDS
를 입력합니다. ORDS 구성 파일의 위치입니다. -
사용할 데이터베이스 연결 유형을 지정합니다. [1] 기본 [2] TNS [3] 사용자 지정 URL [1]에 대한 번호를 입력합니다.
원하는 연결 유형을 선택합니다.
-
데이터베이스 서버 [localhost]의 이름
DB_instance_endpoint
를 입력합니다.기본값을 선택하거나 알맞은 값을 입력합니다.
-
데이터베이스 리스너 포트 [1521]:
DB_instance_port
를 입력합니다.기본값을 선택하거나 알맞은 값을 입력합니다.
-
데이터베이스 서비스 이름을 지정하려면 1을, 데이터베이스 SID를 지정하려면 2를 입력합니다[1]:
데이터베이스 SID를 지정하려면
2
를 선택합니다. -
데이터베이스 SID[xe]
기본값을 선택하거나 알맞은 값을 입력합니다.
-
Oracle REST Data Services 스키마를 확인/설치하려면 1을 입력하고 이 [1]단계를 건너뛰려면 2를 입력합니다.
를 선택합니다
1
이 단계에서는 ORDS_PUBLIC_USER라는 Oracle REST Data Services 프록시 사용자를 생성합니다. -
ORDS_PUBLIC_USER의 데이터베이스 암호를 입력합니다.
암호를 입력한 다음 확인합니다.
-
관리자 권한으로 로그인하여 Oracle REST Data Services 스키마를 확인해야 합니다.
관리자 사용자 이름을 입력합니다.
master_user
master_user
의 데이베이스 암호를 입력합니다.master_user_password
암호를 확인합니다.
master_user_password
참고
보안 모범 사례로 여기에 표시된 프롬프트 이외의 암호를 지정하는 것이 좋습니다.
-
ORDS_METADATA [SYSAUX]에 대한 기본 테이블 스페이스를 입력합니다.
ORDS_METADATA [TEMP]에 대한 기본 테이블 스페이스를 입력합니다.
ORDS_PUBLIC_USER [USERS]에 대한 기본 테이블 스페이스를 입력합니다.
ORDS_PUBLIC_USER [TEMP]에 대한 기본 테이블 스페이스를 입력합니다.
-
PL/SQL 게이트웨이를 사용하려면 1을 입력하고 이 단계를 건너뛰려면 2을 입력합니다 Oracle Application Express를 사용 중이거나 mod_plsql에서 마이그레이션하는 경우 1을 입력해야 합니다[1].
기본값을 선택합니다.
-
PL/SQL 게이트웨이 데이터베이스 사용자 이름 [APEX_PUBLIC_USER]를 입력합니다.
기본값을 선택합니다.
-
APEX_PUBLIC_USER의 데이터베이스 암호를 입력합니다.
암호를 입력한 다음 확인합니다.
-
Application Express RESTful Services 데이터베이스 사용자(APEX_LISTENER, APEX_REST_PUBLIC_USER)를 위한 암호를 지정하려면 1을 입력하고 이 [1]단계를 건너뛰려면 2를 입력합니다.
APEX 4.1.1.V1의 경우
2
를 선택하고 다른 모든 APEX 버전의 경우1
을 선택합니다. -
[APEX 4.1.1.v1에는 필요하지 않음] APEX_LISTENER의 데이터베이스 암호
암호를 입력한 다음(필요한 경우) 확인합니다.
-
[APEX 4.1.1.v1에는 필요하지 않음] APEX_REST_PUBLIC_USER의 데이터베이스 암호
암호를 입력한 다음(필요한 경우) 확인합니다.
-
숫자를 입력하여 활성화할 기능을 선택합니다.
SQL 개발자 웹, REST Enabled SQL 및 데이터베이스 API 등 모든 기능을 활성화하려면
1
을 입력합니다. -
독립 실행형 모드로 시작하려면 1을 입력하고 [1]을 종료하려면 2를 입력합니다.
1
를 입력합니다. -
APEX 정적 리소스 위치를 입력합니다.
/home/apexuser
에 APEX 설치 파일의 압축을 푼 경우/home/apexuser/apex/images
를 입력합니다. 그렇지 않으면
를 입력합니다. 여기서unzip_path
/apex/imagesunzip_path
는 파일의 압축을 푼 디렉터리입니다. -
HTTP를 사용하는 경우 1을 입력하고 HTTPS [1]를 사용하는 경우 2를 입력합니다.
1
을 입력하는 경우 HTTP 포트를 지정합니다.2
를 입력하는 경우 HTTPS 포트와 SSL 호스트 이름을 지정합니다. HTTPS 옵션은 인증서 제공 방법을 지정하라는 메시지를 표시합니다.-
자체 서명된 인증서를 사용하려면
1
을 입력합니다. -
자신의 인증서를 제공하려면
2
를 입력합니다.2
를 입력하는 경우 SSL 인증서의 경로와 SSL 인증서 프라이빗 키의 경로를 지정합니다.
-
-
-
APEX
admin
사용자용 암호를 설정합니다. 이를 위해 SQL*Plus를 사용하여 DB 인스턴스에 마스터 사용자로 연결하고 다음 명령을 실행합니다.EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role; grant APEX_ADMINISTRATOR_ROLE to
master
; @/home/apexuser/apex/apxchpwd.sql
를 마스터 사용자 이름으로 바꿉니다.master
apxchpwd.sql
스크립트에서 메시지가 표시되면 새admin
암호를 입력합니다. -
ORDS 리스너를 시작합니다. 다음 코드를 실행합니다.
java -jar ords.war
ORDS를 처음으로 시작할 때 APEX 고정 리소스의 위치를 제공하라는 메시지가 나타납니다. 이 이미지 폴더는 APEX 설치 디렉터리의
/apex/images
디렉터리에 위치합니다. -
브라우저에서 APEX 관리 창으로 돌아가서 [Administration]을 선택합니다. 그런 다음 [Application Express Internal Administration]을 선택합니다. 자격 증명을 요구하는 메시지가 표시되면 다음 정보를 입력합니다.
-
User name(사용자 이름)
admin
– -
Password(암호) –
apxchpwd.sql
스크립트를 사용하여 설정한 암호
[Login]을 선택한 다음
admin
사용자용 새 암호를 설정합니다. -
이제 리스너를 사용할 준비가 끝났습니다.
ORDS 22 이상 설치 및 구성
이제 Oracle APEX에서 사용하기 위해 Oracle Rest Data Services(ORDS)를 설치하고 구성할 수 있습니다. 이 섹션의 예제에서는 별도 호스트의 이름이 myapexhost.example.com
이고 이 호스트에서 Linux를 실행 중이라고 가정합니다. ORDS 22의 지침은 이전 릴리스의 지침과는 다릅니다.
Oracle APEX에서 사용할 ORDS 22 이상을 설치 및 구성하려면 다음과 같이 하세요.
-
Oracle REST data services
로 이동하여 다운로드하려는 ORDS 버전에 대한 Readme를 검토합니다. 필요한 버전의 Java를 설치했는지 확인합니다. -
ORDS 설치를 위한 새 디렉터리를 만듭니다.
mkdir /home/apexuser/ORDS cd /home/apexuser/ORDS
-
Oracle REST data services
에서 ords.
또는version.number
.zipords-latest.zip
파일을 다운로드합니다. -
/home/apexuser/ORDS
디렉터리에 파일의 압축을 풉니다. -
마스터 사용자에게 ORDS를 설치하는 데 필요한 권한을 부여합니다.
Amazon RDS APEX 옵션이 설치된 후 마스터 사용자에게 ORDS 스키마를 설치하는 데 필요한 권한을 부여합니다. 이렇게 하려면 데이터베이스에 로깅하여 다음 명령을 실행합니다.
를 마스터 사용자의 대문자 이름으로 바꿉니다.MASTER_USER
중요
사용자 이름을 입력할 때 대소문자를 구분하는 식별자로 사용자를 생성하지 않는 한 대문자를 사용합니다. 예를 들어
CREATE USER myuser
또는CREATE USER MYUSER
를 실행하는 경우 데이터 딕셔너리에MYUSER
가 저장됩니다. 그러나CREATE USER "MyUser"
에서 큰 따옴표를 사용하는 경우 데이터 딕셔너리를MyUser
에 저장합니다. 자세한 내용은 SYS 객체에 대한 SELECT 또는 EXECUTE 권한 부여 단원을 참조하십시오.exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_OBJECTS', '
MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_ROLE_PRIVS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_TAB_COLUMNS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONS_COLUMNS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONSTRAINTS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_OBJECTS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_PROCEDURES', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TAB_COLUMNS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TABLES', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_VIEWS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('WPIUTL', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SESSION', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_UTILITY', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_LOB', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_ASSERT', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_OUTPUT', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SCHEDULER', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('HTP', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('OWA', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('WPG_DOCLOAD', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_CRYPTO', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_METADATA', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SQL', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('UTL_SMTP', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_NETWORK_ACL_ADMIN', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('SESSION_PRIVS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_USERS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_NETWORK_ACL_PRIVILEGES', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_NETWORK_ACLS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_REGISTRY', 'MASTER_USER
', 'SELECT', true);참고
위의 명령은 ORDS 22 이상에 적용됩니다.
-
다운로드한
ords
스크립트를 사용하여 ORDS 스키마를 설치합니다. 구성 파일 및 로그 파일을 포함할 디렉터리를 지정합니다. Oracle Corporation은 이러한 디렉터리를 ORDS 제품 소프트웨어가 포함되어 있는 디렉터리 내에 배치하지 말 것을 권장합니다.mkdir -p /home/apexuser/ords_config /home/apexuser/ords_logs /home/apexuser/ORDS/bin/ords \ --config /home/apexuser/ords_config \ install --interactive --log-folder /home/apexuser/ords_logs
컨테이너 데이터베이스(CDB) 아키텍처를 실행하는 DB 인스턴스의 경우 ORDS 23.2 이상을 사용하고 ORDS를 설치할 때
--pdb-skip-disable-lockdown
인수를 전달합니다./home/apexuser/ORDS/bin/ords \ --config /home/apexuser/ords_config \ install --interactive --log-folder /home/apexuser/ords_logs --pdb-skip-disable-lockdown
프로그램에서 다음 정보를 묻는 메시지를 표시합니다. 기본값은 괄호 안에 표시되어 있습니다. 자세한 내용은 Oracle 설명서의 Introduction to Oracle REST Data Services
를 참조하세요. -
Choose the type of installation:
데이터베이스에 ORDS 스키마를 설치하고 로컬 ORDS 구성 파일에 데이터베이스 연결 풀을 생성하도록
2
를 선택합니다. -
Specify the database connection type to use. Enter number for [1] Basic [2] TNS [3] Custom URL:
원하는 연결 유형을 선택합니다. 이 예제에서는 사용자가
1
을 선택한 것으로 가정합니다. -
Enter the name of the database server [localhost]:
DB_instance_endpoint
기본값 을 선택하거나 적절한 값을 입력합니다.
-
Enter the database listener port [1521]:
DB_instance_port
기본값
1521
을 선택하거나 적절한 값을 입력합니다. -
Enter the database service name [orcl]:
RDS for Oracle DB 인스턴스에서 사용하는 데이터베이스 이름을 입력합니다.
-
Provide database user name with administrator privileges
Oracle DB 인스턴스의 RDS에 마스터 사용자 이름을 입력합니다.
-
Enter the database password for [username]:
Oracle DB 인스턴스의 RDS에 마스터 사용자 비밀번호를 입력합니다.
-
Enter the default tablespace for ORDS_METADATA and ORDS_PUBLIC_USER [SYSAUX]:
-
Enter the temporary tablespace for ORDS_METADATA [TEMP]. Enter the default tablespace for ORDS_PUBLIC_USER [USERS]. Enter the temporary tablespace for ORDS_PUBLIC_USER [TEMP].
-
Enter a number to select additional feature(s) to enable [1]:
-
Enter a number to configure and start ORDS in standalone mode [1]:
독립형 모드에서 ORDS를 바로 시작하지 않도록
2
를 선택합니다. -
Enter a number to select the protocol [1] HTTP
-
Enter the HTTP port [8080]:
-
Enter the APEX static resources location:
APEX 설치 파일(
/home/apexuser/apex/images
)에 대한 경로를 입력합니다.
-
-
APEX
admin
사용자용 암호를 설정합니다. 이를 위해 SQL*Plus를 사용하여 DB 인스턴스에 마스터 사용자로 연결하고 다음 명령을 실행합니다.EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role; grant APEX_ADMINISTRATOR_ROLE to
master
; @/home/apexuser/apex/apxchpwd.sql
를 마스터 사용자 이름으로 바꿉니다.master
apxchpwd.sql
스크립트에서 메시지가 표시되면 새admin
암호를 입력합니다. -
serve
명령과 함께ords
스크립트를 사용하여 독립형 모드에서 ORDS를 실행합니다. 프로덕션 배포의 경우 Apache Tomcat 또는 Oracle WebLogic Server 등의 지원되는 Java EE 애플리케이션 서버를 사용하는 것이 좋습니다. 자세한 내용은 Oracle 데이터베이스 설명서의 Oracle REST Data Services 배포 및 모니터링을 참조하세요. /home/apexuser/ORDS/bin/ords \ --config /home/apexuser/ords_config serve \ --port 8193 \ --apex-images /home/apexuser/apex/images
ORDS가 실행 중이지만 APEX 설치에 액세스할 수 없는 경우, 특히 비CDB 인스턴스에서 다음 오류가 표시될 수 있습니다.
The procedure named apex_admin could not be accessed, it may not be declared, or the user executing this request may not have been granted execute privilege on the procedure, or a function specified by security.requestValidationFunction configuration property has prevented access.
이 오류를 해결하려면
config
명령으로ords
스크립트를 실행하여 ORDS에서 사용하는 요청 검증 함수를 변경합니다. 기본적으로 ORDS는 CDB 인스턴스에서만 지원되는ords_util.authorize_plsql_gateway
프로시저를 사용합니다. 비CDB 인스턴스의 경우 이 프로시저를wwv_flow_epg_include_modules.authorize
패키지로 변경할 수 있습니다. 사용 사례에 적합한 요청 검증 기능을 구성하는 모범 사례는 Oracle 데이터베이스 설명서 및 Oracle 지원을 참조하세요. -
브라우저에서 APEX 관리 창으로 돌아가서 [Administration]을 선택합니다. 그런 다음 [Application Express Internal Administration]을 선택합니다. 자격 증명을 요구하는 메시지가 표시되면 다음 정보를 입력합니다.
-
User name(사용자 이름)
admin
– -
Password(암호) –
apxchpwd.sql
스크립트를 사용하여 설정한 암호
[Login]을 선택한 다음
admin
사용자용 새 암호를 설정합니다. -
이제 리스너를 사용할 준비가 끝났습니다.
Oracle APEX Listener 설정
참고
Oracle APEX Listener는 더 이상 사용되지 않습니다.
Amazon RDS for Oracle은 APEX 버전 4.1.1 및 Oracle APEX Listener 버전 1.1.4를 계속 지원합니다. 지원되는 최신 버전의 Oracle APEX 및 ORDS를 사용하는 것이 좋습니다.
Amazon EC2 인스턴스, 회사의 온프레미스 서버 또는 사용자의 데스크톱 컴퓨터와 같은 별도의 호스트에 Oracle APEX Listener를 설치합니다. 여기에서는 호스트의 이름이 myapexhost.example.com
이고 이 호스트에서 Linux를 실행 중이라고 가정합니다.
Oracle APEX Listener 설치 준비
Oracle APEX Listener를 설치하려면 먼저 권한 없는 OS 사용자를 생성한 다음, APEX 설치 파일을 다운로드하여 압축을 풀어야 합니다.
Oracle APEX Listener 설치를 준비하려면
-
myapexhost.example.com
에root
로 로그인합니다. -
리스너 설치를 소유할 권한 없는 OS 사용자를 생성합니다. 다음 명령은 apexuser라는 새 사용자를 생성합니다.
useradd -d /home/apexuser
apexuser
다음 명령은 새로운 사용자에게 암호를 할당합니다.
passwd apexuser;
-
myapexhost.example.com
에apexuser
로 로그인하고, Oracle의 APEX 설치 파일을/home/apexuser
디렉터리에 다운로드합니다. -
/home/apexuser
디렉터리에서 파일의 압축을 풉니다.unzip apex_
<version>
.zip파일의 압축을 풀면
apex
디렉터리에/home/apexuser
디렉터리가 있습니다. -
myapexhost.example.com
에apexuser
로 여전히 로그인되어 있는 경우, Oracle의 Oracle APEX 리스너 파일을/home/apexuser
디렉터리에 다운로드합니다.
Oracle APEX Listener 설치 및 구성
APEX를 사용하기 전에 apex.war 파일을 다운로드하고 Java를 사용하여 Oracle APEX Listener를 설치한 다음 리스너를 시작해야 합니다.
Oracle APEX Listener를 설치하고 구성하려면
-
Oracle APEX Listener를 기반으로 새 디렉터리를 생성하고 리스너 파일을 엽니다.
다음 코드를 실행합니다.
mkdir /home/apexuser/apexlistener cd /home/apexuser/apexlistener unzip ../apex_listener.
version
.zip -
다음 코드를 실행합니다.
java -Dapex.home=./apex -Dapex.images=/home/apexuser/apex/images -Dapex.erase -jar ./apex.war
-
다음 프로그램 프롬프트에 정보를 입력합니다.
-
APEX Listener 관리자 이름. 기본값은 adminlistener입니다.
-
APEX Listener 관리자의 암호
-
APEX Listener Manger의 사용자 이름입니다. 기본값은 managerlistener입니다.
-
APEX Listener 관리자의 암호
다음과 같이 구성을 완료하는 데 필요한 URL이 인쇄됩니다.
INFO: Please complete configuration at: http://localhost:8080/apex/listenerConfigure Database is not yet configured
-
-
Oracle Application Express를 사용할 수 있도록 Oracle APEX Listener를 계속 실행합니다. 이 구성 절차를 마치면 Listener를 백그라운드에서 실행할 수 있습니다.
-
웹 브라우저에서 APEX Listener 프로그램에 제공된 URL로 이동합니다. Oracle Application Express Listener 관리 창이 나타납니다. 다음 정보를 입력합니다.
-
Username(사용자 이름)
APEX_PUBLIC_USER
– -
Password(암호) – APEX_PUBLIC_USER에 대한 암호입니다. 앞에서 APEX 리포지토리를 구성할 때 지정한 암호입니다. 자세한 내용은 DB 인스턴스의 퍼블릭 사용자 계정 잠금 해제 섹션을 참조하세요.
-
Connection Type(연결 유형) – 기본
-
Hostname(호스트 이름) – Amazon RDS DB 인스턴스의 엔드포인트입니다(예:
mydb.f9rbfa893tft.us-east-1.rds.amazonaws.com
). -
Port(포트) – 1521
-
SID – Amazon RDS DB 인스턴스에 있는 데이터베이스의 이름입니다(예:
mydb
).
-
-
적용을 선택합니다. APEX 관리 창이 나타납니다.
-
APEX
admin
사용자용 암호를 설정합니다. 이를 위해 SQL*Plus를 사용하여 DB 인스턴스에 마스터 사용자로 연결하고 다음 명령을 실행합니다.EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role; grant APEX_ADMINISTRATOR_ROLE to
master
; @/home/apexuser/apex/apxchpwd.sql
를 마스터 사용자 이름으로 바꿉니다.master
apxchpwd.sql
스크립트에서 메시지가 표시되면 새admin
암호를 입력합니다. -
브라우저에서 APEX 관리 창으로 돌아가서 [Administration]을 선택합니다. 그런 다음 [Application Express Internal Administration]을 선택합니다. 자격 증명을 요구하는 메시지가 표시되면 다음 정보를 입력합니다.
-
User name(사용자 이름)
admin
– -
Password(암호) –
apxchpwd.sql
스크립트를 사용하여 설정한 암호
[Login]을 선택한 다음
admin
사용자용 새 암호를 설정합니다. -
이제 리스너를 사용할 준비가 끝났습니다.
APEX 버전 업그레이드
중요
APEX를 업그레이드하기 전에 DB 인스턴스를 백업하세요. 자세한 내용은 단일 AZ DB 인스턴스용 DB 스냅샷 생성 및 Oracle DB 업그레이드 테스트 단원을 참조하세요.
DB 인스턴스와 함께 APEX를 업그레이드하려면 다음을 실행합니다.
-
업그레이드된 DB 인스턴스 버전의 새 옵션 그룹을 생성합니다.
-
업그레이드된 APEX 및 APEX-DEV 버전을 새 옵션 그룹에 추가합니다. DB 인스턴스가 사용하는 다른 옵션도 포함시켜야 합니다. 자세한 내용은 옵션 그룹 고려 사항 섹션을 참조하세요.
-
DB 인스턴스를 업그레이드할 때 업그레이드된 DB 인스턴스의 새 옵션 그룹을 지정합니다.
APEX 버전을 업그레이드한 후에도 이전 버전의 APEX 스키마가 데이터베이스에 남아 있을 수 있습니다. 더 이상 필요 없는 경우에는 업그레이드 후에 데이터베이스에서 기존 APEX 스키마를 제거할 수 있습니다.
APEX 버전을 업그레이드하고 이전 APEX 버전에서 RESTful 서비스가 구성되지 않은 경우 RESTful 서비스를 구성하는 것이 좋습니다. 자세한 내용은 Oracle APEX용 RESTful 서비스 구성 섹션을 참조하세요.
DB 인스턴스의 메이저 버전 업그레이드를 계획할 때 대상 데이터베이스 버전과 호환되지 않는 APEX 버전을 사용하는 경우가 있습니다. 이러한 경우 DB 인스턴스를 업그레이드하려면 먼저 APEX 버전을 업그레이드해야 합니다. APEX를 먼저 업그레이드하면 DB 인스턴스를 업그레이드하는 시간을 줄일 수 있습니다.
참고
APEX 업그레이드 이후 업그레이드된 버전과 사용할 리스너를 설치 및 구성합니다. 지침은 Oracle APEX Listener 설정 섹션을 참조하세요.
APEX 옵션 제거
DB 인스턴스에서 Amazon RDS APEX 옵션을 제거할 수 있습니다. DB 인스턴스에서 APEX 옵션을 제거하려면 다음 중 하나를 수행합니다.
-
여러 DB 인스턴스에서 APEX 옵션을 제거하려면 DB 인스턴스가 속한 옵션 그룹에서 해당 APEX 옵션을 제거합니다. 이 변경은 해당 옵션 그룹을 사용하는 모든 DB 인스턴스에 영향을 미칩니다. 여러 DB 인스턴스에 연결된 옵션 그룹에서 APEX 옵션을 제거하면 모든 DB 인스턴스가 다시 시작되는 동안 인스턴스가 잠시 중단됩니다.
자세한 내용은 옵션 그룹에서 옵션 제거 섹션을 참조하세요.
-
단일 DB 인스턴스에서 APEX 옵션을 제거하려면 DB 인스턴스를 수정하고 APEX 옵션이 포함되지 않은 다른 옵션 그룹을 지정합니다. 기본(빈) 옵션 그룹을 지정하거나 다른 사용자 지정 옵션 그룹을 지정할 수 있습니다. APEX 옵션을 제거하는 경우 DB 인스턴스를 자동으로 다시 시작하는 동안 인스턴스가 잠시 중단됩니다.
자세한 내용은 Amazon RDS DB 인스턴스 수정 섹션을 참조하세요.
DB 인스턴스에서 APEX 옵션을 제거하면 데이터베이스에서 APEX 스키마가 제거됩니다.