Fonctionnalités Oracle Database dans Autonomous Database on Dedicated Exadata Infrastructure

Cet article fournit des informations sur l'utilisation des fonctionnalités et des options Oracle Database dans Autonomous Database on Dedicated Exadata Infrastructure.

Pour obtenir des informations équivalentes dans les déploiements Autonomous Database sans serveur, reportez-vous à Autonomous Database pour les utilisateurs de base de données expérimentés.

Vous pouvez provisionner une instance Autonomous Database avec Oracle Database 19c ou Oracle Database 23ai, en fonction de la version logicielle de base de données de sa base de données Conteneur Autonomous parent. Par exemple, pour créer une instance Autonomous Database avec Oracle Database 23ai, vous devez choisir une base de données Conteneur Autonomous dont la version logicielle de base de données Oracle est 23ai. Pour obtenir la liste complète des fonctionnalités de base de données prises en charge par chacune de ces versions de base de données, reportez-vous à Oracle Database 23ai ou à Oracle Database 19c sur Oracle Help Center.

Autonomous Database configure et optimise la base de données pour vous. Vous n'avez pas besoin d'effectuer d'opérations d'administration pour configurer la base de données. Les commandes SQL utilisées uniquement pour l'administration de la base de données ne sont pas disponibles dans ce service. De même, les autres interfaces et utilitaires d'administration tels que RMAN ne sont pas disponibles.

Voyons comment certaines des fonctionnalités clés de la base de données Oracle sont gérées dans une instance Autonomous Database :

  • Données et tablespaces temporaires : les données par défaut et les tablespaces temporaires de la base de données sont configurés automatiquement. Le nom du tablespace de données par défaut est DATA.
  • Jeu de caractères de base de données : le jeu de caractères de base de données est Unicode AL32UTF8.
  • Cryptage des données stockées : les données stockées sont cryptées à l'aide de l'algorithme AES256 (clé de cryptage Advanced Encryption Standard 256 bits.

    Remarques :

    Les instances Autonomous Database créées avant septembre 2021 utilisent l'algorithme AES128 par défaut.
    Si nécessaire, vous pouvez modifier l'algorithme de cryptage d'un tablespace à l'aide de la commande ALTER TABLESPACE. Par exemple, pour remplacer l'algorithme de cryptage du tablespace DATA par AES256, entrez la commande suivante :
    ALTER TABLESPACE data ENCRYPTION ONLINE USING 'AES256' REKEY;
  • Compression des données : pour les charges globales Autonomous Transaction Processing, la compression n'est pas activée par défaut. Pour les charges globales Autonomous Data Warehouse, la compression en colonnes hybride est activée par défaut pour toutes les tables.

    Afin d'activer ou de désactiver la compression, ou afin de spécifier différentes méthodes de compression pour les tables, utilisez la clause table_compression dans la commande CREATE TABLE ou ALTER TABLE.

  • Accès à la base de données : vous ne pouvez pas accéder directement au noeud de base de données ou au système de fichiers locaux, ni aux tablespaces SYSTEM et SYSAUX.
  • Exécution parallèle : par défaut, l'exécution parallèle (parallélisme au sein d'une instruction SQL) n'est pas activée pour les charges globales Autonomous Transaction Processing. Toutefois, pour les charges globales Autonomous Data Warehouse, l'exécution parallèle est activée par défaut, et le degré de parallèle des instructions SQL est défini en fonction du nombre d'UC dans le système et du service de base de données que vous utilisez lors de la connexion à la base de données.
    • Vous pouvez modifier le degré de parallélisme d'une table ou d'un index à l'aide de parallel_clause ou d'un conseil. Par exemple, vous pouvez désactiver le DML parallèle dans la session à l'aide de la commande SQL suivante :
      ALTER SESSION DISABLE PARALLEL DML;

      Pour plus d'informations sur les opérations DML parallèles, reportez-vous au guide sur la base de données et le partitionnement Oracle Database 19c ou au guide sur la base de données et le partitionnement Oracle Database 23ai.

    • Si vous créez un index manuellement et que vous spécifiez parallel_clause, l'attribut parallèle est créé. Dans ce cas, les instructions SQL peuvent être exécutées en parallèle à l'insu de l'utilisateur final. Définissez la valeur parallel_clause sur NOPARALLEL ou définissez l'attribut PARALLEL sur 1 pour indiquer l'exécution en série :
       ALTER INDEX index_name NOPARALLEL;

      ou

       ALTER INDEX index_name PARALLEL 1; 

Dernières fonctionnalités d'Autonomous Database

Autonomous Database inclut les dernières fonctionnalités Oracle Database.

