

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Migración de Oracle Database a Amazon RDS for Oracle con AWS Schema Conversion Tool
<a name="CHAP_Source.Oracle.ToRDSOracle"></a>

Hay algunos aspectos que deben tenerse en cuenta al migrar un esquema y un código de Oracle a Amazon RDS para Oracle: 
+ AWS SCT puede añadir objetos de directorio al árbol de objetos. Los *objetos de directorio* son estructuras lógicas, cada una de las cuales representa un directorio físico del sistema de archivos del servidor. Puede utilizar objetos de directorio con paquetes como DBMS\_LOB, UTL\_FILE, DBMS\_FILE\_TRANSFER, la utilidad DATAPUMP, etc.
+ AWS SCT admite la conversión de tablespaces de Oracle en una instancia de base de datos de Amazon RDS for Oracle. Oracle almacena los datos de forma lógica en espacios de tabla y físicamente en archivos de datos asociados con el espacio de tabla correspondiente. En Oracle, puede crear un espacio de tabla con nombres de archivos de datos. Amazon RDS solo admite Oracle Managed Files (OMF) para archivos de datos, archivos de registro y archivos de control. AWS SCT crea los archivos de datos necesarios durante la conversión.
+ AWS SCT puede convertir funciones y privilegios a nivel de servidor. El motor de base de datos Oracle utiliza la seguridad basada en roles. Una función es un conjunto de privilegios que se pueden conceder a un usuario o que se pueden revocar. Una función predefinida de Amazon RDS llamada DBA normalmente admite todos los privilegios administrativos de un motor de base de datos de Oracle. Los privilegios siguientes no están disponibles para el rol DBA en una instancia de base de datos de Amazon RDS que utiliza el motor Oracle:
  + Alter database
  + Alter system
  + Create any directory
  + Grant any privilege
  + Grant any role
  + Create external job

  Puede conceder todos los demás privilegios a una función de usuario de Amazon RDS for Oracle, incluidos los de filtrado avanzado y de columnas.
+ AWS SCT admite la conversión de trabajos de Oracle en trabajos que se puedan ejecutar en Amazon RDS for Oracle. Existen algunas limitaciones en la conversión, entre las que se incluyen las siguientes:
  + No se admiten los trabajos ejecutables.
  + No se admiten los trabajos de programación que usan el tipo de datos ANYDATA como un argumento.
+ Oracle Real Application Clusters (RAC) One Node es una opción de Oracle Database Enterprise Edition que se introdujo con Oracle Database 11g versión 2. Amazon RDS for Oracle no admite la característica RAC. Para obtener una alta disponibilidad, utilice Multi-AZ de Amazon RDS. 

  En una implementación multi-AZ, Amazon RDS aprovisiona y mantiene automáticamente una réplica en espera sincrónica dentro de una zona de disponibilidad diferente. La instancia de base de datos principal se replica sincrónicamente en las zonas de disponibilidad en una réplica en espera. Esta funcionalidad proporciona redundancia de datos, elimina los I/O bloqueos y minimiza los picos de latencia durante las copias de seguridad del sistema.
