Amazon RDS - Recursos do Oracle

Oracle é um banco de dados relacional muito popular que está disponível nos serviços RDS da amazon com seus recursos de edição empresarial. Quase todos os recursos do Oracle podem ser aproveitados na plataforma RDS. Abaixo está uma breve descrição dos principais recursos do MYSQL na plataforma RDS.

As versões 11.2 e 12.1 são as principais versões com suporte na plataforma RDS. Se nenhuma versão for mencionada durante a criação do banco de dados, o padrão será a versão mais recente naquele momento. Abaixo está um exemplo de como obter as versões do DB Engine com suporte usando AWS API em um programa SDK 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)

Quando executamos o programa acima, obtemos a seguinte saída -

{
   "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'": []
      }
   ]
}

Existem duas opções para usar licenças oracle em RDS. Eles são Licença Incluída e Traga Sua Própria Licença.

Licença Incluída Modelo

Neste modelo, a Amazon detém a licença do software que você vai usar. Além disso, a própria AWS fornece suporte para software AWS e Oracle por meio de seu programa de suporte. Portanto, o usuário não adquire nenhuma licença separada. O preço da plataforma inclui os encargos de licenciamento que o usuário paga. As duas edições com suporte neste modelo são Standard Edition One e Standard Edition Two.

Traga sua própria licença (BYOL)

Neste modelo, o usuário traz a licença que possui para a plataforma RDS. É responsabilidade do usuário manter a compatibilidade entre a licença, classe de instância do banco de dados e edição do banco de dados. O usuário contata diretamente o canal de suporte Oracle para qualquer necessidade. Neste modelo, as edições com suporte são Enterprise Edition (EE), Standard Edition (SE), Standard Edition One (SE1) e Standard Edition Two (SE2).

Para uma implantação multi AZ, o usuário deve ter licença para a instância de banco de dados primária e a instância de banco de dados secundária.

O banco de dados oracle envolve muitos parâmetros de banco de dados a serem configurados para vários recursos e necessidades de desempenho do banco de dados. Aws torna esses parâmetros visíveis por meio de comandos CLI, que o usuário pode usar para consultar os valores dos parâmetros. Abaixo está o comando CLI e a saída de amostra.

aws rds describe-engine-default-parameters --db-parameter-group-family oracle-ee-12.1
Abaixo estão alguns parâmetros importantes obtidos como resultado do comando CLI acima.
{
    "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"
            }
        ]
    }
}