Autonomous Database inclut des fonctionnalités qui offrent les capacités suivantes :

  • Automatiser les tâches de gestion des index, telles que la création, la recréation et la suppression d'index en fonction des modifications apportées à la charge globale de l'application. Pour plus d'informations, reportez-vous à Gestion des index automatiques dans le guide de l'administrateur Oracle Database 19c ou le guide de l'administrateur Oracle Database 23ai.

  • Collecter automatiquement des statistiques en temps réel pendant l'exécution d'une charge globale DML conventionnelle. Etant donné que les statistiques peuvent devenir obsolètes entre les travaux DBMS_STATS, la collecte de statistiques en ligne pour le DML conventionnel aide l'optimiseur à générer des plans plus adaptés. Les statistiques en ligne visent à réduire la possibilité que l'optimiseur soit induit en erreur par des statistiques obsolètes. Vous pouvez gérer les statistiques et y accéder pour le DML conventionnel via des packages PL/SQL, des vues de dictionnaire de données et des conseils. Pour plus d'informations, reportez-vous à Statistiques en temps réel dans le Guide de réglage SQL Oracle Database 19c ou le Guide de réglage SQL Oracle Database 23ai.

  • Collecter les statistiques automatiquement à plus grande fréquence. La collecte automatique de statistiques d'optimiseur à fréquence élevée complète le travail de collecte de statistiques standard. Par défaut, la collecte est réalisée toutes les 15 minutes, ce qui signifie que les statistiques ont moins de temps pour devenir obsolètes. Pour plus d'informations, reportez-vous à Configuration de la collecte automatique des statistiques d'optimiseur à fréquence élevée dans le guide de réglage SQL 19c Oracle Database ou le guide de réglage SQL Oracle Database 23ai.

  • Mettre en quarantaine les plans d'exécution des instructions SQL auxquelles le gestionnaire de ressources a mis fin en raison de leur consommation excessive de ressources système dans une base de données Oracle. Vous pouvez configurer les paramètres de quarantaine d'une instruction SQL en indiquant des limites sur sa consommation de ressources à l'aide des procédures du package DBMS_SQLQ. Lorsque l'instruction SQL franchit l'une de ces limites de consommation de ressources, elle prend fin et le plan d'exécution est mis en quarantaine. Ainsi, la base de données empêche l'exécution répétée d'instructions SQL trop gourmandes en ressources. Pour plus d'informations, reportez-vous à Mise en quarantaine pour les plans d'exécution d'instructions SQL consommant trop de ressources système dans le guide de l'administrateur Oracle Database 19c ou le guide de l'administrateur Oracle Database 23ai.

  • Optimiser les insertions monolignes à fréquence élevée pour les applications telles que les applications Internet of Things (IoT). Reportez-vous à Activation de la transmission en continu de données hautes performances avec la fonction Memoptimized Rowstore dans le guide de réglage des performances Oracle Database 19c ou le guide de réglage des performances Oracle Database 23ai.

Utilisateur ADMIN et utilisateur SYS

Dans Oracle Autonomous Database on Dedicated Exadata Infrastructure, l'administrateur prédéfini est ADMIN. Dans Oracle Database, l'administrateur prédéfini est SYS. Bien que ces deux utilisateurs remplissent la même fonction dans leurs bases de données respectives, ils restent différents et ne disposent pas du même ensemble de privilèges.

Etant donné que Oracle Autonomous Database on Dedicated Exadata Infrastructure impose des contrôles de sécurité et effectue des tâches d'administration de base de données pour vous, l'utilisateur ADMIN ne dispose pas d' autant de privilèges que l'utilisateur SYS. Voici la liste des privilèges dont dispose l'utilisateur ADMIN non, mais dont dispose l'utilisateur SYS dans une base de données Oracle Database :

ALTER LOCKDOWN PROFILE
BACKUP ANY TABLE
BECOME USER
CREATE ANY JOB
CREATE ANY LIBRARY
CREATE LIBRARY
CREATE LOCKDOWN PROFILE
CREATE PLUGGABLE DATABASE
DEQUEUE ANY QUEUE
DROP LOCKDOWN PROFILE
EM EXPRESS CONNECT
ENQUEUE ANY QUEUE
EXPORT FULL DATABASE
FLASHBACK ANY TABLE
FLASHBACK ARCHIVE ADMINISTER
GRANT ANY PRIVILEGE
GRANT ANY ROLE
IMPORT FULL DATABASE
INHERIT ANY PRIVILEGES
LOGMINING
MANAGE ANY FILE GROUP
MANAGE ANY QUEUE
MANAGE FILE GROUP
USE ANY JOB RESOURCE
USE ANY SQL TRANSLATION PROFILE

