Amazon RDS - Oracle-Funktionen

Oracle ist eine sehr beliebte relationale Datenbank, die in den Amazon RDS-Diensten mit ihren Enterprise Edition-Funktionen verfügbar ist. Nahezu alle Funktionen von Oracle können in der RDS-Plattform genutzt werden. Im Folgenden finden Sie eine kurze Beschreibung der wichtigsten Funktionen von MYSQL in der RDS-Plattform.

Die Versionen 11.2 und 12.1 sind die Hauptversionen, die von der RDS-Plattform unterstützt werden. Wenn während der DB-Erstellung keine Version erwähnt wird, wird standardmäßig die aktuellste Version zu diesem Zeitpunkt verwendet. Im Folgenden finden Sie ein Beispiel für das Abrufen der unterstützten DB Engine-Versionen mithilfe der AWS-API in einem Python SDK-Programm.

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)

Wenn wir das obige Programm ausführen, erhalten wir die folgende Ausgabe:

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

Es gibt zwei Möglichkeiten, Oracle-Lizenzen in RDS zu verwenden. Sie sind inklusive Lizenz und bringen Ihre eigene Lizenz mit.

Lizenz enthaltenes Modell

In diesem Modell besitzt Amazon die Lizenz für die Software, die Sie verwenden werden. Auch AWS selbst bietet über sein Support-Programm Support für AWS- und Oracle-Software. Der Benutzer erwirbt also keine separate Lizenz. Die Plattformpreise enthalten die Gebühren für die Lizenzkosten, die der Benutzer zahlt. Die beiden in diesem Modell unterstützten Editionen sind Standard Edition One und Standard Edition Two.

Bringen Sie Ihre eigene Lizenz (BYOL) mit

In diesem Modell bringt der Benutzer die Lizenz, die er besitzt, in die RDS-Plattform ein. Es liegt in der Verantwortung des Benutzers, die Kompatibilität zwischen Lizenz, Datenbankinstanzklasse und Datenbankversion aufrechtzuerhalten. Der Benutzer wendet sich bei Bedarf direkt an den Oracle-Supportkanal. In diesem Modell werden die Editionen Enterprise Edition (EE), Standard Edition (SE), Standard Edition One (SE1) und Standard Edition Two (SE2) unterstützt.

Für eine Multi-AZ-Bereitstellung sollte der Benutzer über eine Lizenz sowohl für die primäre DB-Instanz als auch für die sekundäre DB-Instanz verfügen.

Die Oracle-Datenbank umfasst viele DB-Parameter, die für verschiedene Funktionen und Leistungsanforderungen der Datenbank konfiguriert werden müssen. Aws macht diese Parameter über CLI-Befehle sichtbar, mit denen der Benutzer die Parameterwerte abfragen kann. Unten finden Sie den CLI-Befehl und die Beispielausgabe.

aws rds describe-engine-default-parameters --db-parameter-group-family oracle-ee-12.1
Nachfolgend sind einige wichtige Parameter aufgeführt, die als Ergebnis des obigen CLI-Befehls erhalten wurden.
{
    "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"
            }
        ]
    }
}