Amazon RDS: capacidades de Oracle

Oracle es una base de datos relacional muy popular que está disponible en Amazon RDS junto con características de la edición empresarial. Casi todas las funciones de Oracle se pueden utilizar en la plataforma RDS. A continuación se muestra una breve descripción de las principales funciones de MYSQL en la plataforma RDS.

Versiones compatibles

Las versiones 11.2 y 12.1 son las versiones principales admitidas por la plataforma RDS. Si no se menciona ninguna versión durante la creación de la base de datos, la versión predeterminada es la más reciente en ese momento. A continuación, se muestra un ejemplo de cómo obtener versiones compatibles de DB Engine mediante las API de AWS en el SDK de Python.

import boto3
client = boto3.client('rds')
response = client.describe_db_engine_versions(
    DBParameterGroupFamily='oracle-ee-12.1',
    DefaultOnly=True,
    Engine="",
    EngineVersion='',
    ListSupportedCharacterSets=False, #True,
)
print(response)

Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:


{
   "ResponseMetadata": {
      "RetryAttempts": 0,
      "HTTPStatusCode": 200,
      "RequestId": "f6805635-3e16-4014-83cd-dfdaf3f17950",
      "HTTPHeaders": {
         "x-amzn-requestid": "f6805635-3e16-4014-83cd-dfdaf3f17950",
         "date": "Fri, 14 Sep 2018 03:46:38 GMT",
         "content-length": "1455",
         "content-type": "text/xml"
      }
   },
   "u'DBEngineVersions'": [
      {
         "u'Engine'": "oracle-ee",
         "u'DBParameterGroupFamily'": "oracle-ee-12.1",
         "u'SupportsLogExportsToCloudwatchLogs'": true,
         "u'SupportsReadReplica'": false,
         "u'DefaultCharacterSet'": {
            "u'CharacterSetName'": "AL32UTF8",
            "u'CharacterSetDescription'": "Unicode 5.0 UTF-8 Universal character set"
         },
         "u'DBEngineDescription'": "Oracle Database Enterprise Edition",
         "u'EngineVersion'": "12.1.0.2.v12",
         "u'DBEngineVersionDescription'": "Oracle 12.1.0.2.v12",
         "u'ExportableLogTypes'": [
            "alert",
            "audit",
            "listener",
            "trace"
         ],
         "u'ValidUpgradeTarget'": []
      }
   ]
}

Licencias de Oracle

Hay dos opciones para usar licencias de Oracle en RDS. Están incluidos en la licencia y llevan su propia licencia.

Modelo de licencia

En este modelo, Amazon tiene licencia para el software que pretende utilizar. Además, la propia AWS proporciona soporte para el software de AWS y Oracle a través de su programa de soporte. Por tanto, el usuario no compra una licencia por separado. El precio de la plataforma incluye una tarifa de licencia que paga el usuario. Este modelo admite dos ediciones: Standard Edition One y Standard Edition Two.

Traiga su propia licencia (BYOL)

En este modelo, el usuario ingresa la licencia que posee en la plataforma RDS. El usuario es responsable de mantener la compatibilidad entre la licencia, la clase de la instancia de la base de datos y la edición de la base de datos. Si es necesario, el usuario se comunica directamente con los servicios de soporte de Oracle. Este modelo es compatible con Enterprise Edition (EE), Standard Edition (SE), Standard Edition One (SE1) y Standard Edition Two (SE2).

Para una implementación Multi-AZ, un usuario debe tener licencia para instancias de base de datos primarias y secundarias.

Grupo de parámetros de base de datos de Oracle

La base de datos de Oracle incluye muchos parámetros de la base de datos que deben ajustarse para las diferentes características y requisitos de rendimiento de la base de datos. Aws hace que estos parámetros sean visibles mediante comandos de la CLI que el usuario puede usar para solicitar valores de parámetros. A continuación se muestra el comando CLI y la salida de muestra.

aws rds describe-engine-default-parameters --db-parameter-group-family oracle-ee-12.1

A continuación se muestran algunos parámetros importantes obtenidos del comando CLI anterior.

{
    "EngineDefaults": {
        "Parameters": [
            {
                "AllowedValues": "TRUE,FALSE",
                "ParameterName": "_allow_level_without_connect_by",
                "ApplyType": "dynamic",
                "Description": "_allow_level_without_connect_by",
                "IsModifiable": true,
                "Source": "engine-default",
                "DataType": "boolean"
            },
            {
                "AllowedValues": "CHOOSE,OFF,CUBE,NESTED_LOOPS,MERGE,HASH",
                "ParameterName": "_always_semi_join",
                "ApplyType": "dynamic",
                "Description": "_always_semi_join",
                "IsModifiable": true,
                "Source": "engine-default",
                "DataType": "string"
            },
            {
                "AllowedValues": "TRUE,FALSE",
                "ParameterName": "_b_tree_bitmap_plans",
                "ApplyType": "dynamic",
                "Description": "_b_tree_bitmap_plans",
                "IsModifiable": true,
                "Source": "engine-default",
                "DataType": "boolean"
            },
    {
                "AllowedValues": "TRUE,FALSE",
                "ParameterName": "parallel_automatic_tuning",
                "ApplyType": "static",
                "Description": "enable intelligent defaults for parallel execution parameters",
                "IsModifiable": true,
                "Source": "engine-default",
                "DataType": "boolean"
            },
            {
                "AllowedValues": "ENABLE,DISABLE",
                "ParameterName": "xml_db_events",
                "ApplyType": "dynamic",
                "Description": "are XML DB events enabled",
                "IsModifiable": false,
                "Source": "engine-default",
                "DataType": "string"
            }
        ]
    }
}

🚫