Oracle용 RDS에서 Oracle Repository Creation Utility 사용 - Amazon Relational Database Service

Oracle용 RDS에서 Oracle Repository Creation Utility 사용

Amazon RDS를 사용하여 Oracle Fusion Middleware 구성 요소를 지원하는 스키마를 보관하는 Oracle DB 인스턴스용 RDS를 호스팅할 수 있습니다. Oracle Fusion Middleware 구성 요소를 사용하려면 데이터베이스에 이 구성 요소의 스키마를 생성하고 채웁니다. 스키마는 Oracle Repository Creation Utility(RCU)를 사용하여 만들고 채웁니다.

RCU에 대해 지원되는 버전 및 라이선스 옵션

Amazon RDS는 Oracle Repository Creation Utility(RCU) 버전 12c만 지원합니다. 다음 구성에서 RCU를 사용할 수 있습니다.

  • RCU 12c, Oracle Database 21c

  • RCU 12c, Oracle Database 19c

  • RCU 12c, Oracle Database 12c 릴리스 2(12.2)

  • RCU 12c, 12.1.0.2.v4 이상을 사용하는 Oracle Database 12c 릴리스 1(12.1)

RCU를 사용하려면 다음을 수행해야 합니다.

Fusion MiddleWare는 Oracle Database Enterprise Edition 및 Standard Edition 2의 리포지토리를 지원합니다. Oracle은 분할이 필요한 프로덕션 설치 및 온라인 인덱스 재구축이 필요한 설치에 Enterprise Edition을 권장합니다.

RDS for Oracle 인스턴스를 생성하기 전에 배포할 구성 요소를 지원해야 하는 Oracle Database 버전을 확인하세요. 인증표에서 배포할 Fusion Middleware 구성 요소 및 버전에 대한 요구 사항을 확인하십시오. 자세한 내용은 Oracle 설명서에서 Oracle Fusion Middleware 지원 시스템 구성을 참조하십시오.

Amazon RDS는 필요한 경우 Oracle Database 버전 업그레이드를 지원합니다. 자세한 정보는 DB 인스턴스 엔진 버전 업그레이드의 내용을 참조하세요.

RCU에 대한 요구 사항 및 제한 사항

RCU를 사용하려면 Amazon VPC가 필요합니다. Amazon RDS DB 인스턴스는 Fusion Middleware 구성 요소에서만 사용할 수 있고, 퍼블릭 인터넷에서는 사용할 수 없습니다. 따라서 보안 강화를 위해 프라이빗 서브넷에서 Amazon RDS DB 인스턴스를 호스팅합니다. RDS for Oracle 인스턴스와 함께 사용할 Amazon VPC를 만드는 방법에 대한 자세한 내용은 Oracle Database에서 사용할 VPC 생성의 내용을 참조하세요.

RDS for Oracle DB 인스턴스도 필요합니다. Fusion Middleware 메타데이터와 함께 사용하도록 RDS for Oracle DB 인스턴스를 만드는 방법에 대한 자세한 내용은 Oracle DB 인스턴스 생성의 내용을 참조하세요.

Fusion Middleware 구성 요소에 대한 스키마를 Amazon RDS DB 인스턴스에 저장할 수 있습니다. 다음 스키마는 제대로 설치되는 것으로 확인되었습니다.

  • 분석(ACTIVITIES)

  • Audit Services(IAU)

  • Audit Services Append(IAU_APPEND)

  • Audit Services Viewer(IAU_VIEWER)

  • Discussions(DISCUSSIONS)

  • Metadata Services(MDS)

  • Oracle Business Intelligence(BIPLATFORM)

  • Oracle Platform Security Services(OPSS)

  • 포털 및 서비스(WEBCENTER)

  • 포틀릿 생산자(PORTLET)

  • 서비스 테이블(STB)

  • SOA 인프라(SOAINFRA)

  • User Messaging Service(UCSUMS)

  • WebLogic Services(WLS)

RCU 사용 지침

다음은 이 시나리오에서 DB 인스턴스를 작업하는 경우 알아 두어야 할 권장 사항입니다.

  • 프로덕션 워크로드에는 다중 다중 AZ를 사용하는 것이 좋습니다. 다중 가용 영역 작업에 대한 자세한 내용은 리전, 가용 영역 및 로컬 영역 단원을 참조하세요.

  • 보안을 추가하려면 유휴 데이터를 암호화할 수 있는 TDE(Transparent Data Encryption)를 사용하는 것이 좋습니다. 고급 보안 옵션이 제공되는 Enterprise Edition 라이선스를 보유하고 있는 경우 TDE 옵션을 사용하여 유휴 시 암호화를 활성화할 수 있습니다. 자세한 내용은 Oracle Transparent Data Encryption 섹션을 참조하세요.

    Amazon RDS는 모든 데이터베이스 버전에 유휴 시 암호화 옵션도 제공합니다. 자세한 내용은 Amazon RDS 리소스 암호화 섹션을 참조하세요.

  • 애플리케이션 서버와 Amazon RDS DB 인스턴스 간에 통신할 수 있도록 VPC 보안 그룹을 구성합니다. Fusion Middleware 구성 요소를 호스트하는 애플리케이션 서버는 Amazon EC2 또는 온프레미스에 있을 수 있습니다.

