Migrazione da Oracle Database ad Amazon RDS per Oracle con AWS Schema Conversion Tool - AWS Schema Conversion Tool

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Migrazione da Oracle Database ad Amazon RDS per Oracle con AWS Schema Conversion Tool

Alcuni aspetti da considerare durante la migrazione dello schema e del codice Oracle ad Amazon RDS for Oracle:

  • AWS SCT può aggiungere oggetti di directory all'albero degli oggetti. Gli oggetti directory sono strutture logiche che rappresentano ciascuna una directory fisica sul file system del server. È possibile utilizzare gli oggetti di directory con pacchetti come DBMS UTL _ LOBFILE, _, DBMS FILE _ _TRANSFER, l'DATAPUMPutilità e così via.

  • AWS SCT supporta la conversione di tablespace Oracle in un'istanza Amazon RDS for Oracle DB. Oracle memorizza i dati logicamente in spazi tabelle e fisicamente in file di dati associati allo spazio tabella corrispondente. In Oracle è possibile creare spazi tabella con i nomi dei file di dati. Amazon RDS supporta Oracle Managed Files (OMF) solo per file di dati, file di log e file di controllo. AWS SCT crea i file di dati necessari durante la conversione.

  • AWS SCT può convertire ruoli e privilegi a livello di server. Il motore di database Oracle utilizza la protezione basata sui ruoli. Un ruolo è una raccolta di privilegi che è possibile concedere o revocare a un utente. Un ruolo predefinito in AmazonRDS, chiamatoDBA, normalmente consente tutti i privilegi amministrativi su un motore di database Oracle. I seguenti privilegi non sono disponibili per il DBA ruolo su un'istanza Amazon RDS DB che utilizza il motore Oracle:

    • Alter di database

    • Alter system

    • Creazione di una directory

    • Concessione di qualsiasi privilegio

    • Concessione di qualsiasi ruolo

    • Creazione di un processo esterno

    Puoi concedere tutti gli altri privilegi a un ruolo utente Amazon RDS for Oracle, inclusi filtri avanzati e privilegi di colonna.

  • AWS SCT supporta la conversione dei job Oracle in job eseguibili su Amazon RDS for Oracle. La conversione presenta alcuni limiti, inclusi i seguenti:

    • I processi eseguibili non sono supportati.

    • I processi di pianificazione che utilizzano il tipo di ANYDATA dati come argomento non sono supportati.

  • Oracle Real Application Clusters (RAC) One Node è un'opzione di Oracle Database Enterprise Edition introdotta con Oracle Database 11g Release 2. Amazon RDS for Oracle non supporta RAC questa funzionalità. Per un'elevata disponibilità, usa Amazon RDS Multi-AZ.

    In una distribuzione Multi-AZ, Amazon effettua RDS automaticamente il provisioning e mantiene una replica sincrona in standby in una zona di disponibilità diversa. L'istanza database principale viene replicata in modo sincrono tra le zone di disponibilità in una replica di standby. Questa funzionalità fornisce ridondanza dei dati, elimina i blocchi I/O e riduce al minimo i picchi di latenza durante i backup di sistema.

  • Oracle Spatial fornisce uno SQL schema e funzioni che facilitano l'archiviazione, il recupero, l'aggiornamento e l'interrogazione di raccolte di dati spaziali in un database Oracle. Oracle Locator offre funzionalità tipicamente necessarie per supportare applicazioni basate su servizi Internet e wireless e soluzioni basate sui partner. GIS Oracle Locator è un sottoinsieme limitato di Oracle Spatial.

    Per utilizzare le funzionalità di Oracle Spatial e Oracle Locator, aggiungi l'SPATIALopzione o l'LOCATORopzione (che si esclude a vicenda) al gruppo di opzioni dell'istanza DB.

    Esistono alcuni prerequisiti per utilizzare Oracle Spatial e Oracle Locator su un'istanza Amazon RDS for Oracle DB:

    • L'istanza deve utilizzare la versione Oracle Enterprise Edition 12.1.0.2.v6 o successiva oppure 11.2.0.4.v10 o successiva.

    • L'istanza deve trovarsi all'interno di un cloud privato virtuale (). VPC

    • L'istanza deve avere la classe dell'istanza database che può supportare la funzionalità Oracle. Ad esempio, Oracle Spatial non è supportato per le classi di istanza database db.m1.small, db.t1.micro, db.t2.micro o db.t2.small. Per ulteriori informazioni, consulta Supporto della classe di istanze DB per Oracle.

    • L'istanza deve avere l'opzione Auto Minor Version Upgrade abilitata. Amazon RDS aggiorna la tua istanza DB alla versione più recente di Oracle in PSU caso di vulnerabilità di sicurezza con un CVSS punteggio superiore a 9 o altre vulnerabilità di sicurezza annunciate. Per ulteriori informazioni, consulta la pagina

      Impostazioni per le istanze Oracle DB.

    • Se l'istanza DB è la versione 11.2.0.4.v10 o successiva, è necessario installare l'opzione. XMLDB Per ulteriori informazioni, consulta la pagina

      XMLOracle DB.

    • È necessaria una licenza per Oracle Spatial rilasciata da Oracle. Per ulteriori informazioni, consulta Oracle Spatial and Graph nella documentazione Oracle.

  • Data Guard è incluso con Oracle Database Enterprise Edition. Per un'elevata disponibilità, utilizza la funzionalità Amazon RDS Multi-AZ.

    In una distribuzione Multi-AZ, Amazon effettua RDS automaticamente il provisioning e mantiene una replica sincrona in standby in una zona di disponibilità diversa. L'istanza database principale viene replicata in modo sincrono tra le zone di disponibilità in una replica di standby. Questa funzionalità fornisce ridondanza dei dati, elimina i blocchi I/O e riduce al minimo i picchi di latenza durante i backup di sistema.

  • AWS SCT supporta la conversione di SCHEDULER oggetti Oracle DBMS _ durante la migrazione ad Amazon RDS for Oracle. Il rapporto di AWS SCT valutazione indica se un oggetto di pianificazione può essere convertito. Per ulteriori informazioni sull'utilizzo degli oggetti di pianificazione con AmazonRDS, consulta la RDSdocumentazione di Amazon.

  • Per le conversioni da Oracle ad Amazon RDS for Oracle, è supportato DB Links. Un collegamento di database è un oggetto dello schema in un database che consente di accedere agli oggetti in un altro database. Non è necessario che gli altri database siano Oracle. Tuttavia, per accedere ai database diversi da Oracle, devi utilizzare gli Oracle Heterogeneous Services.

    Una volta creato un link al database, è possibile utilizzarlo nelle SQL istruzioni per fare riferimento a tabelle, viste e SQL oggetti PL/ nell'altro database. Per utilizzare un collegamento al database, aggiungilo alla tabella, alla vista o @dblink al nome dell'oggetto PL/SQL. È possibile interrogare una tabella o una vista nell'altro database con l'SELECTistruzione. Per ulteriori informazioni sull'utilizzo dei collegamenti di database Oracle, consulta la documentazione di Oracle .

    Per ulteriori informazioni sull'utilizzo dei collegamenti al database con AmazonRDS, consulta la RDSdocumentazione di Amazon.

  • Il rapporto di AWS SCT valutazione fornisce le metriche del server per la conversione. Questi parametri sull'istanza Oracle includono quanto segue:

    • Capacità di calcolo e di memoria dell'istanza database di destinazione.

    • Funzionalità Oracle non supportate come Real Application Clusters RDS che Amazon non supporta.

    • Caricamento di lettura e scrittura su disco

    • Throughput del disco totale medio

    • Informazioni sul server quali il nome del server, il sistema operativo, il nome host e il set di caratteri.

