

# RDS for Oracle DB 인스턴스에 서드 파티 소프트웨어 사용
<a name="Oracle.Resources"></a>

도구 및 서드 파티 소프트웨어를 지원하는 RDS for Oracle DB 인스턴스를 호스팅할 수 있습니다.

**Topics**
+ [Amazon RDS for Oracle과 함께 Oracle GoldenGate 사용](Appendix.OracleGoldenGate.md)
+ [Oracle용 RDS에서 Oracle Repository Creation Utility 사용](Oracle.Resources.RCU.md)
+ [Amazon EC2 인스턴스에서 Oracle Connection Manager 구성](oracle-cman.md)
+ [Amazon RDS에서 Oracle에 Siebel Database 설치](Oracle.Resources.Siebel.md)

# Amazon RDS for Oracle과 함께 Oracle GoldenGate 사용
<a name="Appendix.OracleGoldenGate"></a>

Oracle GoldenGate는 데이터베이스 간 트랜잭션 데이터를 수집, 복제 및 관리합니다. 온라인 트랜잭션 처리(OLTP) 시스템에서 데이터베이스와 함께 사용하는 로그 기반 변경 데이터 캡처(CDC) 및 복제 소프트웨어 패키지입니다. Oracle GoldenGate는 원본 데이터베이스에서 가장 최근에 변경된 데이터를 포함하는 추적 파일을 생성합니다. 그런 다음 이러한 파일을 서버로 푸시하고, 서버에서는 트레일 파일을 표준 SQL로 변환하여 대상 데이터베이스에 적용하는 프로세스가 진행됩니다.

