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
Algunos aspectos a tener en cuenta al migrar el esquema y el código de Oracle a Amazon RDS for 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 UTL _ LOBFILE, DBMS _TRANSFER, FILE _ _, la DATAPUMP utilidad, 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 solo RDS 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. Un rol predefinido en AmazonRDS, llamadoDBA, normalmente permite todos los privilegios administrativos en un motor de base de datos Oracle. Los siguientes privilegios no están disponibles para el DBA rol en una RDS instancia de base de datos de Amazon que utilice 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 un rol de usuario de Amazon RDS for Oracle, incluidos los privilegios avanzados de filtrado y columna.
-
-
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 programados que utilizan el tipo de ANYDATA datos como argumento.
-
-
Oracle Real Application Clusters (RAC) One Node es una opción de la Oracle Database Enterprise Edition que se introdujo con Oracle Database 11g Release 2. Amazon RDS for Oracle no admite RAC esta función. Para obtener una alta disponibilidad, utilice Amazon RDS Multi-AZ.
En una implementación Multi-AZ, Amazon aprovisiona y mantiene RDS automáticamente una réplica síncrona en espera en 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 bloqueos de E/S y minimiza los picos de latencia durante los backups del sistema.
-
Oracle Spatial proporciona un SQL esquema y funciones que facilitan el almacenamiento, la recuperación, la actualización y la consulta de las colecciones de datos espaciales en una base de datos de Oracle. Oracle Locator proporciona las capacidades que normalmente se requieren para admitir aplicaciones basadas en servicios inalámbricos e Internet y soluciones basadas en socios. GIS Oracle Locator es una subred limitada de Oracle Spatial.
Para utilizar las funciones de Oracle Spatial y Oracle Locator, añada la SPATIAL opción u LOCATOR opción (que se excluyen mutuamente) al grupo de opciones de la instancia de base de datos.
Existen algunos requisitos previos para utilizar Oracle Spatial y 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 privada virtual ()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.
-
La instancia debe tener habilitada la opción Auto Minor Version Upgrade (Actualización automática de versiones menores). Amazon RDS actualiza su instancia de base de datos a la versión más reciente de Oracle PSU si hay vulnerabilidades de seguridad con una CVSS puntuación superior a 9 u otras vulnerabilidades de seguridad anunciadas. Para obtener más información, consulte
-
Si su instancia de base de datos es la versión 11.2.0.4.v10 o superior, debe instalar la opción. XMLDB Para obtener más información, consulte
-
Debe tener una licencia de Oracle Spatial de Oracle. Para obtener más información, consulte Oracle Spatial and Graph
en la documentación de Oracle.
-
-
Data Guard se incluye con Oracle Database Enterprise Edition. Para obtener una alta disponibilidad, utilice la función Amazon RDS Multi-AZ.
En una implementación Multi-AZ, Amazon aprovisiona y mantiene RDS automáticamente una réplica síncrona en espera en 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 bloqueos de E/S y minimiza los picos de latencia durante los backups del sistema.
-
AWS SCT admite la conversión de SCHEDULER objetos Oracle DBMS _ al migrar a Amazon RDS for Oracle. El informe AWS SCT de evaluación indica si un objeto de programación se puede convertir. Para obtener más información sobre el uso de objetos de programación con AmazonRDS, consulta la RDSdocumentación de Amazon.
-
Para las conversiones de Oracle a Amazon RDS for Oracle, se admite DB Links. 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 SQL las declaraciones para hacer referencia a tablas, vistas y SQL objetos PL/ de la otra base de datos. Para usar un enlace de base de datos,
@dblink
añádalo a la tabla, vista o nombre del objeto PL/SQL. Puede consultar una tabla o vista de la otra base de datos con la SELECT instrucción. Para obtener más información acerca del uso de enlaces de base de datos de Oracle, consulte la documentación de Oracle. Para obtener más información sobre el uso de enlaces a bases de datos con AmazonRDS, consulta la RDSdocumentación de Amazon.
-
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.
-
Funciones de Oracle no compatibles, como Real Application Clusters, 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 RDS para Oracle como objetivo
Para migrar a Amazon RDS for Oracle, cree un usuario de base de datos privilegiado. Puede utilizar el siguiente código de ejemplo.
CREATE USER
user_name
IDENTIFIED BYyour_password
; -- System privileges GRANT DROP ANY CUBE BUILD PROCESS TOuser_name
; GRANT ALTER ANY CUBE TOuser_name
; GRANT CREATE ANY CUBE DIMENSION TOuser_name
; GRANT CREATE ANY ASSEMBLY TOuser_name
; GRANT ALTER ANY RULE TOuser_name
; GRANT SELECT ANY DICTIONARY TOuser_name
; GRANT ALTER ANY DIMENSION TOuser_name
; GRANT CREATE ANY DIMENSION TOuser_name
; GRANT ALTER ANY TYPE TOuser_name
; GRANT DROP ANY TRIGGER TOuser_name
; GRANT CREATE ANY VIEW TOuser_name
; GRANT ALTER ANY CUBE BUILD PROCESS TOuser_name
; GRANT CREATE ANY CREDENTIAL TOuser_name
; GRANT DROP ANY CUBE DIMENSION TOuser_name
; GRANT DROP ANY ASSEMBLY TOuser_name
; GRANT DROP ANY PROCEDURE TOuser_name
; GRANT ALTER ANY PROCEDURE TOuser_name
; GRANT ALTER ANY SQL TRANSLATION PROFILE TOuser_name
; GRANT DROP ANY MEASURE FOLDER TOuser_name
; GRANT CREATE ANY MEASURE FOLDER TOuser_name
; GRANT DROP ANY CUBE TOuser_name
; GRANT DROP ANY MINING MODEL TOuser_name
; GRANT CREATE ANY MINING MODEL TOuser_name
; GRANT DROP ANY EDITION TOuser_name
; GRANT CREATE ANY EVALUATION CONTEXT TOuser_name
; GRANT DROP ANY DIMENSION TOuser_name
; GRANT ALTER ANY INDEXTYPE TOuser_name
; GRANT DROP ANY TYPE TOuser_name
; GRANT CREATE ANY PROCEDURE TOuser_name
; GRANT CREATE ANY SQL TRANSLATION PROFILE TOuser_name
; GRANT CREATE ANY CUBE TOuser_name
; GRANT COMMENT ANY MINING MODEL TOuser_name
; GRANT ALTER ANY MINING MODEL TOuser_name
; GRANT DROP ANY SQL PROFILE TOuser_name
; GRANT CREATE ANY JOB TOuser_name
; GRANT DROP ANY EVALUATION CONTEXT TOuser_name
; GRANT ALTER ANY EVALUATION CONTEXT TOuser_name
; GRANT CREATE ANY INDEXTYPE TOuser_name
; GRANT CREATE ANY OPERATOR TOuser_name
; GRANT CREATE ANY TRIGGER TOuser_name
; GRANT DROP ANY ROLE TOuser_name
; GRANT DROP ANY SEQUENCE TOuser_name
; GRANT DROP ANY CLUSTER TOuser_name
; GRANT DROP ANY SQL TRANSLATION PROFILE TOuser_name
; GRANT ALTER ANY ASSEMBLY TOuser_name
; GRANT CREATE ANY RULE SET TOuser_name
; GRANT ALTER ANY OUTLINE TOuser_name
; GRANT UNDER ANY TYPE TOuser_name
; GRANT CREATE ANY TYPE TOuser_name
; GRANT DROP ANY MATERIALIZED VIEW TOuser_name
; GRANT ALTER ANY ROLE TOuser_name
; GRANT DROP ANY VIEW TOuser_name
; GRANT ALTER ANY INDEX TOuser_name
; GRANT COMMENT ANY TABLE TOuser_name
; GRANT CREATE ANY TABLE TOuser_name
; GRANT CREATE USER TOuser_name
; GRANT DROP ANY RULE SET TOuser_name
; GRANT CREATE ANY CONTEXT TOuser_name
; GRANT DROP ANY INDEXTYPE TOuser_name
; GRANT ALTER ANY OPERATOR TOuser_name
; GRANT CREATE ANY MATERIALIZED VIEW TOuser_name
; GRANT ALTER ANY SEQUENCE TOuser_name
; GRANT DROP ANY SYNONYM TOuser_name
; GRANT CREATE ANY SYNONYM TOuser_name
; GRANT DROP USER TOuser_name
; GRANT ALTER ANY MEASURE FOLDER TOuser_name
; GRANT ALTER ANY EDITION TOuser_name
; GRANT DROP ANY RULE TOuser_name
; GRANT CREATE ANY RULE TOuser_name
; GRANT ALTER ANY RULE SET TOuser_name
; GRANT CREATE ANY OUTLINE TOuser_name
; GRANT UNDER ANY TABLE TOuser_name
; GRANT UNDER ANY VIEW TOuser_name
; GRANT DROP ANY DIRECTORY TOuser_name
; GRANT ALTER ANY CLUSTER TOuser_name
; GRANT CREATE ANY CLUSTER TOuser_name
; GRANT ALTER ANY TABLE TOuser_name
; GRANT CREATE ANY CUBE BUILD PROCESS TOuser_name
; GRANT ALTER ANY CUBE DIMENSION TOuser_name
; GRANT CREATE ANY EDITION TOuser_name
; GRANT CREATE ANY SQL PROFILE TOuser_name
; GRANT ALTER ANY SQL PROFILE TOuser_name
; GRANT DROP ANY OUTLINE TOuser_name
; GRANT DROP ANY CONTEXT TOuser_name
; GRANT DROP ANY OPERATOR TOuser_name
; GRANT DROP ANY LIBRARY TOuser_name
; GRANT ALTER ANY LIBRARY TOuser_name
; GRANT CREATE ANY LIBRARY TOuser_name
; GRANT ALTER ANY MATERIALIZED VIEW TOuser_name
; GRANT ALTER ANY TRIGGER TOuser_name
; GRANT CREATE ANY SEQUENCE TOuser_name
; GRANT DROP ANY INDEX TOuser_name
; GRANT CREATE ANY INDEX TOuser_name
; GRANT DROP ANY TABLE TOuser_name
; GRANT SELECT_CATALOG_ROLE TOuser_name
; GRANT SELECT ANY SEQUENCE TOuser_name
; -- Database Links GRANT CREATE DATABASE LINK TOuser_name
; GRANT CREATE PUBLIC DATABASE LINK TOuser_name
; GRANT DROP PUBLIC DATABASE LINK TOuser_name
; -- Server Level Objects (directory) GRANT CREATE ANY DIRECTORY TOuser_name
; GRANT DROP ANY DIRECTORY TOuser_name
; -- (for RDS only) GRANT EXECUTE ON RDSADMIN.RDSADMIN_UTIL TOuser_name
; -- Server Level Objects (tablespace) GRANT CREATE TABLESPACE TOuser_name
; GRANT DROP TABLESPACE TOuser_name
; -- Server Level Objects (user roles) /* (grant source privileges with admin option or convert roles/privs as DBA) */ -- Queues grant execute on DBMS_AQADM touser_name
; grant aq_administrator_role touser_name
; -- for Materialized View Logs creation GRANT SELECT ANY TABLE TOuser_name
; -- Roles GRANT RESOURCE TOuser_name
; GRANT CONNECT TOuser_name
;
En el ejemplo anterior, sustituya user_name
por el nombre de su usuario. A continuación, sustituya your_password
con una contraseña segura.
Limitaciones a la hora de convertir Oracle a Amazon RDS for Oracle
Algunas limitaciones que debe tener en cuenta al migrar el esquema y el código de Oracle a Amazon RDS for Oracle:
Un rol predefinido en AmazonRDS, llamadoDBA, normalmente permite todos los privilegios administrativos en un motor de base de datos Oracle. Los siguientes privilegios no están disponibles para el DBA rol en una RDS instancia de base de datos de Amazon que utilice 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 un rol de RDS usuario de Oracle.
-
-
Amazon RDS for Oracle admite la auditoría tradicional, la auditoría detallada mediante el FGA paquete DBMS _ y la auditoría unificada de Oracle.
-
Amazon RDS for Oracle no admite la captura de datos de cambios (CDC). Para hacerlo CDC durante y después de la migración de una base de datos, utilice AWS Database Migration Service.