RCU 실행

Fusion Middleware 구성 요소를 지원하기 위해 스키마를 생성하고 채우려면 Oracle Repository Creation Utility(RCU)를 사용합니다. 다양한 방법으로 RCU를 실행할 수 있습니다.

한 단계로 명령줄을 사용하여 RCU 실행

스키마를 채우기 전에 편집할 필요가 없는 경우 RCU를 한 단계로 실행할 수 있습니다. 편집이 필요한 경우 다음 단원에서 여러 단계에 걸쳐 RCU 실행에 대한 내용을 참조하세요.

명령줄 파라미터 -silent를 사용하면 자동 모드에서 RCU를 실행할 수 있습니다. 자동 모드로 RCU를 실행하는 경우 암호가 들어 있는 텍스트 파일을 만들면 명령줄에 암호를 입력하지 않아도 됩니다. 첫 행에 dbUser의 암호가 있고 다음 행에 각 구성 요소에 대한 암호가 나오는 텍스트 파일을 만듭니다. RCU 명령의 마지막 파라미터로 암호 파일의 이름을 지정합니다.

다음은 한 단계로 SOA 인프라 구성 요소(및 종속 항목)의 스키마를 만들어 채우는 예제입니다.

Linux, macOS 또는 Unix 대상:

export ORACLE_HOME=/u01/app/oracle/product/12.2.1.0/fmw export JAVA_HOME=/usr/java/jdk1.8.0_65 ${ORACLE_HOME}/oracle_common/bin/rcu \ -silent \ -createRepository \ -connectString ${dbhost}:${dbport}:${dbname} \ -dbUser ${dbuser} \ -dbRole Normal \ -honorOMF \ -schemaPrefix ${SCHEMA_PREFIX} \ -component MDS \ -component STB \ -component OPSS \ -component IAU \ -component IAU_APPEND \ -component IAU_VIEWER \ -component UCSUMS \ -component WLS \ -component SOAINFRA \ -f < /tmp/passwordfile.txt

자세한 내용은 Oracle 설명서에서 명령줄에서 Repository Creation Utility 실행을 참조하세요.

여러 단계에 걸쳐 명령줄을 사용하여 RCU 실행

스키마 스크립트를 수동으로 편집하려면 여러 단계에 걸쳐 RCU를 실행합니다.

  1. 스키마에 대한 스크립트를 생성하려면 -generateScript 명령줄 파라미터를 사용하여 Prepare Scripts for System Load 모드에서 RCU를 실행합니다.

  2. 생성된 스크립트 script_systemLoad.sql을 수동으로 편집하고 실행합니다.

  3. 스키마를 채우려면 -dataLoad 명령줄 파라미터를 사용하여 Perform Product Load 모드에서 RCU를 다시 실행합니다.

  4. 생성된 정리 스크립트 script_postDataLoad.sql을 실행합니다.

자동 모드에서 RCU를 실행하려면 명령줄 파라미터 -silent를 지정합니다. 자동 모드로 RCU를 실행하는 경우 암호가 들어 있는 텍스트 파일을 만들면 명령줄에 암호를 입력하지 않아도 됩니다. 첫 행에 dbUser의 암호가 있고 다음 행에 각 구성 요소에 대한 암호가 나오는 텍스트 파일을 만듭니다. RCU 명령의 마지막 파라미터로 암호 파일의 이름을 지정합니다.

다음은 SOA 인프라 구성 요소 및 종속 항목의 스키마 스크립트를 만드는 예제입니다.

Linux, macOS 또는 Unix 대상:

export ORACLE_HOME=/u01/app/oracle/product/12.2.1.0/fmw export JAVA_HOME=/usr/java/jdk1.8.0_65 ${ORACLE_HOME}/oracle_common/bin/rcu \ -silent \ -generateScript \ -connectString ${dbhost}:${dbport}:${dbname} \ -dbUser ${dbuser} \ -dbRole Normal \ -honorOMF \ [-encryptTablespace true] \ -schemaPrefix ${SCHEMA_PREFIX} \ -component MDS \ -component STB \ -component OPSS \ -component IAU \ -component IAU_APPEND \ -component IAU_VIEWER \ -component UCSUMS \ -component WLS \ -component SOAINFRA \ -scriptLocation /tmp/rcuscripts \ -f < /tmp/passwordfile.txt

이제 생성된 스크립트를 편집하고, Oracle DB 인스턴스에 연결하고, 스크립트를 실행할 수 있습니다. 생성된 스크립트의 이름은 script_systemLoad.sql입니다. Oracle DB 인스턴스 연결에 대한 자세한 내용은 3단계: SQL 클라이언트를 Oracle DB 인스턴스에 연결 단원을 참조하세요.

