Amazon RDS - Fonctionnalités d'Oracle

Oracle est une base de données relationnelle très populaire qui est disponible dans les services amazon RDS avec ses fonctionnalités d'édition d'entreprise. Presque toutes les fonctionnalités d'Oracle peuvent être exploitées dans la plate-forme RDS. Vous trouverez ci-dessous une brève description des principales fonctionnalités de MYSQL dans la plate-forme RDS.

Les versions 11.2 et 12.1 sont les principales versions prises en charge dans la plate-forme RDS. Si aucune version n'est mentionnée lors de la création de la base de données, elle utilise par défaut la version la plus récente à ce moment-là. Vous trouverez ci-dessous un exemple de la façon d'obtenir les versions de DB Engine prises en charge à l'aide de l'API AWS dans un programme 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)

Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -

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

Il existe deux options pour utiliser les licences oracle dans RDS. Ils sont la licence incluse et apportez votre propre licence.

Modèle inclus avec licence

Dans ce modèle, Amazon détient la licence du logiciel que vous allez utiliser. AWS lui-même fournit également la prise en charge des logiciels AWS et Oracle via son programme de support. Ainsi, l'utilisateur n'achète aucune licence distincte. Le prix de la plate-forme comprend les frais de licence que l'utilisateur paie. Les deux éditions prises en charge dans ce modèle sont Standard Edition One et Standard Edition Two.

Apportez votre propre licence (BYOL)

Dans ce modèle, l'utilisateur introduit la licence qu'elle détient dans la plate-forme RDS. Il est de la responsabilité de l'utilisateur de maintenir la compatibilité entre la licence, la classe d'instance de base de données et l'édition de la base de données. L'utilisateur contacte directement le canal de support Oracle pour tout besoin. Dans ce modèle, les éditions prises en charge sont Enterprise Edition (EE), Standard Edition (SE), Standard Edition One (SE1) et Standard Edition Two (SE2).

Pour un déploiement multi AZ, l'utilisateur doit disposer d'une licence pour l'instance de base de données principale et l'instance de base de données secondaire.

La base de données oracle implique de nombreux paramètres de base de données à configurer pour diverses fonctionnalités et besoins de performances de la base de données. Aws rend ces paramètres visibles via les commandes CLI, que l'utilisateur peut utiliser pour interroger les valeurs des paramètres. Vous trouverez ci-dessous la commande CLI et l'exemple de sortie.

aws rds describe-engine-default-parameters --db-parameter-group-family oracle-ee-12.1
Voici les quelques paramètres importants obtenus à la suite de la commande CLI ci-dessus.
{
    "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"
            }
        ]
    }
}