RDS for Oracle을 사용하는 Oracle GoldenGate는 다음 기능을 지원합니다.
+ 활성/활성 데이터베이스 복제
+ 재해 복구
+ 데이터 보호
+ 리전 내 및 리전 간 복제
+ 제로 가동 중지 마이그레이션 및 업그레이드
+ RDS for Oracle DB 인스턴스와 비 Oracle 데이터베이스 간 데이터 복제
**참고**  
지원되는 데이터베이스 목록은 Oracle 설명서에서 [Oracle Fusion Middleware 지원 시스템 구성](https://www.oracle.com/middleware/technologies/fusion-certification.html)을 참조하십시오.

RDS for Oracle이 포함된 Oracle GoldenGate를 사용하여 Oracle Database의 메이저 버전으로 업그레이드할 수 있습니다. 예를 들어 Oracle GoldenGate를 사용하여 Oracle Database 11g 온프레미스 데이터베이스를 Amazon RDS DB 인스턴스의 Oracle Database 19c로 업그레이드할 수 있습니다.

**Topics**
+ [Oracle GoldenGate에 대해 지원되는 버전 및 라이선스 옵션](#Appendix.OracleGoldenGate.licensing)
+ [Oracle GoldenGate의 요구 사항 및 제한 사항](#Appendix.OracleGoldenGate.requirements)
+ [Oracle GoldenGate 아키텍처](Appendix.OracleGoldenGate.Overview.md)
+ [Oracle GoldenGate 설정](Appendix.OracleGoldenGate.setting-up.md)
+ [Oracle GoldenGate의 EXTRACT 및 REPLICAT 유틸리티 작업](Appendix.OracleGoldenGate.ExtractReplicat.md)
+ [Oracle GoldenGate 모니터링](Appendix.OracleGoldenGate.Monitoring.md)
+ [Oracle GoldenGate 문제 해결](Appendix.OracleGoldenGate.Troubleshooting.md)

## Oracle GoldenGate에 대해 지원되는 버전 및 라이선스 옵션
<a name="Appendix.OracleGoldenGate.licensing"></a>

Oracle GoldenGate 포함 RDS for Oracle 버전 12c 이상의 Standard Edition 2(SE2) 또는 Enterprise Edition(EE)을 사용할 수 있습니다. 다음 Oracle GoldenGate 기능을 사용할 수 있습니다.
+ Oracle GoldenGate Remote Capture(추출)가 지원됩니다.
+ Capture(추출)는 기존 비 CDB 데이터베이스 아키텍처를 사용하는 RDS for Oracle DB 인스턴스에서 지원됩니다. Oracle GoldenGate 원격 PDB 캡처는 Oracle Database 21c 또는 Oracle Database 19c 버전 19.0.0.0.ru-2024-04.rur-2024-04.r1 이상을 실행하는 CDB에서 지원됩니다.
+ Oracle GoldenGate Remote Delivery(복제)는 CDB가 아닌 아키텍처나 CDB 아키텍처를 사용하는 RDS for Oracle DB 인스턴스에서 지원됩니다. Remote Delivery는 Integrated Replicat(통합 복제), Parallel Replicat(병렬 복제), Coordinated Replicat(조정 복제) 및 클래식 Replicat(복제)를 지원합니다.
+ RDS for Oracle은 Oracle GoldenGate의 Classic(클래식) 및 Microservices(마이크로서비스) 아키텍처를 지원합니다.
+ Oracle GoldenGate DDL과 Sequence(시퀀스) 값 복제는 Integrated(통합) 캡처 모드를 사용할 때 지원됩니다.

사용자는 모든 AWS 리전에서 Amazon RDS와 함께 사용하는 데 필요한 Oracle GoldenGate 라이선싱(BYOL)을 관리해야 합니다. 자세한 내용은 [RDS for Oracle 라이선스 옵션](Oracle.Concepts.Licensing.md) 섹션을 참조하세요.

## Oracle GoldenGate의 요구 사항 및 제한 사항
<a name="Appendix.OracleGoldenGate.requirements"></a>

Oracle GoldenGate 및 RDS for Oracle을 작업할 때는 다음 요구 사항과 제한 사항을 고려해야 합니다.
+ 사용자는 RDS for Oracle과 함께 사용할 수 있도록 Oracle GoldenGate를 설정하고 관리해야 합니다.
+ 소스 및 대상 데이터베이스를 이용해 인증한 Oracle GoldenGate 버전을 설정하는 것은 사용자의 책임입니다. 자세한 내용은 Oracle 설명서에서 [Oracle Fusion Middleware 지원 시스템 구성](https://www.oracle.com/middleware/technologies/fusion-certification.html)을 참조하십시오.
+ Oracle GoldenGate는 다양한 AWS 환경에서 다양한 사용 사례에 사용할 수 있습니다. Oracle GoldenGate와 관련된 지원 관련 문제가 있다면 Oracle Support Services에 문의하십시오.
+ Oracle Transparent Data Encryption(TDE)을 사용하는 RDS for Oracle DB 인스턴스에서 Oracle GoldenGate를 사용할 수 있습니다. 복제된 데이터의 무결성을 유지 관리하려면 Amazon EBS 암호화된 볼륨 또는 추적 파일 암호화를 사용하여 Oracle GoldenGate 허브에서 암호화를 구성합니다. 또한 Oracle GoldenGate 허브와 원본 및 대상 데이터베이스 인스턴스 간에 전송되는 데이터에 대한 암호화를 구성합니다. RDS for Oracle DB 인스턴스는 [Oracle 보안 소켓 Layer](Appendix.Oracle.Options.SSL.md) 또는 [Oracle 기본 네트워크 암호화](Appendix.Oracle.Options.NetworkEncryption.md)을 사용하여 암호화를 지원합니다.

# Oracle GoldenGate 아키텍처
<a name="Appendix.OracleGoldenGate.Overview"></a>

Amazon RDS용 OracleGoldenGate 아키텍처는 다음과 같은 분리된 모듈로 구성됩니다.

원본 데이터베이스  
원본 데이터베이스는 온프레미스 Oracle 데이터베이스, Amazon EC2 인스턴스의 Oracle 데이터베이스 또는 Amazon RDS DB 인스턴스의 Oracle 데이터베이스입니다.

Oracle GoldenGate 허브  
Oracle GoldenGate 허브는 트랜잭션 정보를 원본 데이터베이스에서 대상 데이터베이스로 이동합니다. 허브는 다음 중 하나일 수 있습니다.  
+ Oracle 데이터베이스 및 Oracle GoldenGate가 설치된 Amazon EC2 인스턴스
+ 온프레미스 Oracle 설치
2개 이상의 Amazon EC2 허브가 있을 수 있습니다. 리전 간 복제에 Oracle GoldenGate를 사용하는 경우 허브를 2개 사용하는 것이 좋습니다.

대상 데이터베이스:  
대상 데이터베이스는 Amazon RDS DB 인스턴스, Amazon EC2 인스턴스 또는 온프레미스 위치에 있을 수 있습니다.

다음 섹션에서는 Amazon RDS의 Oracle GoldenGate에 대한 일반적인 시나리오를 설명합니다.

**Topics**
+ [온프레미스 원본 데이터베이스 및 Oracle GoldenGate 허브](#Appendix.OracleGoldenGate.on-prem-source-gg-hub)
+ [온프레미스 원본 데이터베이스 및 Amazon EC2 허브](#Appendix.OracleGoldenGate.on-prem-source-ec2-hub)
+ [Amazon RDS 원본 데이터베이스 및 Amazon EC2 허브](#Appendix.OracleGoldenGate.rds-source-ec2-hub)
+ [Amazon EC2 원본 데이터베이스 및 Amazon EC2 허브](#Appendix.OracleGoldenGate.ec2-source-ec2-hub)
+ [서로 다른 여러 AWS 리전의 Amazon EC2 허브](#Appendix.OracleGoldenGate.cross-region-hubs)

## 온프레미스 원본 데이터베이스 및 Oracle GoldenGate 허브
<a name="Appendix.OracleGoldenGate.on-prem-source-gg-hub"></a>

이 시나리오에서는 온프레미스 Oracle 원본 데이터베이스와 온프레미스 Oracle GoldenGate 허브가 대상 Amazon RDS DB 인스턴스에 데이터를 제공합니다.

![\[Amazon RDS를 사용하는 Oracle GoldenGate 구성 0\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/oracle-gg0.png)


## 온프레미스 원본 데이터베이스 및 Amazon EC2 허브
<a name="Appendix.OracleGoldenGate.on-prem-source-ec2-hub"></a>

이 시나리오에서는 온프레미스 Oracle 데이터베이스가 원본 데이터베이스 역할을 합니다. 이 데이터베이스가 Amazon EC2 인스턴스 허브에 연결됩니다. 이 허브는 대상 RDS for Oracle DB 인스턴스에 데이터를 제공합니다.

![\[Amazon RDS를 사용하는 Oracle GoldenGate 구성 1\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/oracle-gg1.png)


## Amazon RDS 원본 데이터베이스 및 Amazon EC2 허브
<a name="Appendix.OracleGoldenGate.rds-source-ec2-hub"></a>

이 시나리오에서는 RDS for Oracle DB 인스턴스가 원본 데이터베이스 역할을 합니다. 이 데이터베이스가 Amazon EC2 인스턴스 허브에 연결됩니다. 이 허브는 대상 RDS for Oracle DB 인스턴스에 데이터를 제공합니다.

![\[Amazon RDS를 사용하는 Oracle GoldenGate 구성 2\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/oracle-gg2.png)


## Amazon EC2 원본 데이터베이스 및 Amazon EC2 허브
<a name="Appendix.OracleGoldenGate.ec2-source-ec2-hub"></a>

이 시나리오에서는 Amazon EC2 인스턴스의 Oracle 데이터베이스가 소스 데이터베이스 역할을 합니다. 이 데이터베이스가 Amazon EC2 인스턴스 허브에 연결됩니다. 이 허브는 대상 RDS for Oracle DB 인스턴스에 데이터를 제공합니다.

![\[Amazon RDS를 사용하는 Oracle GoldenGate 구성 3\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/oracle-gg3.png)


## 서로 다른 여러 AWS 리전의 Amazon EC2 허브
<a name="Appendix.OracleGoldenGate.cross-region-hubs"></a>

이 시나리오에서는 Amazon RDS DB 인스턴스의 Oracle 데이터베이스가 동일한 AWS 리전의 Amazon EC2 인스턴스 허브에 연결되어 있습니다. 허브는 다른 AWS 리전의 Amazon EC2 인스턴스 허브에 연결되어 있습니다. 이 두 번째 허브는 두 번째 Amazon EC2 인스턴스 허브와 동일한 AWS 리전의 대상 RDS for Oracle DB 인스턴스에 데이터를 제공합니다.

![\[Amazon RDS를 사용하는 Oracle GoldenGate 구성 4\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/oracle-gg4.png)


**참고**  
온프레미스 환경에서 Oracle GoldenGate를 실행하는 데 영향을 미치는 문제는 AWS에서 Oracle GoldenGate를 실행하는 데도 영향을 미칩니다. Oracle GoldenGate 허브를 모니터링하여 장애 조치가 발생하는 경우 `EXTRACT`와 `REPLICAT`가 재개되는지 확인하는 것이 좋습니다. Oracle GoldenGate 허브가 Amazon EC2 인스턴스에서 실행되어 Amazon RDS에서 Oracle GoldenGate 허브를 관리하지 않으므로 이 허브가 실행 중인지 확인할 수 없습니다.

# Oracle GoldenGate 설정
<a name="Appendix.OracleGoldenGate.setting-up"></a>

Amazon RDS를 사용하는 Oracle GoldenGate를 설정하려면 Amazon EC2 인스턴스에서 허브를 구성한 후 소스 및 대상 데이터베이스를 구성해야 합니다. 다음 섹션에서는 Amazon RDS for Oracle과 함께 사용하도록 Oracle GoldenGate를 설치하는 방법을 보여줍니다.

**Topics**
+ [Amazon EC2에 Oracle GoldenGate 허브 설정](#Appendix.OracleGoldenGate.Hub)
+ [Amazon RDS에서 Oracle GoldenGate와 함께 사용할 소스 데이터베이스 설정](#Appendix.OracleGoldenGate.Source)
+ [Amazon RDS에서 Oracle GoldenGate와 함께 사용할 대상 데이터베이스 설정](#Appendix.OracleGoldenGate.Target)

## Amazon EC2에 Oracle GoldenGate 허브 설정
<a name="Appendix.OracleGoldenGate.Hub"></a>

Amazon EC2 인스턴스에서 Oracle GoldenGate 허브를 생성하려면 먼저 Oracle DBMS의 전체 클라이언트 설치가 완료된 Amazon EC2 인스턴스를 생성해야 합니다. Amazon EC2 인스턴스에는 Oracle GoldenGate 소프트웨어도 설치되어 있어야 합니다. Oracle GoldenGate 소프트웨어 버전은 소스 및 대상 데이터베이스 버전에 따라 달라집니다. Oracle GoldenGate 설치에 대한 자세한 내용은 [Oracle GoldenGate 설명서](https://docs.oracle.com/en/middleware/goldengate/core/index.html)를 참조하십시오.

Oracle GoldenGate 허브 역할을 하는 Amazon EC2 인스턴스는 원본 데이터베이스의 트랜잭션 정보를 추적 파일로 저장 및 처리합니다. 이 프로세스를 지원하려면 다음 요구 사항을 충족해야 합니다.
+ 트레일 파일을 위한 충분한 저장 공간을 할당한 상태여야 합니다.
+ Amazon EC2 인스턴스에 해당 데이터 용량을 관리할 수 있는 충분한 처리 능력이 있어야 합니다.
+ 트랜잭션 정보를 추적 파일에 기록하기 전에 해당 정보를 저장할 충분한 메모리가 EC2 인스턴스에 있어야 합니다.

**Amazon EC2 인스턴스에서 Oracle GoldenGate 클래식 아키텍처 허브를 설정하려면**

1. Oracle GoldenGate 디렉터리에서 하위 디렉터리를 만듭니다.

   Amazon EC2 명령줄 쉘에서 Oracle GoldenGate 명령 인터프리터인 `ggsci`를 시작합니다. `CREATE SUBDIRS` 명령은 `/gg` 디렉터리에 파라미터, 보고서 및 체크포인트 파일용 하위 디렉터리를 만듭니다.

   ```
   prompt$ cd /gg
   prompt$ ./ggsci
   
   GGSCI> CREATE SUBDIRS
   ```

1. `mgr.prm` 파일을 구성합니다.

   다음 예에서는 `$GGHOME/dirprm/mgr.prm` 파일에 라인을 추가합니다.

   ```
   PORT 8199
   PurgeOldExtracts ./dirdat/*, UseCheckpoints, MINKEEPDAYS 5
   ```

1. 관리자를 시작합니다.

   다음 예제에서는 `ggsci`를 시작하고 `start mgr` 명령을 실행합니다.

   ```
   GGSCI> start mgr
   ```

이제 Oracle GoldenGate 허브를 사용할 수 있습니다.

## Amazon RDS에서 Oracle GoldenGate와 함께 사용할 소스 데이터베이스 설정
<a name="Appendix.OracleGoldenGate.Source"></a>

다음 작업을 완료하여 Oracle GoldenGate에서 사용할 소스 데이터베이스를 설정합니다.

**Topics**
+ [1단계: 소스 데이터베이스에서 보충 로깅 켜기](#Appendix.OracleGoldenGate.Source.Logging)
+ [2단계: ENABLE\$1GOLDENGATE\$1REPLICATION 초기화 파라미터를 true로 설정](#Appendix.OracleGoldenGate.Source.enable-gg-rep)
+ [3단계: 소스 데이터베이스에서 로그 보존 기간 설정](#Appendix.OracleGoldenGate.Source.Retention)
+ [4단계: 소스 데이터베이스에서 Oracle GoldenGate 사용자 계정을 생성합니다.](#Appendix.OracleGoldenGate.Source.Account)
+ [5단계: 소스 데이터베이스에 사용자 계정 권한 부여](#Appendix.OracleGoldenGate.Source.Privileges)
+ [6단계: 소스 데이터베이스의 TNS 별칭 추가](#Appendix.OracleGoldenGate.Source.TNS)

### 1단계: 소스 데이터베이스에서 보충 로깅 켜기
<a name="Appendix.OracleGoldenGate.Source.Logging"></a>

최소 데이터베이스 수준 보충 로깅을 설정하려면 다음 PL/SQL 프로시저를 실행합니다.

```
EXEC rdsadmin.rdsadmin_util.alter_supplemental_logging(p_action => 'ADD')
```

### 2단계: ENABLE\$1GOLDENGATE\$1REPLICATION 초기화 파라미터를 true로 설정
<a name="Appendix.OracleGoldenGate.Source.enable-gg-rep"></a>

`ENABLE_GOLDENGATE_REPLICATION` 초기화 파라미터를 `true`로 설정하면 데이터베이스 서비스가 논리적 복제를 지원할 수 있습니다. 소스 데이터베이스가 Amazon RDS DB 인스턴스에 있는 경우 파라미터 그룹을 DB 인스턴스에 할당하고 `ENABLE_GOLDENGATE_REPLICATION` 초기화 파라미터를 `true`로 설정해야 합니다. `ENABLE_GOLDENGATE_REPLICATION` 초기화 파라미터에 대한 자세한 내용은 [Oracle 데이터베이스 설명서](https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/ENABLE_GOLDENGATE_REPLICATION.html)를 참조하세요.

### 3단계: 소스 데이터베이스에서 로그 보존 기간 설정
<a name="Appendix.OracleGoldenGate.Source.Retention"></a>

보관된 다시 실행 로그를 유지하도록 원본 데이터베이스를 구성했는지 확인합니다. 다음 지침을 참고하세요.
+ 로그 보존 기간을 시간 단위로 지정합니다. 최소값은 1시간입니다.
+ 소스 DB 인스턴스의 잠재적 가동 중지 시간, 잠재적 통신 시간, 소스 인스턴스의 네트워킹 문제가 발생할 잠재적 기간보다 긴 기간을 설정합니다. 이러한 기간을 통해 Oracle GoldenGate는 필요에 따라 원본 인스턴스에서 로그를 복구할 수 있습니다.
+ 인스턴스에 파일을 저장할 스토리지가 충분한지 확인합니다.

예를 들어 보관된 다시 실행 로그의 보존 기간을 24시간으로 설정합니다.

```
EXEC rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',24)
```

로그 보존을 활성화하지 않거나 보존 값이 너무 작으면 다음과 비슷한 오류 메시지가 표시됩니다.

```
2022-03-06 06:17:27  ERROR   OGG-00446  error 2 (No such file or directory) 
opening redo log /rdsdbdata/db/GGTEST3_A/onlinelog/o1_mf_2_9k4bp1n6_.log for sequence 1306 
Not able to establish initial position for begin time 2022-03-06 06:16:55.
```

DB 인스턴스는 보관된 다시 실행 로그를 보관하니, 파일을 저장할 공간이 충분한지 확인해야 합니다. 지난 *num\$1hours*시간 동안 사용한 공간의 양을 확인하려면 다음 쿼리를 사용하여 *num\$1hours*를 시간 숫자로 바꿔야 합니다.

```
SELECT SUM(BLOCKS * BLOCK_SIZE) BYTES FROM V$ARCHIVED_LOG 
   WHERE NEXT_TIME>=SYSDATE-num_hours/24 AND DEST_ID=1;
```

### 4단계: 소스 데이터베이스에서 Oracle GoldenGate 사용자 계정을 생성합니다.
<a name="Appendix.OracleGoldenGate.Source.Account"></a>

Oracle GoldenGate는 데이터베이스 사용자로 실행되며 소스 데이터베이스에 대한 다시 실행 및 저장된 다시 실행 로그에 액세스할 수 있는 적절한 데이터베이스 권한이 필요합니다. 이러한 권한을 제공하려면 소스 데이터베이스에서 사용자 계정을 생성해야 합니다. Oracle GoldenGate 사용자 계정 권한에 대한 자세한 내용은 [Oracle 설명서](https://docs.oracle.com/en/middleware/goldengate/core/19.1/oracle-db/establishing-oracle-goldengate-credentials.html#GUID-79122058-27B0-4FB6-B3DC-B7D1B67EB053)를 참조하세요.

다음 문은 `oggadm1`이라는 사용자 계정을 생성합니다.

```
CREATE TABLESPACE administrator;
CREATE USER oggadm1  IDENTIFIED BY "password"
   DEFAULT TABLESPACE ADMINISTRATOR TEMPORARY TABLESPACE TEMP;
ALTER USER oggadm1 QUOTA UNLIMITED ON administrator;
```

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

### 5단계: 소스 데이터베이스에 사용자 계정 권한 부여
<a name="Appendix.OracleGoldenGate.Source.Privileges"></a>

이 작업에서는 소스 데이터베이스에서 데이터베이스 사용자에게 필요한 계정 권한을 부여합니다.

**소스 데이터베이스에서 계정 권한을 부여하려면**

1. SQL 명령 `grant`와 `rdsadmin.rdsadmin_util` 프로시저 `grant_sys_object`를 사용하여 Oracle GoldenGate 사용자 계정에 필요한 권한을 부여합니다. 다음 문은 `oggadm1`이라는 사용자에게 권한을 부여합니다.

   ```
   GRANT CREATE SESSION, ALTER SESSION TO oggadm1;
   GRANT RESOURCE TO oggadm1;
   GRANT SELECT ANY DICTIONARY TO oggadm1;
   GRANT FLASHBACK ANY TABLE TO oggadm1;
   GRANT SELECT ANY TABLE TO oggadm1;
   GRANT SELECT_CATALOG_ROLE TO rds_master_user_name WITH ADMIN OPTION;
   EXEC rdsadmin.rdsadmin_util.grant_sys_object ('DBA_CLUSTERS', 'OGGADM1');
   GRANT EXECUTE ON DBMS_FLASHBACK TO oggadm1;
   GRANT SELECT ON SYS.V_$DATABASE TO oggadm1;
   GRANT ALTER ANY TABLE TO oggadm1;
   ```

1. Oracle GoldenGate 관리자가 되려면 사용자 계정에 필요한 권한을 부여합니다. 다음 PL/SQL 프로그램을 실행합니다.

   ```
   EXEC rdsadmin.rdsadmin_dbms_goldengate_auth.grant_admin_privilege (
       grantee                 => 'OGGADM1',
       privilege_type          => 'capture',
       grant_select_privileges => true, 
       do_grants               => TRUE);
   ```

   권한을 취소하려면 동일한 패키지의 `revoke_admin_privilege` 프로시저를 사용합니다.

### 6단계: 소스 데이터베이스의 TNS 별칭 추가
<a name="Appendix.OracleGoldenGate.Source.TNS"></a>

Oracle 홈의 `$ORACLE_HOME/network/admin/tnsnames.ora`에 다음 항목을 추가하여 `EXTRACT` 프로세스에서 사용할 수 있습니다. `tnsnames.ora` 파일에 대한 자세한 내용은 [Oracle 설명서](https://docs.oracle.com/en/database/oracle/oracle-database/19/netrf/local-naming-parameters-in-tns-ora-file.html#GUID-7F967CE5-5498-427C-9390-4A5C6767ADAA)를 참조하세요.

```
OGGSOURCE=
   (DESCRIPTION= 
        (ENABLE=BROKEN)
        (ADDRESS_LIST= 
            (ADDRESS=(PROTOCOL=TCP)(HOST=goldengate-source.abcdef12345.us-west-2.rds.amazonaws.com)(PORT=8200)))
        (CONNECT_DATA=(SERVICE_NAME=ORCL))
    )
```

## Amazon RDS에서 Oracle GoldenGate와 함께 사용할 대상 데이터베이스 설정
<a name="Appendix.OracleGoldenGate.Target"></a>

이 작업에서는 Oracle GoldenGate와 함께 사용할 대상 DB 인스턴스를 설정합니다.

**Topics**
+ [1단계: ENABLE\$1GOLDENGATE\$1REPLICATION 초기화 파라미터를 true로 설정](#Appendix.OracleGoldenGate.Target.enable-gg-rep)
+ [2단계: 대상 데이터베이스에서 Oracle GoldenGate 사용자 계정을 생성합니다.](#Appendix.OracleGoldenGate.Target.User)
+ [3단계: 대상 데이터베이스에서 계정 권한 부여](#Appendix.OracleGoldenGate.Target.Privileges)
+ [4단계: 대상 데이터베이스의 TNS 별칭 추가](#Appendix.OracleGoldenGate.Target.TNS)

### 1단계: ENABLE\$1GOLDENGATE\$1REPLICATION 초기화 파라미터를 true로 설정
<a name="Appendix.OracleGoldenGate.Target.enable-gg-rep"></a>

`ENABLE_GOLDENGATE_REPLICATION` 초기화 파라미터를 `true`로 설정하면 데이터베이스 서비스가 논리적 복제를 지원할 수 있습니다. 소스 데이터베이스가 Amazon RDS DB 인스턴스에 있는 경우 파라미터 그룹을 DB 인스턴스에 할당하고 `ENABLE_GOLDENGATE_REPLICATION` 초기화 파라미터를 `true`로 설정해야 합니다. `ENABLE_GOLDENGATE_REPLICATION` 초기화 파라미터에 대한 자세한 내용은 [Oracle 데이터베이스 설명서](https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/ENABLE_GOLDENGATE_REPLICATION.html)를 참조하세요.

### 2단계: 대상 데이터베이스에서 Oracle GoldenGate 사용자 계정을 생성합니다.
<a name="Appendix.OracleGoldenGate.Target.User"></a>

Oracle GoldenGate는 데이터베이스 사용자로 실행되며 적절한 데이터베이스 권한이 필요합니다. 이러한 권한을 부여하려면 대상 데이터베이스에서 사용자 계정을 생성해야 합니다.

다음 문은 `oggadm1`이라는 사용자를 생성합니다.

```
CREATE TABLESPSACE administrator;
CREATE USER oggadm1  IDENTIFIED BY "password" 
   DEFAULT TABLESPACE administrator 
   TEMPORARY TABLESPACE temp;
ALTER USER oggadm1 QUOTA UNLIMITED ON administrator;
```

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

### 3단계: 대상 데이터베이스에서 계정 권한 부여
<a name="Appendix.OracleGoldenGate.Target.Privileges"></a>

이 작업에서는 대상 데이터베이스에서 데이터베이스 사용자에게 필요한 계정 권한을 부여합니다.

**대상 데이터베이스에서 계정 권한 부여**

1. 대상 데이터베이스에서 Oracle GoldenGate 사용자 계정에 필요한 권한을 부여합니다. 다음 예제에서는 `oggadm1`에 권한을 부여합니다.

   ```
   GRANT CREATE SESSION        TO oggadm1;
   GRANT ALTER SESSION         TO oggadm1;
   GRANT CREATE CLUSTER        TO oggadm1;
   GRANT CREATE INDEXTYPE      TO oggadm1;
   GRANT CREATE OPERATOR       TO oggadm1;
   GRANT CREATE PROCEDURE      TO oggadm1;
   GRANT CREATE SEQUENCE       TO oggadm1;
   GRANT CREATE TABLE          TO oggadm1;
   GRANT CREATE TRIGGER        TO oggadm1;
   GRANT CREATE TYPE           TO oggadm1;
   GRANT SELECT ANY DICTIONARY TO oggadm1;
   GRANT CREATE ANY TABLE      TO oggadm1;
   GRANT ALTER ANY TABLE       TO oggadm1;
   GRANT LOCK ANY TABLE        TO oggadm1;
   GRANT SELECT ANY TABLE      TO oggadm1;
   GRANT INSERT ANY TABLE      TO oggadm1;
   GRANT UPDATE ANY TABLE      TO oggadm1;
   GRANT DELETE ANY TABLE      TO oggadm1;
   ```

1. Oracle GoldenGate 관리자가 되려면 사용자 계정에 필요한 권한을 부여합니다. 다음 PL/SQL 프로그램을 실행합니다.

   ```
   EXEC rdsadmin.rdsadmin_dbms_goldengate_auth.grant_admin_privilege (
       grantee                 => 'OGGADM1',
       privilege_type          => 'apply',
       grant_select_privileges => true, 
       do_grants               => TRUE);
   ```

   권한을 취소하려면 동일한 패키지의 `revoke_admin_privilege` 프로시저를 사용합니다.

### 4단계: 대상 데이터베이스의 TNS 별칭 추가
<a name="Appendix.OracleGoldenGate.Target.TNS"></a>

Oracle 홈의 `$ORACLE_HOME/network/admin/tnsnames.ora`에 다음 항목을 추가하여 `REPLICAT` 프로세스에서 사용할 수 있습니다. Oracle 멀티테넌트 데이터베이스의 경우 TNS 별칭이 PDB의 서비스 이름을 가리키는지 확인하세요. `tnsnames.ora` 파일에 대한 자세한 내용은 [Oracle 설명서](https://docs.oracle.com/en/database/oracle/oracle-database/19/netrf/local-naming-parameters-in-tns-ora-file.html#GUID-7F967CE5-5498-427C-9390-4A5C6767ADAA)를 참조하세요.

```
OGGTARGET=
    (DESCRIPTION= 
        (ENABLE=BROKEN)
        (ADDRESS_LIST= 
            (ADDRESS=(PROTOCOL=TCP)(HOST=goldengate-target.abcdef12345.us-west-2.rds.amazonaws.com)(PORT=8200)))
        (CONNECT_DATA=(SERVICE_NAME=ORCL))
    )
```

# Oracle GoldenGate의 EXTRACT 및 REPLICAT 유틸리티 작업
<a name="Appendix.OracleGoldenGate.ExtractReplicat"></a>

Oracle GoldenGate 유틸리티인 `EXTRACT`와 `REPLICAT`는 함께 작동하여 트레일 파일을 사용한 증분형 트랜잭션 복제를 통해 소스 및 대상 데이터베이스의 동기 상태를 유지합니다. 원본 데이터베이스에 대해 발생하는 모든 변경 내용은 `EXTRACT`에 의해 자동으로 감지되고 서식이 지정되어 Oracle GoldenGate 온프레미스 또는 Amazon EC2 인스턴스 허브의 트레일 파일로 전송됩니다. 초기 로드가 완료된 후에는 `REPLICAT` 유틸리티에서 이러한 파일의 데이터를 읽어 대상 데이터베이스로 복제합니다.

## Oracle GoldenGate EXTRACT 유틸리티 실행
<a name="Appendix.OracleGoldenGate.Extract"></a>

`EXTRACT` 유틸리티는 소스 데이터베이스에서 데이터를 검색 및 변환하고 트레일 파일로 출력합니다. 기본 프로세스는 다음과 같습니다.

1. `EXTRACT`가 트랜잭션 세부 정보를 메모리나 임시 디스크 스토리지의 대기열에 저장합니다.

1. 소스 데이터베이스가 트랜잭션을 커밋합니다.

1. `EXTRACT`가 트랜잭션 세부 정보를 트레일 파일에 기록합니다.

1. 추적 파일은 이러한 세부 정보를 Oracle GoldenGate 온프레미스 또는 Amazon EC2 인스턴스 허브로 라우팅한 다음 대상 데이터베이스로 라우팅합니다.

다음 단계는 `EXTRACT` 유틸리티를 시작하고, 소스 데이터베이스 `OGGSOURCE`의 `EXAMPLE.TABLE`에서 데이터를 캡처하고, 트레일 파일을 생성합니다.

**EXTRACT 유틸리티를 실행하려면**

1. Oracle GoldenGate 허브(온프레미스 또는 Amazon EC2 인스턴스)에서 `EXTRACT` 파라미터 파일을 구성합니다. 다음 목록은 `$GGHOME/dirprm/eabc.prm`이라는 예제 `EXTRACT` 파라미터 파일을 보여 줍니다.

   ```
   EXTRACT EABC
    
   USERID oggadm1@OGGSOURCE, PASSWORD "my-password"
   EXTTRAIL /path/to/goldengate/dirdat/ab 
    
   IGNOREREPLICATES
   GETAPPLOPS
   TRANLOGOPTIONS EXCLUDEUSER OGGADM1
   	 
   TABLE EXAMPLE.TABLE;
   ```

1. Oracle GoldenGate 허브에서 소스 데이터베이스에 로그인하고 Oracle GoldenGate 명령줄 인터페이스 `ggsci`를 시작합니다. 다음 예제에서는 로그인 형식을 보여 줍니다.

   ```
   dblogin oggadm1@OGGSOURCE
   ```

1. 데이터베이스 테이블에 대한 보충 로깅을 사용하기 위해 트랜잭션 데이터를 추가합니다.

   ```
   add trandata EXAMPLE.TABLE
   ```

1. `ggsci` 명령줄에서 다음 명령을 사용하여 `EXTRACT` 유틸리티를 활성화합니다.

   ```
   add extract EABC tranlog, INTEGRATED tranlog, begin now
   add exttrail /path/to/goldengate/dirdat/ab 
      extract EABC, 
      MEGABYTES 100
   ```

1. `EXTRACT` 유틸리티를 데이터베이스에 등록하여 보관 로그가 삭제되지 않도록 합니다. 이 작업을 사용하면 필요한 경우 이전의 커밋되지 않은 트랜잭션을 복구할 수 있습니다. `EXTRACT` 유틸리티를 데이터베이스에 등록하려면 다음 명령을 사용합니다.

   ```
   register EXTRACT EABC, DATABASE
   ```

1. 다음 명령을 이용해 `EXTRACT` 유틸리티를 시작합니다.

   ```
   start EABC
   ```

## Oracle GoldenGate REPLICAT 유틸리티 실행
<a name="Appendix.OracleGoldenGate.Replicat"></a>

`REPLICAT` 유틸리티는 트레일 파일의 트랜잭션 정보를 대상 데이터베이스로 "푸시"합니다.

다음 단계는 캡처된 데이터를 대상 데이터베이스 `OGGTARGET`의 `EXAMPLE.TABLE` 테이블에 복제할 수 있도록 `REPLICAT` 유틸리티를 활성화하고 시작합니다.

**REPLICATE 유틸리티를 실행하려면**

1. Oracle GoldenGate 허브(온프레미스 또는 EC2 인스턴스)에서 `REPLICAT` 파라미터 파일을 구성합니다. 다음 목록은 `$GGHOME/dirprm/rabc.prm`이라는 예제 `REPLICAT` 파라미터 파일을 보여 줍니다.

   ```
   REPLICAT RABC
    
   USERID oggadm1@OGGTARGET, password "my-password"
    
   ASSUMETARGETDEFS
   MAP EXAMPLE.TABLE, TARGET EXAMPLE.TABLE;
   ```
**참고**  
보안 모범 사례로 여기에 표시된 프롬프트 이외의 암호를 지정하는 것이 좋습니다.

1. 대상 데이터베이스에 로그인하고 Oracle GoldenGate 명령줄 인터페이스(`ggsci`)를 시작합니다. 다음 예제에서는 로그인 형식을 보여 줍니다.

   ```
   dblogin userid oggadm1@OGGTARGET
   ```

1. `ggsci` 명령줄을 사용하여 체크포인트 테이블을 추가합니다. 표시된 사용자는 대상 테이블 스키마 소유자가 아니라 Oracle GoldenGate 사용자 계정이어야 합니다. 다음 예제에서는 `gg_checkpoint`라는 체크포인트 테이블을 생성합니다.

   ```
   add checkpointtable oggadm1.oggchkpt
   ```

1. `REPLICAT` 유틸리티를 활성화하려면 다음 명령을 사용합니다.

   ```
   add replicat RABC EXTTRAIL /path/to/goldengate/dirdat/ab CHECKPOINTTABLE oggadm1.oggchkpt 
   ```

1. 다음 명령을 사용하여 `REPLICAT` 유틸리티를 시작합니다.

   ```
   start RABC
   ```

# Oracle GoldenGate 모니터링
<a name="Appendix.OracleGoldenGate.Monitoring"></a>

Oracle GoldenGate를 복제에 사용하는 경우 Oracle GoldenGate 프로세스가 실행 중이고 소스 및 대상 데이터베이스가 동기화되었는지 확인하세요. 다음 모니터링 도구를 사용할 수 있습니다.
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)는 GoldenGate 오류 로그를 모니터링하는 데 이 패턴으로 사용되는 모니터링 서비스입니다.
+ [Amazon SNS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html)는 이메일 알림을 보내는 데 이 패턴으로 사용되는 메시지 알림 서비스입니다.

자세한 지침은 [Amazon CloudWatch를 사용한 Oracle GoldenGate 로그 모니터링](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/monitor-oracle-goldengate-logs-by-using-amazon-cloudwatch.html)을 참조하세요.

# Oracle GoldenGate 문제 해결
<a name="Appendix.OracleGoldenGate.Troubleshooting"></a>

이 섹션에서는 Amazon RDS for Oracle과 함께 Oracle GoldenGate를 사용할 때 가장 자주 발생하는 문제를 설명합니다.

**Topics**
+ [온라인 다시 실행 로그를 여는 중 발생하는 오류](#Appendix.OracleGoldenGate.Troubleshooting.Logs)
+ [Oracle GoldenGate는 제대로 구성된 것으로 보이나 복제가 작동하지 않음](#Appendix.OracleGoldenGate.Troubleshooting.Replication)
+ [SYS."\$1DBA\$1APPLY\$1CDR\$1INFO"에 대한 쿼리 때문에 통합 REPLICAT가 느려집니다.](#Appendix.OracleGoldenGate.IR)

## 온라인 다시 실행 로그를 여는 중 발생하는 오류
<a name="Appendix.OracleGoldenGate.Troubleshooting.Logs"></a>

보관된 다시 실행 로그를 유지하도록 소스 데이터베이스를 구성했는지 확인합니다. 다음 지침을 참고하세요.
+ 로그 보존 기간을 시간 단위로 지정합니다. 최소값은 1시간입니다.
+ 소스 DB 인스턴스의 잠재적 가동 중지 시간, 잠재적 통신 시간, 소스 DB 인스턴스의 네트워킹 문제가 발생할 잠재적 기간보다 긴 기간을 설정합니다. 이러한 기간을 통해 Oracle GoldenGate는 필요에 따라 소스 DB 인스턴스에서 로그를 복구할 수 있습니다.
+ 인스턴스에 파일을 저장할 스토리지가 충분한지 확인합니다.

로그 보존을 활성화하지 않거나 보존 값이 너무 작으면 다음과 비슷한 오류 메시지가 표시됩니다.

```
2022-03-06 06:17:27  ERROR   OGG-00446  error 2 (No such file or directory) 
opening redo log /rdsdbdata/db/GGTEST3_A/onlinelog/o1_mf_2_9k4bp1n6_.log for sequence 1306 
Not able to establish initial position for begin time 2022-03-06 06:16:55.
```

## Oracle GoldenGate는 제대로 구성된 것으로 보이나 복제가 작동하지 않음
<a name="Appendix.OracleGoldenGate.Troubleshooting.Replication"></a>

기존 테이블의 경우 Oracle GoldenGate이 작동할 SCN을 지정해야 합니다.

**이 문제를 해결하려면**

1. 소스 데이터베이스에 로그인하고 Oracle GoldenGate 명령줄 인터페이스(`ggsci`)를 시작합니다. 다음 예제에서는 로그인 형식을 보여 줍니다.

   ```
   dblogin userid oggadm1@OGGSOURCE
   ```

1. `ggsci` 명령줄을 사용하여 `EXTRACT` 프로세스에 대한 시작 SCN을 설정합니다. 다음 예제에서는 `EXTRACT`을 위한 SCN을 223274로 설정합니다.

   ```
   ALTER EXTRACT EABC SCN 223274
   start EABC
   ```

1. 대상 데이터베이스에 로그인합니다. 다음 예제에서는 로그인 형식을 보여 줍니다.

   ```
   dblogin userid oggadm1@OGGTARGET
   ```

1. `ggsci` 명령줄을 사용하여 `REPLICAT` 프로세스에 대한 시작 SCN을 설정합니다. 다음 예제에서는 `REPLICAT`을 위한 SCN을 223274로 설정합니다.

   ```
   start RABC atcsn 223274
   ```

## SYS."\$1DBA\$1APPLY\$1CDR\$1INFO"에 대한 쿼리 때문에 통합 REPLICAT가 느려집니다.
<a name="Appendix.OracleGoldenGate.IR"></a>

Oracle GoldenGate 충돌 감지 및 해결(CDR) 기능은 기본적인 충돌 해결 루틴을 제공합니다. 예를 들어 CDR은 `INSERT` 문의 고유한 충돌 문제를 해결할 수 있습니다.

CDR이 충돌을 해결할 때, 일시적으로 예외 테이블 `_DBA_APPLY_CDR_INFO`에 레코드를 삽입할 수 있습니다. 통합 `REPLICAT`는 나중에 이러한 레코드를 삭제합니다. 드문 경우에, 통합 `REPLICAT`는 많은 수의 충돌을 처리할 수 있지만 새로운 통합 `REPLICAT`는 이를 대체하지 않습니다. `_DBA_APPLY_CDR_INFO`의 기존 행은 제거되지 않고 분리됩니다. 새로운 통합 `REPLICAT` 프로세스는 `_DBA_APPLY_CDR_INFO`에서 분리된 행을 쿼리하기 때문에 속도가 느려집니다.

`_DBA_APPLY_CDR_INFO`에서 모든 행을 제거하려면 Amazon RDS 프로시저 `rdsadmin.rdsadmin_util.truncate_apply$_cdr_info`를 사용합니다. 이 프로시저는 2020년 10월 릴리스 및 패치 업데이트의 일부로 릴리스되었습니다. 이 프로시저는 다음 데이터베이스 버전에서 사용할 수 있습니다.
+ [ 버전 21.0.0.0.ru-2022-01.rur-2022-01.r1](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-21-0.html#oracle-version-RU-RUR.21.0.0.0.ru-2022-01.rur-2022-01.r1) 이상
+ [ 버전 19.0.0.0.ru-2020-10.rur-2020-10.r1](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-19-0.html#oracle-version-RU-RUR.19.0.0.0.ru-2020-10.rur-2020-10.r1) 이상

다음 예제에서는 `_DBA_APPLY_CDR_INFO` 테이블을 자릅니다.

```
SET SERVEROUTPUT ON SIZE 2000
EXEC rdsadmin.rdsadmin_util.truncate_apply$_cdr_info;
```

# Oracle용 RDS에서 Oracle Repository Creation Utility 사용
<a name="Oracle.Resources.RCU"></a>

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

## RCU에 대해 지원되는 버전 및 라이선스 옵션
<a name="Oracle.Resources.RCU.Versions"></a>

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

RCU를 사용하려면 다음을 수행해야 합니다.
+ Oracle Fusion Middleware용 라이선스를 취득합니다
+ 또한 리포지토리를 호스팅하는 Oracle Database용 Oracle 라이선싱 지침을 따릅니다. 자세한 내용은 Oracle 설명서에서 [ Oracle Fusion Middleware 라이선싱 정보 사용자 매뉴얼](https://docs.oracle.com/en/middleware/fusion-middleware/fmwlc/)을 참조하십시오.

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

RDS for Oracle 인스턴스를 생성하기 전에 배포할 구성 요소를 지원해야 하는 Oracle Database 버전을 확인하세요. 인증표에서 배포할 Fusion Middleware 구성 요소 및 버전에 대한 요구 사항을 확인하십시오. 자세한 내용은 Oracle 설명서에서 [Oracle Fusion Middleware 지원 시스템 구성](http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html)을 참조하십시오.

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

## RCU에 대한 요구 사항 및 제한 사항
<a name="Oracle.Resources.RCU.BeforeYouBegin"></a>

RCU를 사용하려면 Amazon VPC가 필요합니다. Amazon RDS DB 인스턴스는 Fusion Middleware 구성 요소에서만 사용할 수 있고, 퍼블릭 인터넷에서는 사용할 수 없습니다. 따라서 보안 강화를 위해 프라이빗 서브넷에서 Amazon RDS DB 인스턴스를 호스팅합니다. RDS for Oracle DB 인스턴스도 필요합니다. 자세한 내용은 [Oracle DB 인스턴스 생성 및 해당 인스턴스에 연결](CHAP_GettingStarted.CreatingConnecting.Oracle.md) 섹션을 참조하세요.

Fusion Middleware 구성 요소에 대한 스키마를 Amazon RDS DB 인스턴스에 저장할 수 있습니다. 다음 스키마는 제대로 설치되는 것으로 확인되었습니다.
+ 분석(ACTIVITIES)
+ Audit Services(IAU)
+ Audit Services Append(IAU\$1APPEND)
+ Audit Services Viewer(IAU\$1VIEWER)
+ 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 사용 지침
<a name="Oracle.Resources.RCU.Recommendations"></a>

다음은 이 시나리오에서 DB 인스턴스를 작업하는 경우 알아 두어야 할 권장 사항입니다.
+ 프로덕션 워크로드에는 다중 다중 AZ를 사용하는 것이 좋습니다. 다중 가용 영역 작업에 대한 자세한 내용은 [리전, 가용 영역 및 로컬 영역](Concepts.RegionsAndAvailabilityZones.md) 단원을 참조하세요.
+ 보안을 추가하려면 유휴 데이터를 암호화할 수 있는 TDE(Transparent Data Encryption)를 사용하는 것이 좋습니다. 고급 보안 옵션이 제공되는 Enterprise Edition 라이선스를 보유하고 있는 경우 TDE 옵션을 사용하여 유휴 시 암호화를 활성화할 수 있습니다. 자세한 내용은 [Oracle Transparent Data Encryption](Appendix.Oracle.Options.AdvSecurity.md) 섹션을 참조하세요.

  Amazon RDS는 모든 데이터베이스 버전에 유휴 시 암호화 옵션도 제공합니다. 자세한 내용은 [Amazon RDS 리소스 암호화](Overview.Encryption.md) 섹션을 참조하세요.
+ 애플리케이션 서버와 Amazon RDS DB 인스턴스 간에 통신할 수 있도록 VPC 보안 그룹을 구성합니다. Fusion Middleware 구성 요소를 호스트하는 애플리케이션 서버는 Amazon EC2 또는 온프레미스에 있을 수 있습니다.

## RCU 실행
<a name="Oracle.Resources.RCU.Installing"></a>

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

**Topics**
+ [한 단계로 명령줄을 사용하여 RCU 실행](#Oracle.Resources.RCU.SilentSingle)
+ [여러 단계에 걸쳐 명령줄을 사용하여 RCU 실행](#Oracle.Resources.RCU.SilentMulti)
+ [대화형 모드에서 RCU 실행](#Oracle.Resources.RCU.Interactive)

### 한 단계로 명령줄을 사용하여 RCU 실행
<a name="Oracle.Resources.RCU.SilentSingle"></a>

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

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

**Example**  
다음은 한 단계로 SOA 인프라 구성 요소(및 종속 항목)의 스키마를 만들어 채우는 예제입니다.  
대상 LinuxmacOS, 또는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 실행](https://docs.oracle.com/middleware/1221/core/RCUUG/GUID-0D3A2959-7CC8-4001-997E-718ADF04C5F2.htm#RCUUG248)을 참조하세요.

### 여러 단계에 걸쳐 명령줄을 사용하여 RCU 실행
<a name="Oracle.Resources.RCU.SilentMulti"></a>

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

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

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

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

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

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

**Example**  
다음은 SOA 인프라 구성 요소 및 종속 항목의 스키마 스크립트를 만드는 예제입니다.  
대상 LinuxmacOS, 또는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 인스턴스에 연결](CHAP_GettingStarted.CreatingConnecting.Oracle.md#CHAP_GettingStarted.Connecting.Oracle) 단원을 참조하세요.  
다음은 SOA 인프라 구성 요소(및 종속 항목)의 스키마를 채우는 예제입니다.  
대상 LinuxmacOS, 또는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 실행](https://docs.oracle.com/middleware/1221/core/RCUUG/GUID-0D3A2959-7CC8-4001-997E-718ADF04C5F2.htm#RCUUG248)을 참조하세요.

### 대화형 모드에서 RCU 실행
<a name="Oracle.Resources.RCU.Interactive"></a>

RCU 그래픽 사용자 인터페이스를 사용하려면 대화형 모드로 RCU를 실행합니다. `-interactive` 파라미터를 포함하고 `-silent` 파라미터를 생략합니다. 자세한 내용은 Oracle 설명서에서 [ Repository Creation Utility 화면 이해](https://docs.oracle.com/middleware/1213/core/RCUUG/rcu_screens.htm#RCUUG143)를 참조하세요.

**Example**  
다음은 대화형 모드에서 RCU를 시작하고 연결 정보를 미리 채우는 예제입니다.  
대상 LinuxmacOS, 또는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 문제 해결
<a name="Oracle.Resources.RCU.KnownIssues"></a>

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

**Topics**
+ [Oracle Managed Files(OMF)](#Oracle.Resources.RCU.KnownIssues.OMF)
+ [객체 권한](#Oracle.Resources.RCU.KnownIssues.object-privs)
+ [Enterprise Scheduler Service](#Oracle.Resources.RCU.KnownIssues.Scheduler)

### Oracle Managed Files(OMF)
<a name="Oracle.Resources.RCU.KnownIssues.OMF"></a>

Amazon RDS는 OMF 데이터 파일을 사용하여 스토리지 관리를 간소화합니다. 크기 및 익스텐트 관리와 같은 테이블스페이스 속성을 사용자 지정할 수 있습니다. 하지만 RCU를 실행할 때 데이터 파일 이름을 지정하면 테이블스페이스 코드에 `ORA-20900` 오류가 발생합니다. 다음과 같은 방법으로 OMF와 함께 RCU를 사용할 수 있습니다.
+ RCU 12.2.1.0 이상에서 `-honorOMF` 명령줄 파라미터를 사용합니다.
+ RCU 12.1.0.3 이상에서 여러 단계를 사용하여 생성된 스크립트를 편집합니다. 자세한 내용은 [여러 단계에 걸쳐 명령줄을 사용하여 RCU 실행](#Oracle.Resources.RCU.SilentMulti) 단원을 참조하십시오.

### 객체 권한
<a name="Oracle.Resources.RCU.KnownIssues.object-privs"></a>

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
<a name="Oracle.Resources.RCU.KnownIssues.Scheduler"></a>

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

# Amazon EC2 인스턴스에서 Oracle Connection Manager 구성
<a name="oracle-cman"></a>

Oracle Connection Manager(CMAN)는 데이터베이스 서버 또는 다른 프록시 서버에 연결 요청을 전달하는 프록시 서버입니다. CMAN으로 다음을 구성할 수 있습니다.

액세스 관리  
사용자 지정 클라이언트 요청을 필터링하고 다른 요청을 수락하는 규칙을 생성할 수 있습니다.

세션 멀티플렉싱  
네트워크 연결을 통해 공유 서버 대상에 여러 클라이언트 세션을 보낼 수 있습니다.

일반적으로 CMAN은 데이터베이스 서버 및 클라이언트 호스트와 별도의 호스트에 있습니다. 자세한 내용은 Oracle Database 설명서의 [Configuring Oracle Connection Manager](https://docs.oracle.com/en/database/oracle/oracle-database/19/netag/configuring-oracle-connection-manager.html#GUID-AF8A511E-9AE6-4F4D-8E58-F28BC53F64E4)(Oracle Connection Manager 구성)를 참조하세요.

**Topics**
+ [CMAN에 대해 지원되는 버전 및 라이선스 옵션](#oracle-cman.Versions)
+ [CMAN에 대한 요구 사항 및 제한 사항](#oracle-cman.requirements)
+ [CMAN 구성](#oracle-cman.configuring-cman)

## CMAN에 대해 지원되는 버전 및 라이선스 옵션
<a name="oracle-cman.Versions"></a>

CMAN은 Amazon RDS에서 지원하는 모든 Oracle Database 버전의 Enterprise Edition을 지원합니다. 자세한 정보는 [RDS for Oracle 릴리스](Oracle.Concepts.database-versions.md)의 내용을 참조하세요.

Oracle Database가 설치된 호스트와 별도의 호스트에 Oracle Connection Manager를 설치할 수 있습니다. CMAN을 실행하는 호스트에는 별도의 라이선스가 필요하지 않습니다.

## CMAN에 대한 요구 사항 및 제한 사항
<a name="oracle-cman.requirements"></a>

완전 관리형 환경을 제공하기 위해 Amazon RDS는 운영 체제에 대한 액세스를 제한합니다. 운영 체제 액세스가 필요한 데이터베이스 파라미터는 수정할 수 없습니다. 따라서 Amazon RDS는 운영 체제에 로그인해야 하는 CMAN의 기능을 지원하지 않습니다.

## CMAN 구성
<a name="oracle-cman.configuring-cman"></a>

CMAN을 구성할 때 RDS for Oracle 데이터베이스 외부에서 대부분의 작업을 수행합니다.

**Topics**
+ [1단계: RDS for Oracle 인스턴스와 동일한 VPC의 Amazon EC2 인스턴스에서 CMAN 구성](#oracle-cman.configuring-cman.vpc)
+ [2단계: CMAN에 대한 데이터베이스 파라미터 구성](#oracle-cman.configuring-cman.parameters)
+ [3단계: DB 인스턴스를 파라미터 그룹과 연결](#oracle-cman.configuring-cman.parameter-group)

### 1단계: RDS for Oracle 인스턴스와 동일한 VPC의 Amazon EC2 인스턴스에서 CMAN 구성
<a name="oracle-cman.configuring-cman.vpc"></a>

CMAN을 설정하는 방법을 알아보려면 블로그 게시물, [Configuring and using Oracle Connection Manager on Amazon EC2 for Amazon RDS for Oracle](https://aws.amazon.com/blogs/database/configuring-and-using-oracle-connection-manager-on-amazon-ec2-for-amazon-rds-for-oracle/)(Amazon RDS for Oracle용 Amazon EC2에서 Oracle Connection Manager 구성 및 사용)의 자세한 지침을 따르세요.

### 2단계: CMAN에 대한 데이터베이스 파라미터 구성
<a name="oracle-cman.configuring-cman.parameters"></a>

Traffic Director 모드 및 세션 멀티플렉싱과 같은 CMAN 기능의 경우 `REMOTE_LISTENER` 파라미터를 DB 파라미터 그룹의 CMAN 인스턴스 주소로 설정합니다. 다음 시나리오를 고려해 보세요.
+ CMAN 인스턴스는 IP 주소가 `10.0.159.100`인 호스트에 있으며 포트 `1521`을 사용합니다.
+ 데이터베이스 `orcla`, `orclb` 및 `orclc`는 별도의 RDS for Oracle DB 인스턴스에 있습니다.

다음 표에서는 `REMOTE_LISTENER` 값을 설정하는 방법을 보여줍니다. `LOCAL_LISTENER` 값은 Amazon RDS에 의해 자동으로 설정됩니다.


| DB 인스턴스 이름 | DB 인스턴스 IP | 로컬 리스너 값(자동 설정) | 원격 리스너 값(사용자가 설정) | 
| --- | --- | --- | --- | 
| orcla | 10.0.159.200 |  <pre>( address=<br />  (protocol=tcp)<br />  (host=10.0.159.200)<br />  (port=1521)<br />)</pre>  | 10.0.159.100:1521 | 
| orclb | 10.0.159.300 |  <pre>( address=<br />  (protocol=tcp)<br />  (host=10.0.159.300)<br />  (port=1521)<br />)</pre>  | 10.0.159.100:1521 | 
| orclc | 10.0.159.400 |  <pre>( address=<br />  (protocol=tcp)<br />  (host=10.0.159.400)<br />  (port=1521)<br />)</pre>  | 10.0.159.100:1521 | 

### 3단계: DB 인스턴스를 파라미터 그룹과 연결
<a name="oracle-cman.configuring-cman.parameter-group"></a>

[2단계: CMAN에 대한 데이터베이스 파라미터 구성](#oracle-cman.configuring-cman.parameters)에서 구성한 파라미터 그룹을 사용하도록 DB 인스턴스를 생성하거나 수정합니다. 자세한 정보는 [Amazon RDS의 DB 인스턴스에 DB 파라미터 그룹 연결](USER_WorkingWithParamGroups.Associating.md)의 내용을 참조하세요.

# Amazon RDS에서 Oracle에 Siebel Database 설치
<a name="Oracle.Resources.Siebel"></a>

Amazon RDS를 사용하여 Oracle DB 인스턴스에서 Siebel Database를 호스팅할 수 있습니다. Siebel Database는 Siebel 고객 관계 관리(CRM) 애플리케이션 아키텍처의 일부입니다. 예시는 [Generic Architecture of Siebel Business Application](https://docs.oracle.com/cd/E63029_01/books/PerformTun/performtun_archinfra.htm#i1043361)을 참조하십시오.

다음 주제는 Amazon RDS의 Oracle DB 인스턴스에서 Siebel Database를 설정하는 데 도움이 됩니다. 또한 Amazon Web Services를 사용하여 Siebel CRM 애플리케이션 아키텍처에서 요구하는 다른 구성 요소를 지원하는 방법도 설명합니다.

**참고**  
Amazon RDS에서 Oracle에 Siebel Database를 설치하려면 마스터 사용자 계정을 사용해야 합니다. `SYSDBA` 권한은 필요 없으며, 마스터 사용자 권한으로 충분합니다. 자세한 내용은 [마스터 사용자 계정 권한](UsingWithRDS.MasterAccounts.md) 섹션을 참조하세요.

## 라이선스 및 버전
<a name="Oracle.Resources.Siebel.Versions"></a>

Amazon RDS에 Siebel Database를 설치하려면 Oracle 데이터베이스 라이선스와 Siebel 라이선스를 사용해야 합니다. DB 인스턴스 클래스와 Oracle 데이터베이스 에디션에 적합한 Oracle 데이터베이스 라이선스(소프트웨어 업데이트 라이선스 및 지원 포함)가 있어야 합니다. 자세한 내용은 [RDS for Oracle 라이선스 옵션](Oracle.Concepts.Licensing.md) 섹션을 참조하세요.

이 시나리오의 경우 Oracle Database Enterprise Edition은 Siebel이 인증한 유일한 버전입니다. Amazon RDS는 Siebel CRM 15.0 또는 16.0 버전을 지원합니다.

Amazon RDS는 데이터베이스 버전 업그레이드를 지원합니다. 자세한 내용은 [DB 인스턴스 엔진 버전 업그레이드](USER_UpgradeDBInstance.Upgrading.md) 섹션을 참조하세요.

## 시작하기 전에
<a name="Oracle.Resources.Siebel.BeforeYouBegin"></a>

시작하려면 Amazon VPC가 필요합니다. Amazon RDS DB 인스턴스는 퍼블릭 인터넷이 아닌 Siebel Enterprise Server에서만 사용 가능해야 하므로 Amazon RDS DB 인스턴스는 프라이빗 서브넷에서 호스팅되고 이로써 보안이 향상됩니다. Siebel CRM과 함께 사용할 Amazon VPC를 만드는 방법에 대한 정보는 [Oracle DB 인스턴스 생성 및 해당 인스턴스에 연결](CHAP_GettingStarted.CreatingConnecting.Oracle.md) 단원을 참조하십시오.

시작하려면 Oracle DB 인스턴스도 필요합니다. Siebel CRM과 함께 사용하도록 Oracle DB 인스턴스를 만드는 방법에 대한 자세한 내용은 [Amazon RDS DB 인스턴스 생성](USER_CreateDBInstance.md) 단원을 참조하십시오.

## Siebel Database 설치 및 구성
<a name="Oracle.Resources.Siebel.Database.Siebel"></a>

Oracle DB 인스턴스를 만든 후에 Siebel Database를 설치할 수 있습니다. 테이블 소유자 및 관리자 계정을 만들어 데이터베이스를 설치하고, 저장된 절차와 기능을 설치한 다음 Siebel Database 구성 마법사를 실행합니다. 자세한 내용은 [Installing the Siebel Database on the RDBMS](https://docs.oracle.com/cd/E63029_01/books/SiebInstWIN/SiebInstCOM_ConfigDB.html)를 참조하십시오.

Siebel Database 구성 마법사를 실행하려면 마스터 사용자 계정을 사용해야 합니다. `SYSDBA` 권한은 필요 없으며, 마스터 사용자 권한으로 충분합니다. 자세한 내용은 [마스터 사용자 계정 권한](UsingWithRDS.MasterAccounts.md) 섹션을 참조하세요.

## Siebel Database에 다른 Amazon RDS 기능 사용
<a name="Oracle.Resources.Siebel.Miscellaneous"></a>

Oracle DB 인스턴스를 만든 후, 다른 Amazon RDS 기능을 사용하여 Siebel Database를 사용자 지정할 수 있습니다.

### Oracle Statspack 통계 수집 옵션
<a name="Oracle.Resources.Siebel.Options"></a>

DB 옵션 그룹의 옵션을 사용해 Oracle DB 인스턴스에 기능을 추가할 수 있습니다. Oracle DB 인스턴스를 만들 때는 기본 DB 옵션 그룹을 사용했습니다. 데이터베이스에 기능을 추가하고 싶다면 DB 인스턴스를 위한 새로운 옵션 그룹을 만들 수 있습니다.

Siebel Database에서 성능 통계를 수집하고 싶다면 Oracle Statspack 기능을 추가할 수 있습니다. 자세한 내용은 [Oracle Statspack](Appendix.Oracle.Options.Statspack.md) 섹션을 참조하세요.

즉시 적용되는 옵션 변경 사항도 있고, DB 인스턴스의 다음 번 유지 관리 기간 중에 적용되는 옵션 변경 사항도 있습니다. 자세한 내용은 [옵션 그룹 작업](USER_WorkingWithOptionGroups.md) 섹션을 참조하세요. 사용자 지정 옵션 그룹을 생성한 후에는 DB 인스턴스를 수정해 옵션 그룹에 연결하십시오. 자세한 내용은 [Amazon RDS DB 인스턴스 수정](Overview.DBInstance.Modifying.md) 섹션을 참조하세요.

### 파라미터로 성능 튜닝
<a name="Oracle.Resources.Siebel.Parameters"></a>

DB 파라미터 그룹의 파라미터 사용을 통해 DB 엔진 구성을 관리합니다. Oracle DB 인스턴스를 만들 때는 기본 DB 파라미터 그룹을 사용했습니다. 데이터베이스 구성을 사용자 지정하고 싶다면 DB 인스턴스를 위한 새로운 파라미터 그룹을 만들 수 있습니다.

파라미터를 변경하는 경우, 파라미터 유형에 따라 변경 사항이 즉시 적용되거나 DB 인스턴스를 수동으로 재부팅한 후에 적용될 수 있습니다. 자세한 내용은 [Amazon RDS의 파라미터 그룹](USER_WorkingWithParamGroups.md) 섹션을 참조하세요. 사용자 지정 파라미터 그룹을 생성한 후에는 DB 인스턴스를 수정해 파라미터 그룹에 연결하십시오. 자세한 내용은 [Amazon RDS DB 인스턴스 수정](Overview.DBInstance.Modifying.md) 섹션을 참조하세요.

Siebel CRM에 맞게 Oracle DB 인스턴스를 최적화하기 위해 일부 파라미터를 사용자 지정할 수 있습니다. 다음 표에는 몇 가지 권장되는 파라미터 설정이 나와 있습니다. Sieble CRM 성능 튜닝에 대한 자세한 내용은 [Siebel CRM Performance Tuning Guide](https://docs.oracle.com/cd/E63029_01/books/PerformTun/toc.htm)를 참조하세요.


****  

| 파라미터 이름 | 기본값 | Siebel CRM 성능 최적화 지침 | 
| --- | --- | --- | 
| \$1always\$1semi\$1join | `CHOOSE` | `OFF`  | 
| \$1b\$1tree\$1bitmap\$1plans | `TRUE` | `FALSE`  | 
| \$1like\$1with\$1bind\$1as\$1equality | `FALSE` | `TRUE`  | 
| \$1no\$1or\$1expansion | `FALSE` | `FALSE`  | 
| \$1optimizer\$1join\$1sel\$1sanity\$1check | `TRUE` | `TRUE`  | 
| \$1optimizer\$1max\$1permutations | 2000 | 100  | 
| \$1optimizer\$1sortmerge\$1join\$1enabled | `TRUE` | `FALSE`  | 
| \$1partition\$1view\$1enabled | `TRUE` | `FALSE`  | 
| open\$1cursors | `300` | 최소 **2000**.  | 

### 스냅샷 생성
<a name="Oracle.Resources.Siebel.Snapshots"></a>

Siebel Database를 만든 후 Amazon RDS의 스냅샷 기능을 이용해 데이터베이스를 복사할 수 있습니다. 자세한 내용은 [Amazon RDS의 단일 AZ DB 인스턴스에 대한 DB 스냅샷 생성](USER_CreateSnapshot.md) 및 [DB 인스턴스 복원](USER_RestoreFromSnapshot.md) 단원을 참조하십시오.

## 다른 Siebel CRM 구성 요소에 대한 지원
<a name="Oracle.Resources.Siebel.OtherComponents"></a>

Amazon Web Services를 사용하여 Siebel Database 외에 Siebel CRM 애플리케이션 아키텍처의 다른 구성 요소도 지원할 수 있습니다. 다음 표에 추가 Siebel CRM 구성 요소를 위한 Amazon AWS의 지원 옵션이 설명되어 있습니다.


****  

| Siebel CRM 구성 요소 | Amazon AWS Support | 
| --- | --- | 
| Siebel Enterprise(Siebel 서버 1개 이상) |  Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 Siebel 서버를 호스팅할 수 있습니다. Amazon EC2를 사용하여 필요한 만큼 많거나 적은 수의 가상 서버를 시작할 수 있습니다. Amazon EC2를 사용하여 손쉽게 규모를 확장 또는 축소하여 수요 변화에 대처할 수 있습니다. 자세한 내용은 [Amazon EC2란 무엇입니까?](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html)를 참조하세요. 서버를 DB 인스턴스와 같은 VPC에 배치하고 VPC 보안 그룹을 사용해 데이터베이스에 액세스할 수 있습니다. 자세한 내용은 [VPC에서 DB 인스턴스를 사용한 작업](USER_VPC.WorkingWithRDSInstanceinaVPC.md) 섹션을 참조하세요.  | 
| 웹 서버(Siebel Web Server Extensions 사용) |  복수의 EC2 인스턴스에 복수의 웹 서버를 설치할 수 있습니다. 그런 다음 Elastic Load Balancing 을 사용해 수신 트래픽을 인스턴스에 분산할 수 있습니다. 자세한 내용은 [Elastic Load Balancing란 무엇입니까?](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/elastic-load-balancing.html)를 참조하십시오.  | 
| Siebel Gateway Name Server |  EC2 인스턴스에서 Siebel Gateway Name Server를 호스팅할 수 있습니다. 그러면 서버를 DB 인스턴스와 같은 VPC에 배치하고 VPC 보안 그룹을 사용해 데이터베이스에 액세스할 수 있습니다. 자세한 내용은 [VPC에서 DB 인스턴스를 사용한 작업](USER_VPC.WorkingWithRDSInstanceinaVPC.md) 섹션을 참조하세요.  | 