Tous les privilèges système avec le mot-clé ANY (tels que SELECT ANY TABLE, CREATE ANY PROCEDURE) respectent le verrouillage COMMON_SCHEMA_ACCESS. Un utilisateur ADMIN ne peut pas l'utiliser pour les schémas d'utilisateur commun.

Contrairement à la base de données Oracle sur site, où le mot-clé ANY s'applique à tous les utilisateurs, à l'exception de SYS, le privilège ANY ne fonctionne que pour les autres utilisateurs dans Autonomous Database.

Conseil :

Pour trouver la liste des utilisateurs communs, vous pouvez exécuter la requête suivante en tant qu'utilisateur ADMIN :
select username 
from dba_users 
where common ='YES' 
order by username;

Conseil :

Pour afficher la liste des privilèges pouvant être utilisés avec le mot-clé ANY, vous pouvez exécuter la requête suivante en tant qu'utilisateur ADMIN :
select distinct(privilege)
from dba_sys_privs 
where grantee like 'ADMIN' and privilege like '%ANY%' 
order by privilege;

Paramètres d'initialisation de la base de données

Autonomous Database configure automatiquement les paramètres d'initialisation de base de données lorsque vous provisionnez une base de données. Vous n'avez pas besoin de définir de paramètres d'initialisation pour commencer à utiliser votre service. Toutefois, vous pouvez modifier certains paramètres si nécessaire.

Liste des paramètres d'initialisation pouvant être modifiés

Remarques :

Cliquez sur un paramètre d'initialisation dans la liste suivante pour en savoir plus. Pour plus d'informations sur les paramètres sur lesquels vous ne pouvez pas cliquer ci-dessous, reportez-vous à Référence Oracle Database 19c ou à Référence Oracle Database 23ai.
ALLOW_ROWID_COLUMN_TYPE
APPROX_FOR_AGGREGATION
APPROX_FOR_COUNT_DISTINCT
APPROX_FOR_PERCENTILE
AWR_PDB_AUTOFLUSH_ENABLED
CONTAINER_DATA
CURRENT_SCHEMA (Session only by using ALTER SESSION)
CURSOR_SHARING
DB_BLOCK_CHECKING
DDL_LOCK_TIMEOUT
FIXED_DATE
GLOBAL_NAMES
HEAT_MAP
IGNORE_SESSION_SET_PARAM_ERRORS
INMEMORY_OPTIMIZED_ARITHMETIC (Allowed only with ALTER SYSTEM)
INMEMORY_QUERY (Allowed with ALTER SYSTEM and ALTER SESSION)
JOB_QUEUE_PROCESSES (You can only lower its value or bring it back to the original value)
LDAP_DIRECTORY_ACCESS
MAX_IDLE_TIME
NLS_CALENDAR
NLS_COMP
NLS_CURRENCY
NLS_DATE_FORMAT
NLS_DATE_LANGUAGE
NLS_DUAL_CURRENCY
NLS_ISO_CURRENCY
NLS_LANGUAGE
NLS_LENGTH_SEMANTICS
NLS_NCHAR_CONV_EXCP
NLS_NUMERIC_CHARACTERS
NLS_SORT
NLS_TERRITORY
NLS_TIME_FORMAT
NLS_TIME_TZ_FORMAT
NLS_TIMESTAMP_FORMAT
NLS_TIMESTAMP_TZ_FORMAT
OPEN_CURSORS (Allowed range of values are 1000 to 4000)
OPEN_LINKS (You must set SCOPE=SPFILE and restart the Autonomous Database after modifying this parameter)
OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES (Session only by using ALTER SESSION)
OPTIMIZER_IGNORE_HINTS
OPTIMIZER_IGNORE_PARALLEL_HINTS
OPTIMIZER_INMEMORY_AWARE (Allowed with ALTER SYSTEM and ALTER SESSION)
OPTIMIZER_MODE
PARALLEL_MIN_DEGREE
PARALLEL_DEGREE_LIMIT
PLSCOPE_SETTINGS
PLSQL_CCFLAGS
PLSQL_DEBUG
PLSQL_OPTIMIZE_LEVEL
PLSQL_WARNINGS
QUERY_REWRITE_INTEGRITY
RECYCLEBIN
RESULT_CACHE_MODE
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
SQL_TRACE (Allowed only with ALTER SESSION)
STATISTICS_LEVEL (Session only by using ALTER SESSION)
SYSDATE_AT_DBTIMEZONE Select a Time Zone for SYSDATE on Autonomous Database
TIME_ZONE
UNDO_RETENTION (min=300 and max=86400)

SYSDATE_AT_DBTIMEZONE Sélection d'un fuseau horaire pour SYSDATE sur Autonomous Database