Privilegi RDS per Oracle come destinazione

Per migrare ad Amazon RDS for Oracle, crea un utente privilegiato del database. Puoi utilizzare il seguente esempio di codice.

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;

Nell'esempio precedente, sostituisci user_name con il nome del tuo utente. Quindi, sostituisci your_password con una password sicura.

Limitazioni nella conversione da Oracle ad Amazon RDS per Oracle

Alcune limitazioni da considerare durante la migrazione dello schema e del codice Oracle ad Amazon RDS for Oracle:

  • Un ruolo predefinito in AmazonRDS, chiamatoDBA, normalmente consente tutti i privilegi amministrativi su un motore di database Oracle. I seguenti privilegi non sono disponibili per il DBA ruolo su un'istanza Amazon RDS DB che utilizza il motore Oracle:

    • Alter di database

    • Alter system

    • Creazione di una directory

    • Concessione di qualsiasi privilegio

    • Concessione di qualsiasi ruolo

    • Creazione di un processo esterno

    Puoi concedere tutti gli altri privilegi a un ruolo RDS utente Oracle.

  • Amazon RDS for Oracle supporta il controllo tradizionale, l'audit dettagliato utilizzando il FGA pacchetto DBMS _ e Oracle Unified Auditing.

  • Amazon RDS for Oracle non supporta l'acquisizione dei dati di modifica (CDC). Per eseguire questa operazione CDC durante e dopo la migrazione del database, usa AWS Database Migration Service.