Oracle Java 가상 머신 - Amazon Relational Database Service

Oracle Java 가상 머신

Amazon RDS는 JVM 옵션을 사용함으로써 Oracle Jave 가상 머신(JVM)을 지원합니다. Oracle Java는 Oracle 데이터베이스에서 Oracle Java 기능을 지원하는 SQL 스키마 및 함수를 제공합니다. 자세한 내용은 Oracle 설명서의 Oracle 데이터베이스에 Jave 도입 단원을 참조하십시오.

Oracle JVM을 다음의 Oracle 데이터베이스 버전에 사용할 수 있습니다.

  • Oracle Database 21c(21.0.0), 모든 버전

  • Oracle Database 19c(19.0.0), 모든 버전

  • Oracle Database 12c 릴리스 2(12.2), 모든 버전

  • Oracle Database 12c 릴리스 1(12.1), 버전 12.1.0.2.v13 이상

Amazon RDS의 Java 구현에는 권한 집합이 제한되어 있습니다. 마스터 사용자에게는 RDS_JAVA_ADMIN 역할이 부여되며, JAVA_ADMIN 역할에 의해 부여된 권한의 하위 집합이 부여됩니다. RDS_JAVA_ADMIN 역할에 부여된 권한을 나열하려면 DB 인스턴스에서 다음 쿼리를 실행하십시오.

SELECT * FROM dba_java_policy WHERE grantee IN ('RDS_JAVA_ADMIN', 'PUBLIC') AND enabled = 'ENABLED' ORDER BY type_name, name, grantee;

Oracle JVM 사전 조건

다음은 Oracle Java 사용 시 사전 조건입니다.

  • DB 인스턴스 클래스는 충분히 커야 합니다. Oracle Java는 db.t3.micro 또는 db.t3.small DB 인스턴스 클래스에 대해 지원되지 않습니다. 자세한 내용은 DB 인스턴스 클래스 섹션을 참조하세요.

  • DB 인스턴스는 마이너 버전 자동 업그레이드가 활성화되어 있어야 합니다. 이 옵션을 사용하면 DB 인스턴스가 마이너 DB 엔진 버전 업그레이드를 사용할 수 있을 때 자동으로 수신할 수 있습니다. Amazon RDS는 이 옵션을 사용하여 DB 인스턴스를 최신 Oracle Patch Set Update(PSU) 또는 Release Update(RU)로 업데이트합니다. 자세한 내용은 Amazon RDS DB 인스턴스 수정 섹션을 참조하세요.

Oracle JVM의 모범 사례

다음은 Oracle Java 사용에 관한 모범 사례입니다.

  • 보안을 극대화하기 위해 Secure Sockets Layer(SSL)와 함께 JVM 옵션을 사용합니다. 자세한 내용은 Oracle 보안 소켓 Layer 섹션을 참조하세요.

  • DB 인스턴스를 구성하여 네트워크 액세스를 제한하십시오. 자세한 내용은 VPC에서 DB 인스턴스에 액세스하는 시나리오VPC에서 DB 인스턴스를 사용한 작업 단원을 참조하십시오.

  • 다음 조건을 충족하는 경우 TLSv1.2를 지원하도록 HTTPS 엔드포인트의 구성을 업데이트합니다.

    • Oracle Java Virtual Machine(JVM)을 사용하여 TLSv1 또는 TLSv1.1 프로토콜을 통해 HTTPS 엔드포인트를 연결합니다.

    • 이 엔드포인트는 TLSv1.2 프로토콜을 지원하지 않습니다.

    • 2021년 4월 릴리스 업데이트가 Oracle DB에 적용되지 않았습니다.

    엔드포인트 구성을 업데이트하면 JVM과 HTTPS 엔드포인트의 연결이 계속해서 작동합니다. Oracle JRE 및 JDK의 TLS 변경 사항에 대한 자세한 내용은 Oracle JRE 및 JDK 암호화 로드맵을 참조하세요.

Oracle JVM 옵션 추가

JVM 옵션을 DB 인스턴스에 추가하는 일반적인 프로세스는 다음과 같습니다.

  1. 새 옵션 그룹을 생성하거나 기존 옵션 그룹을 복사 또는 수정합니다.

  2. [] 옵션을 옵션 그룹에 추가합니다.

  3. 옵션 그룹을 DB 인스턴스에 연동시킵니다.

JVM 옵션을 추가하는 동안 잠시 작동이 중단됩니다. 옵션을 추가한 후 DB 인스턴스를 재시작할 필요가 없습니다. 옵션 그룹이 활성화되는 즉시 Oracle java를 사용 가능합니다.