+ Oracle Spatial proporciona un esquema y funciones SQL que facilitan el almacenamiento, la recuperación, la actualización y la consulta de colecciones de datos espaciales en una base de datos de Oracle. Oracle Locator proporciona capacidades que suelen ser necesarias para admitir aplicaciones basadas en servicio de Internet e inalámbricas y soluciones de Sistemas de información geográfica (SIG) basadas en el partner. Oracle Locator es una subred limitada de Oracle Spatial.

  Para utilizar las características de Oracle Spatial u Oracle Locator, agregue la opción SPATIAL o la opción LOCATOR (mutuamente excluyentes) al grupo de opciones de la instancia de base de datos.

  Existen algunas requisitos previos que debe cumplir para poder usar Oracle Spatial u Oracle Locator en una instancia de base de datos de Amazon RDS for Oracle:
  + La instancia debe usar Oracle Enterprise Edition versión 12.1.0.2.v6 o posterior o la versión 11.2.0.4.v10 o posterior.
  + La instancia debe estar dentro de una nube virtual privada (VPC).
  + La instancia debe usar la clase de instancia de base de datos que es compatible con la característica de Oracle. Por ejemplo, Oracle Spatial no se admite para las clases de instancia de base de datos db.m1.small, db.t1.micro, db.t2.micro o db.t2.small. Para obtener más información, consulte [Compatibilidad de clases de instancias de bases de datos con Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html#Oracle.Concepts.InstanceClasses).
  + La instancia debe tener habilitada la opción Auto Minor Version Upgrade (Actualización automática de versiones menores). Amazon RDS actualiza automáticamente su instancia de base de datos a la versión más reciente de Oracle PSU si hay vulnerabilidades de seguridad con una puntuación de CVSS superior a 9 u otras vulnerabilidades de seguridad anunciadas. Para obtener más información, consulte 

    [ Configuración de las instancias de base de datos de Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ModifyInstance.Oracle.html#USER_ModifyInstance.Oracle.Settings).
  + Si la versión de su instancia de base de datos es la 11.2.0.4.v10 o posterior, debe instalar la opción XMLDB. Para obtener más información, consulte 

    [Oracle XML DB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.XMLDB.html).
  + Debe tener una licencia de Oracle Spatial de Oracle. Para obtener más información, consulte [Oracle Spatial and Graph](https://shop.oracle.com/apex/product?p1=OracleSpatialandGraph) en la documentación de Oracle.
+ Data Guard se incluye con Oracle Database Enterprise Edition. Para obtener una alta disponibilidad, utilice la característica Multi-AZ de Amazon RDS. 

  En una implementación multi-AZ, Amazon RDS aprovisiona y mantiene automáticamente una réplica en espera sincrónica dentro de una zona de disponibilidad diferente. La instancia de base de datos principal se replica sincrónicamente en las zonas de disponibilidad en una réplica en espera. Esta funcionalidad proporciona redundancia de datos, elimina las I/O congelaciones y minimiza los picos de latencia durante las copias de seguridad del sistema.
+ AWS SCT admite la conversión de objetos DBMS\_SCHEDULER de Oracle al migrar a Amazon RDS for Oracle. El informe de AWS SCT evaluación indica si un objeto de programación se puede convertir. Para obtener más información acerca del uso de objetos de programación con Amazon RDS, consulte la [documentación de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.System.html#Appendix.Oracle.CommonDBATasks.ModifyScheduler).
+ En el caso de conversiones de Oracle a Amazon RDS for Oracle, se admiten los enlaces de base de datos. Un enlace de base de datos es un objeto de esquema en una base de datos que le permite obtener acceso a los objetos de otra base de datos. No es necesario que la otra base de datos sea de Oracle. Sin embargo, para obtener acceso a las bases de datos que no son de Oracle, debe utilizar Oracle Heterogeneous Services.

  Una vez creado un enlace a una base de datos, puede usarlo en las sentencias SQL para hacer referencia a tablas, vistas y PL/SQL objetos de la otra base de datos. Para usar un enlace de base de datos, `@dblink` añádalo al nombre de la tabla, vista o PL/SQL objeto. Puede consultar una tabla o una vista de la otra base de datos con la instrucción SELECT. Para obtener más información acerca del uso de enlaces de base de datos de Oracle, consulte la [documentación de Oracle](https://docs.oracle.com/cd/B28359_01/server.111/b28310/ds_concepts002.htm#ADMIN12083).

  Para obtener más información acerca del uso de enlaces de base de datos con Amazon RDS, consulte la [documentación de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.Database.html#Appendix.Oracle.CommonDBATasks.DBLinks).
+ El informe AWS SCT de evaluación proporciona las métricas del servidor para la conversión. Estas métricas acerca de la instancia de Oracle incluyen:
  + Capacidad de memoria y computación de la instancia de base de datos de destino.
  + Características de Oracle, como Real Application Clusters no compatibles que Amazon RDS no admite.
  + Carga de lectura-escritura en disco.
  + Rendimiento de disco medio total
  + Información del servidor, como nombre de servidor, sistema operativo, alojamiento, nombre y conjunto de caracteres.

## Privilegios para RDS para Oracle como destino
<a name="CHAP_Source.Oracle.ToRDSOracle.ConfigureTarget"></a>

Para migrar a Amazon RDS para Oracle, cree un usuario de base de datos privilegiado. Puede utilizar el siguiente código de ejemplo.

```
CREATE USER {{user_name}} IDENTIFIED BY {{your_password}};

-- System privileges
GRANT DROP ANY CUBE BUILD PROCESS TO {{user_name}};
GRANT ALTER ANY CUBE TO {{user_name}};
GRANT CREATE ANY CUBE DIMENSION TO {{user_name}};
GRANT CREATE ANY ASSEMBLY TO {{user_name}};
GRANT ALTER ANY RULE TO {{user_name}};
GRANT SELECT ANY DICTIONARY TO {{user_name}};
GRANT ALTER ANY DIMENSION TO {{user_name}};
GRANT CREATE ANY DIMENSION TO {{user_name}};
GRANT ALTER ANY TYPE TO {{user_name}};
GRANT DROP ANY TRIGGER TO {{user_name}};
GRANT CREATE ANY VIEW TO {{user_name}};
GRANT ALTER ANY CUBE BUILD PROCESS TO {{user_name}};
GRANT CREATE ANY CREDENTIAL TO {{user_name}};
GRANT DROP ANY CUBE DIMENSION TO {{user_name}};
GRANT DROP ANY ASSEMBLY TO {{user_name}};
GRANT DROP ANY PROCEDURE TO {{user_name}};
GRANT ALTER ANY PROCEDURE TO {{user_name}};
GRANT ALTER ANY SQL TRANSLATION PROFILE TO {{user_name}};
GRANT DROP ANY MEASURE FOLDER TO {{user_name}};
GRANT CREATE ANY MEASURE FOLDER TO {{user_name}};
GRANT DROP ANY CUBE TO {{user_name}};
GRANT DROP ANY MINING MODEL TO {{user_name}};
GRANT CREATE ANY MINING MODEL TO {{user_name}};
GRANT DROP ANY EDITION TO {{user_name}};
GRANT CREATE ANY EVALUATION CONTEXT TO {{user_name}};
GRANT DROP ANY DIMENSION TO {{user_name}};
GRANT ALTER ANY INDEXTYPE TO {{user_name}};
GRANT DROP ANY TYPE TO {{user_name}};
GRANT CREATE ANY PROCEDURE TO {{user_name}};
GRANT CREATE ANY SQL TRANSLATION PROFILE TO {{user_name}};
GRANT CREATE ANY CUBE TO {{user_name}};
GRANT COMMENT ANY MINING MODEL TO {{user_name}};
GRANT ALTER ANY MINING MODEL TO {{user_name}};
GRANT DROP ANY SQL PROFILE TO {{user_name}};
GRANT CREATE ANY JOB TO {{user_name}};
GRANT DROP ANY EVALUATION CONTEXT TO {{user_name}};
GRANT ALTER ANY EVALUATION CONTEXT TO {{user_name}};
GRANT CREATE ANY INDEXTYPE TO {{user_name}};
GRANT CREATE ANY OPERATOR TO {{user_name}};
GRANT CREATE ANY TRIGGER TO {{user_name}};
GRANT DROP ANY ROLE TO {{user_name}};
GRANT DROP ANY SEQUENCE TO {{user_name}};
GRANT DROP ANY CLUSTER TO {{user_name}};
GRANT DROP ANY SQL TRANSLATION PROFILE TO {{user_name}};
GRANT ALTER ANY ASSEMBLY TO {{user_name}};
GRANT CREATE ANY RULE SET TO {{user_name}};
GRANT ALTER ANY OUTLINE TO {{user_name}};
GRANT UNDER ANY TYPE TO {{user_name}};
GRANT CREATE ANY TYPE TO {{user_name}};
GRANT DROP ANY MATERIALIZED VIEW TO {{user_name}};
GRANT ALTER ANY ROLE TO {{user_name}};
GRANT DROP ANY VIEW TO {{user_name}};
GRANT ALTER ANY INDEX TO {{user_name}};
GRANT COMMENT ANY TABLE TO {{user_name}};
GRANT CREATE ANY TABLE TO {{user_name}};
GRANT CREATE USER TO {{user_name}};
GRANT DROP ANY RULE SET TO {{user_name}};
GRANT CREATE ANY CONTEXT TO {{user_name}};
GRANT DROP ANY INDEXTYPE TO {{user_name}};
GRANT ALTER ANY OPERATOR TO {{user_name}};
GRANT CREATE ANY MATERIALIZED VIEW TO {{user_name}};
GRANT ALTER ANY SEQUENCE TO {{user_name}};
GRANT DROP ANY SYNONYM TO {{user_name}};
GRANT CREATE ANY SYNONYM TO {{user_name}};
GRANT DROP USER TO {{user_name}};
GRANT ALTER ANY MEASURE FOLDER TO {{user_name}};
GRANT ALTER ANY EDITION TO {{user_name}};
GRANT DROP ANY RULE TO {{user_name}};
GRANT CREATE ANY RULE TO {{user_name}};
GRANT ALTER ANY RULE SET TO {{user_name}};
GRANT CREATE ANY OUTLINE TO {{user_name}};
GRANT UNDER ANY TABLE TO {{user_name}};
GRANT UNDER ANY VIEW TO {{user_name}};
GRANT DROP ANY DIRECTORY TO {{user_name}};
GRANT ALTER ANY CLUSTER TO {{user_name}};
GRANT CREATE ANY CLUSTER TO {{user_name}};
GRANT ALTER ANY TABLE TO {{user_name}};
GRANT CREATE ANY CUBE BUILD PROCESS TO {{user_name}};
GRANT ALTER ANY CUBE DIMENSION TO {{user_name}};
GRANT CREATE ANY EDITION TO {{user_name}};
GRANT CREATE ANY SQL PROFILE TO {{user_name}};
GRANT ALTER ANY SQL PROFILE TO {{user_name}};
GRANT DROP ANY OUTLINE TO {{user_name}};
GRANT DROP ANY CONTEXT TO {{user_name}};
GRANT DROP ANY OPERATOR TO {{user_name}};
GRANT DROP ANY LIBRARY TO {{user_name}};
GRANT ALTER ANY LIBRARY TO {{user_name}};
GRANT CREATE ANY LIBRARY TO {{user_name}};
GRANT ALTER ANY MATERIALIZED VIEW TO {{user_name}};
GRANT ALTER ANY TRIGGER TO {{user_name}};
GRANT CREATE ANY SEQUENCE TO {{user_name}};
GRANT DROP ANY INDEX TO {{user_name}};
GRANT CREATE ANY INDEX TO {{user_name}};
GRANT DROP ANY TABLE TO {{user_name}};
GRANT SELECT_CATALOG_ROLE TO {{user_name}};
GRANT SELECT ANY SEQUENCE TO {{user_name}};

-- Database Links
GRANT CREATE DATABASE LINK TO {{user_name}};
GRANT CREATE PUBLIC DATABASE LINK TO {{user_name}};
GRANT DROP PUBLIC DATABASE LINK TO {{user_name}};


-- Server Level Objects (directory)
GRANT CREATE ANY DIRECTORY TO {{user_name}};
GRANT DROP ANY DIRECTORY TO {{user_name}};
-- (for RDS only)
GRANT EXECUTE ON RDSADMIN.RDSADMIN_UTIL TO {{user_name}};

-- Server Level Objects (tablespace)
GRANT CREATE TABLESPACE TO {{user_name}};
GRANT DROP TABLESPACE TO {{user_name}};

-- Server Level Objects (user roles)
/* (grant source privileges with admin option or convert roles/privs as DBA) */

-- Queues
grant execute on DBMS_AQADM to {{user_name}};
grant aq_administrator_role to {{user_name}};

-- for Materialized View Logs creation
GRANT SELECT ANY TABLE TO {{user_name}};

-- Roles
GRANT RESOURCE TO {{user_name}};
GRANT CONNECT TO {{user_name}};
```

En el ejemplo anterior, {{user\_name}} sustitúyalo por el nombre de tu usuario. A continuación, {{your\_password}} sustitúyala por una contraseña segura.

## Limitaciones al convertir de Oracle a Amazon RDS para Oracle
<a name="CHAP_Source.Oracle.ToRDSOracle.Limitations"></a>

Hay que tener en cuenta algunas limitaciones al migrar un esquema y un código de Oracle a Amazon RDS para Oracle: 
+  Una función predefinida de Amazon RDS llamada DBA normalmente admite todos los privilegios administrativos de un motor de base de datos de Oracle. Los privilegios siguientes no están disponibles para el rol DBA en una instancia de base de datos de Amazon RDS que utiliza el motor Oracle:
  + Alter database
  + Alter system
  + Create any directory
  + Grant any privilege
  + Grant any role
  + Create external job

  Todos los demás privilegios se pueden conceder a una función de usuario de Oracle RDS.
+ Amazon RDS para Oracle admite las auditorías tradicionales y detalladas mediante el paquete DBMS\_FGA y Oracle Unified Auditing.
+ Amazon RDS para Oracle no admite la captura de datos de cambios (CDC). Para usar la CDC durante y después de la migración de una base de datos, utilice AWS Database Migration Service.