다음은 SOA 인프라 구성 요소(및 종속 항목)의 스키마를 채우는 예제입니다.

Linux, macOS 또는 Unix 대상:

export JAVA_HOME=/usr/java/jdk1.8.0_65 ${ORACLE_HOME}/oracle_common/bin/rcu \ -silent \ -dataLoad \ -connectString ${dbhost}:${dbport}:${dbname} \ -dbUser ${dbuser} \ -dbRole Normal \ -honorOMF \ -schemaPrefix ${SCHEMA_PREFIX} \ -component MDS \ -component STB \ -component OPSS \ -component IAU \ -component IAU_APPEND \ -component IAU_VIEWER \ -component UCSUMS \ -component WLS \ -component SOAINFRA \ -f < /tmp/passwordfile.txt

완료하려면 Oracle DB 인스턴스에 연결하고 정리 스크립트를 실행합니다. 생성된 스크립트의 이름은 script_postDataLoad.sql입니다.

자세한 내용은 Oracle 설명서에서 명령줄에서 Repository Creation Utility 실행을 참조하세요.

대화형 모드에서 RCU 실행

RCU 그래픽 사용자 인터페이스를 사용하려면 대화형 모드로 RCU를 실행합니다. -interactive 파라미터를 포함하고 -silent 파라미터를 생략합니다. 자세한 내용은 Oracle 설명서에서 Repository Creation Utility 화면 이해를 참조하세요.

다음은 대화형 모드에서 RCU를 시작하고 연결 정보를 미리 채우는 예제입니다.

Linux, macOS 또는 Unix 대상:

export ORACLE_HOME=/u01/app/oracle/product/12.2.1.0/fmw export JAVA_HOME=/usr/java/jdk1.8.0_65 ${ORACLE_HOME}/oracle_common/bin/rcu \ -interactive \ -createRepository \ -connectString ${dbhost}:${dbport}:${dbname} \ -dbUser ${dbuser} \ -dbRole Normal

RCU 문제 해결

다음 문제에 주의하십시오.

Oracle Managed Files(OMF)

Amazon RDS는 OMF 데이터 파일을 사용하여 스토리지 관리를 간소화합니다. 크기 및 익스텐트 관리와 같은 테이블스페이스 속성을 사용자 지정할 수 있습니다. 하지만 RCU를 실행할 때 데이터 파일 이름을 지정하면 테이블스페이스 코드에 ORA-20900 오류가 발생합니다. 다음과 같은 방법으로 OMF와 함께 RCU를 사용할 수 있습니다.

객체 권한

Amazon RDS는 관리형 서비스이므로 RDS for Oracle 인스턴스에 대한 전체 SYSDBA 액세스 권한이 없습니다. 하지만 RCU 12c는 낮은 권한을 가진 사용자를 지원합니다. 대부분의 경우 마스터 사용자 권한으로 리포지토리를 생성할 수 있습니다.

마스터 계정은 WITH GRANT OPTION으로 이미 부여된 권한을 직접 부여할 수 있습니다. 경우에 따라 SYS 객체 권한을 부여하려고 할 때 RCU에 ORA-01031 오류가 발생할 수 있습니다. 다음 예와 같이 rdsadmin_util.grant_sys_object 저장 프로시저를 다시 시도하고 실행할 수 있습니다.

BEGIN rdsadmin.rdsadmin_util.grant_sys_object('GV_$SESSION','MY_DBA','SELECT'); END; /

객체 SCHEMA_VERSION_REGISTRY에 대한 SYS 권한을 부여하려고 할 때, 작업에ORA-20199: Error in rdsadmin_util.grant_sys_object 오류가 발생할 수도 있습니다. SCHEMA_VERSION_REGISTRY$ 테이블과 SCHEMA_VERSION_REGISTRY 보기를 스키마 소유자 이름인 SYSTEM으로 정규화하고 작업을 재시도할 수 있습니다. 또는 동의어를 생성할 수 있습니다 마스터 사용자로 로그인하고 다음 명령문을 사용하십시오.

CREATE OR REPLACE VIEW SYSTEM.SCHEMA_VERSION_REGISTRY AS SELECT * FROM SYSTEM.SCHEMA_VERSION_REGISTRY$; CREATE OR REPLACE PUBLIC SYNONYM SCHEMA_VERSION_REGISTRY FOR SYSTEM.SCHEMA_VERSION_REGISTRY; CREATE OR REPLACE PUBLIC SYNONYM SCHEMA_VERSION_REGISTRY$ FOR SCHEMA_VERSION_REGISTRY;

Enterprise Scheduler Service

RCU를 사용하여 Enterprise Scheduler Service 리포지토리를 삭제하는 경우 RCU에 Error: Component drop check failed 오류가 발생할 수 있습니다.