참고

이 중단 기간 동안에는 암호 확인 기능이 잠시 비활성화됩니다. 중단 기간 중에 암호 확인 기능과 관련된 이벤트를 볼 수도 있습니다. Oracle DB 인스턴스를 사용하기 전에 암호 확인 기능이 다시 활성화됩니다.

DB 인스턴스에 JVM 옵션을 추가하려면
  1. 사용할 옵션 그룹을 결정합니다. 새 옵션 그룹을 생성하거나 기존 옵션 그룹을 사용합니다. 기존 옵션 그룹을 사용하려면 다음 단계로 건너뛰십시오. 그렇지 않으면 다음 설정을 사용하여 사용자 지정 DB 옵션을 생성합니다.

    • 엔진에는 DB 인스턴스에서 사용하는 DB 엔진을 선택하십시오(oracle-ee, oracle-se, oracle-se1 또는 oracle-se2).

    • 메이저 엔진 버전에서 DB 인스턴스의 버전을 선택합니다.

    자세한 내용은 옵션 그룹 생성 섹션을 참조하세요.

  2. [JVM] 옵션을 옵션 그룹에 추가합니다. 옵션 추가에 대한 자세한 내용은 옵션 그룹에 옵션 추가 섹션을 참조하세요.

  3. 옵션 그룹을 새 DB 인스턴스 또는 기존 DB 인스턴스에 적용합니다:

    • 새 DB 인스턴스의 경우, 인스턴스를 시작할 때 옵션 그룹을 적용하십시오. 자세한 내용은 Amazon RDS DB 인스턴스 생성 섹션을 참조하세요.

    • 기존 DB 인스턴스의 경우, 해당 인스턴스를 수정하고 새 옵션 그룹을 연결하여 옵션 그룹을 적용하십시오. 자세한 내용은 Amazon RDS DB 인스턴스 수정 섹션을 참조하세요.

  4. 필수 권한을 사용자에게 부여하십시오.

    Amazon RDS 마스터 사용자는 기본값으로 JVM 옵션을 사용하는 권한을 가져야 합니다. 다른 사용자가 이러한 사용 권한을 필요로 하는 경우 SQL 클라이언트에서 DB 인스턴스에 마스터 사용자로 연결하고 사용자에게 사용 권한을 부여하십시오.

    다음 예제에서는 JVM 사용자에게 test_proc 옵션 사용 권한을 부여합니다.

    create user test_proc identified by password; CALL dbms_java.grant_permission('TEST_PROC', 'oracle.aurora.security.JServerPermission', 'LoadClassInPackage.*', '');
    참고

    보안 모범 사례로 여기에 표시된 프롬프트 이외의 암호를 지정하는 것이 좋습니다.

    사용자에게 권한이 부여되면 다음 쿼리는 출력을 반환해야 합니다.

    select * from dba_java_policy where grantee='TEST_PROC';
    참고

    Oracle 사용자 이름은 대소문자를 구분하며 일반적으로 모두 대문자입니다.

Oracle JVM 옵션 제거

DB 인스턴스에서 JVM 옵션을 제거할 수 있습니다. 옵션을 제거하는 동안 잠시 작동이 중단됩니다. JVM 옵션을 제거한 후 DB 인스턴스를 재시작할 필요가 없습니다.

주의

JVM 옵션을 삭제했을 때 DB 인스턴스가 옵션의 일부로 활성화되어 있는 데이터 형식을 사용하고 있다면 데이터가 손실될 수 있습니다. 따라서 처리 전에 데이터를 백업해야 합니다. 자세한 내용은 데이터 백업, 복원 및 내보내기 섹션을 참조하세요.

DB 인스턴스에서 JVM 옵션을 제거하려면 다음 중 하나를 수행합니다.

  • 소속 옵션 그룹에서 JVM 옵션을 제거합니다. 이 변경은 해당 옵션 그룹을 사용하는 모든 DB 인스턴스에 영향을 미칩니다. 자세한 내용은 옵션 그룹에서 옵션 제거 섹션을 참조하세요.

  • DB 인스턴스를 수정하고 JVM 옵션이 포함되지 않은 다른 옵션 그룹을 지정합니다. 이 변경은 단일 DB 인스턴스에 영향을 미칩니다. 기본(빈) 옵션 그룹을 지정하거나 다른 사용자 지정 옵션 그룹을 지정할 수 있습니다. 자세한 내용은 Amazon RDS DB 인스턴스 수정 섹션을 참조하세요.