SYSDATE_AT_DBTIMEZONE active un traitement spécial dans une session pour la valeur de date et d'heure renvoyée dans les appels vers SYSDATE et SYSTIMESTAMP.

En fonction de la valeur de SYSDATE_AT_DBTIMEZONE, vous pouvez voir la date et l'heure selon le fuseau horaire par défaut d'Autonomous Database, le temps universel coordonné (UTC), ou le fuseau horaire défini dans la base de données.

Propriété Description
Type de paramètre Booléen
Valeur par défaut FALSE
Modifiable ALTER SESSION, ALTER SYSTEM
Plage de valeurs TRUE | FALSE

Fuseau horaire d'Autonomous Database par défaut

Le fuseau horaire d'Autonomous Database par défaut est le temps universel coordonné (UTC). Par défaut, les appels vers SYSDATE et SYSTIMESTAMP renvoient la date et l'heure au format UTC.

Pour modifier le fuseau horaire de la base de données, vous pouvez exécuter l'instruction suivante. Cet exemple définit le fuseau horaire de la base de données sur UTC-5.

ALTER DATABASE SET TIME_ZONE='-05:00';

Remarques :

Vous devez redémarrer l'instance Autonomous Database pour que la modification soit appliquée.

Une fois que vous avez défini le fuseau horaire de la base de données, par défaut, SYSDATE et SYSTIMESTAMP continuent à renvoyer la date et l'heure au format UTC (SYSDATE_AT_DBTIMEZONE est défini sur FALSE par défaut). Si vous définissez SYSDATE_AT_DBTIMEZONE sur TRUE dans une session, SYSDATE et SYSTIMESTAMP renvoient le fuseau horaire de la base de données.

Pour plus d'informations sur l'utilisation de la clause SET TIME_ZONE avec ALTER DATABASE, reportez-vous à Définition du fuseau horaire de base de données dans Oracle Database 19c ou à Définition du fuseau horaire de base de données dans Oracle Database 23ai.

Utilisation de SYSDATE_AT_DBTIMEZONE dans une session

Lorsque SYSDATE_AT_DBTIMEZONE est défini sur FALSE dans une session, les appels vers SYSDATE et SYSTIMESTAMP renvoient des valeurs en fonction du fuseau horaire d'Autonomous Database par défaut, le temps universel coordonné (UTC).

Lorsque SYSDATE_AT_DBTIMEZONE est défini sur TRUE dans une session, les appels vers SYSDATE ou SYSTIMESTAMP renvoient la date et l'heure en fonction du fuseau horaire de la base de données.

Remarques :

La définition de SYSDATE_AT_DBTIMEZONE sur TRUE concerne uniquement l'utilisation de SYSDATE et de SYSTIMESTAMP en tant qu'opérateurs dans le code SQL d'application (par exemple, dans les requêtes, les opérations DML et CTAS). Lorsque vous utilisez ce paramètre, il est recommandé que le fuseau horaire du client/de la session corresponde au fuseau horaire de la base de données.

Exemple

L'exemple suivant renvoie les dates et heures pour deux fuseaux horaires différents, en fonction de la valeur du paramètre SYSDATE_AT_DBTIMEZONE :

SQL> SELECT DBTIMEZONE FROM DUAL;

DBTIMEZONE
_____________
-05:00

SQL> ALTER SESSION SET SYSDATE_AT_DBTIMEZONE=FALSE;

Session altered.

SQL> SELECT SYSTIMESTAMP FROM DUAL;

SYSTIMESTAMP
______________________________________
27-JAN-22 06.59.45.708082000 PM GMT

SQL> ALTER SESSION SET SYSDATE_AT_DBTIMEZONE=TRUE;

Session altered.

SQL> SELECT SYSTIMESTAMP FROM DUAL;

SYSTIMESTAMP
_________________________________________
27-JAN-22 02.14.47.578946000 PM -05:00 

Remarques :

Lorsqu'une requête SYSDATE ou SYSTIMESTAMP est exécutée dans la feuille de calcul SQL de Database Actions, la valeur d'heure et de date renvoyée est au format UTC (lorsque le paramètre SYSDATE_AT_DBTIMEZONE est défini sur TRUE ou FALSE). Pour obtenir le fuseau horaire de la base de données lors de l'utilisation de Database Actions, utilisez TO_CHAR() comme suit :

SQL> SELECT TO_CHAR(SYSTIMESTAMP,'YYYY-MM-DD"T"HH24:MI:SS TZH":"TZM') FROM DUAL;

TO_CHAR(SYSTIMESTAMP,'YYYY-MM-DD"T"HH24:MI:SSTZH":"TZM')
___________________________________________________________
2022-01-27T14:15:00 -05:00