Fonctions d'Oracle Database dans le service de base de données autonome sur une infrastructure Exadata dédiée
Cet article fournit des informations sur l'utilisation des fonctions et options d'Oracle Database dans Autonomous Database sur une infrastructure Exadata dédiée.
Pour des informations équivalentes dans les déploiements Autonomous Database sans serveur, voir Autonomous Database pour les utilisateurs de base de données expérimentés.
Vous pouvez provisionner une base de données Autonomous Database avec Oracle Database 19c ou Oracle Database 23ai, selon la version du logiciel de base de données de sa base de données conteneur autonome parent. Par exemple, pour créer une base de données Autonomous Database avec Oracle Database 23ai, vous devez choisir une base de données conteneur autonome dont la version du logiciel de base de données Oracle est 23ai. Pour obtenir une liste complète des fonctions de base de données prises en charge par chacune de ces versions, voir Oracle Database 23ai ou Oracle Database 19c sur Oracle Help Center.
Le service de base de données autonome configure et optimise votre base de données. Vous n'avez pas à effectuer les opérations d'administration liées à la configuration de 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. Les autres interfaces et utilitaires d'administration tels que RMAN
ne sont pas non plus disponibles.
Voyons comment certaines des principales caractéristiques de la base de données Oracle sont-elles traitées dans une base de données Autonomous Database :
- Données et espaces-table temporaires : Les données et les espaces-table temporaires de la base de données sont configurés automatiquement. Le nom de l'espace-table de données par défaut est DATA.
- Jeu de données : Le jeu de données est Unicode AL32UTF8.
- Chiffrage des données stockées : Les données stockées sont chiffrées à l'aide de l'algorithme AES256 (clé de chiffrement Advanced Encryption Standard à 256 bits).
Note :
Les bases de données Autonomous Database créées avant septembre 2021 utilisent l'algorithme AES128 par défaut.Si nécessaire, vous pouvez modifier l'algorithme de chiffrement d'un espace tables à l'aide de la commandeALTER TABLESPACE
. Par exemple, pour remplacer l'algorithme de chiffrement de l'espace-table DATA par AES256, entrez :ALTER TABLESPACE data ENCRYPTION ONLINE USING 'AES256' REKEY;
- Compression des données : Pour les charges de travail de base de données Autonomous Transaction Processing, la compression n'est pas activée par défaut. Pour les charges de travail Autonomous Data Warehouse, la compression colonne hybride est activée par défaut pour toutes les tables.
Pour activer ou désactiver la compression ou spécifier des méthodes de compression différentes pour vos tables, utilisez la clause
table_compression
dans la commandeCREATE TABLE
ouALTER TABLE
. - Accès à la base de données : Vous n'avez pas d'accès direct au noeud de base de données ni au système de fichiers local, ni aux espaces-table SYSTEM et SYSAUX.
- Exécution en parallèle : Par défaut, l'exécution en parallèle (parallelisme dans un énoncé SQL) n'est pas activée pour les charges de travail de base de données Autonomous Transaction Processing. Toutefois, pour les charges de travail de base de données Autonomous Data Warehouse, l'exécution en parallèle est activée par défaut et le degré de parallèle des énoncés SQL est défini en fonction du nombre d'UC du système et du service de base de données utilisé 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 indicateur (hint). Par exemple, vous pouvez désactiver le mode LMD parallèle dans votre session à l'aide de la commande SQL suivante :ALTER SESSION DISABLE PARALLEL DML;
Voir le Guide sur les VLDB et le partitionnement dans Oracle Database 19c ou le Guide sur les VLDB et le partitionnement dans Oracle Database 23ai pour plus d'informations sur les opérations en mode LMD parallèle.
- Si vous créez un index manuellement et que vous spécifiez parallel_clause, l'attribut parallèle demeure après la création de l'index. Dans ce cas, les énoncés SQL peuvent être exécutés en parallèle sans que l'utilisateur le sache. Réglez la valeur parallel_clause à NOPARALLEL ou réglez l'attribut PARALLEL à 1 pour spécifier l'exécution en série :
ALTER INDEX index_name NOPARALLEL;
ou
ALTER INDEX index_name PARALLEL 1;
- Vous pouvez modifier le degré de parallélisme d'une table ou d'un index à l'aide de
Dernières fonctionnalités du service de base de données autonome
Le service de base de données autonome comprend les dernières fonctionnalités d'Oracle Database.
Le service de base de données autonome comprend des fonctions permettant d'effectuer les opérations suivantes :
-
Automatiser les tâches de gestion des index, telles que la création, la reconstruction et la suppression d'index en fonction des modifications de la charge de travail de l'application. Pour plus d'informations, voir Gérer les index automatiques dans le Guide de l'administrateur d'Oracle Database 19c ou le Guide de l'administrateur d'Oracle Database 23ai.
-
Collecter automatiquement des statistiques en temps réel pendant l'exécution d'une charge de travail LMD classique. Comme les statistiques peuvent devenir obsolètes entre deux tâches
DBMS_STATS
, la collecte de statistiques en ligne pour les charges de travail LMD classiques aide l'optimiseur à générer des plans optimaux. Les statistiques en ligne visent à éviter que l'optimiseur soit induit en erreur par des statistiques obsolètes. Vous pouvez accéder aux statistiques relatives aux charges de travail LMD classiques et les gérer à l'aide d'ensembles PL/SQL, de vues du dictionnaire de données et d'indicateurs. See Real-Time Statistics in Oracle Database 19c SQL Tuning Guide or Oracle Database 23ai SQL Tuning Guide for more information. -
Collecter automatiquement des statistiques plus fréquentes. La collecte automatique de statistiques de l'optimiseur haute fréquence complète la tâche de collecte de statistiques standard. Par défaut, la collecte a lieu toutes les 15 minutes, ce qui signifie que les statistiques ont moins de temps pour devenir obsolètes. Pour plus d'informations, voir Configuration de la collecte automatique de statistiques de l'optimiseur automatique haute fréquence dans le guide de réglage SQL pour Oracle Database 19c ou le guide de réglage SQL pour Oracle Database 23ai.
-
Mettre en quarantaine les plans d'exécution d'énoncés SQL arrêtés par le gestionnaire de ressources en raison d'une consommation excessive de ressources système dans une base de données Oracle. Vous pouvez configurer les paramètres de mise en quarantaine d'un énoncé SQL en spécifiant des limites de consommation de ressources à l'aide des procédures de l'ensemble
DBMS_SQLQ
. Lorsque l'énoncé SQL dépasse l'une de ces limites de consommation de ressources, il 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'énoncés SQL qui consomment des ressources excessives. Pour plus d'informations, voir Mettre en place des plans d'exécution d'énoncés SQL qui utilisent des ressources système excessives dans le Guide de l'administrateur d'Oracle Database 19c ou le Guide de l'administrateur d'Oracle Database 23ai. - Optimiser les insertions de rangées unique haute fréquence pour les applications telles que les applications de l'Internet des objets. Voir Activation de la diffusion de données haute performance à l'aide de Memoptimized Rowstore dans le guide de réglage de la performance d'Oracle Database 19c ou le guide de réglage de la performance d'Oracle Database 23ai.
Utilisateurs ADMIN et 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 aient la même fonction dans leurs bases de données respectives, ils ne sont pas identiques et ne possèdent pas le même jeu de privilèges.
Comme 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, l'utilisateur ADMIN n'a pas autant de privilèges que l'utilisateur SYS. Voici la liste des privilèges dont l'utilisateur ADMIN ne dispose pas, mais dont dispose l'utilisateur SYS dans 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 de système avec le mot clé ANY (par exemple SELECT ANY TABLE
, CREATE ANY PROCEDURE
) respectent le verrouillage COMMON_SCHEMA_ACCESS
et un utilisateur ADMIN ne peut pas l'utiliser avec les schémas d'utilisateurs communs.
Contrairement à la base de données Oracle sur place, où le mot clé ANY s'applique à tous les utilisateurs à l'exception de SYS, le privilège ANY ne fonctionne que pour les utilisateurs non communs dans Autonomous Database.
Conseil :
Pour rechercher une liste d'utilisateurs communs, vous pouvez exécuter l'interrogation 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 l'interrogation 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 base de données
Le service de base de données autonome configure automatiquement les paramètres d'initialisation de base de données lorsque vous provisionnez une base de données. Il n'est pas nécessaire de définir des paramètres d'initialisation pour pouvoir commencer à utiliser votre service. Toutefois, vous pouvez modifier certains paramètres, si nécessaire.
Liste des paramètres d'initialisation pouvant être modifiés
Note :
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, voir Informations de référence sur 19c pour Oracle Database ou Informations de référence sur 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électionner un fuseau horaire pour SYSDATE sur Autonomous Database
SYSDATE_AT_DBTIMEZONE
permet un traitement spécial dans une session pour la valeur de date et d'heure retournée dans les appels à SYSDATE
et SYSTIMESTAMP
.
Selon la valeur de SYSDATE_AT_DBTIMEZONE
, vous voyez la date et l'heure en fonction du fuseau horaire par défaut pour Autonomous Database, du temps universel coordonné (UTC) ou en fonction du fuseau horaire que vous avez défini dans votre base de données.
Propriété | Description |
---|---|
Type de paramètre | Booléen |
Valeur par défaut | FALSE |
Modifiable | ALTER SESSION , ALTER SYSTEM |
Intervalle de valeurs | TRUE | FALSE |
Fuseau horaire par défaut de la base de données autonome
Le fuseau horaire par défaut de la base de données autonome est celui du temps universel coordonné. Par défaut, les appels à SYSDATE
et SYSTIMESTAMP
retournent la date et l'heure en temps universel coordonné.
Pour modifier le fuseau horaire de la base de données, vous pouvez exécuter l'énoncé suivant. Cet exemple règle le fuseau horaire de la base de données à UTC-5
.
ALTER DATABASE SET TIME_ZONE='-05:00';
Note :
Vous devez redémarrer l'instance Autonomous Database pour que la modification entre en vigueur.Après avoir défini le fuseau horaire de la base de données, par défaut SYSDATE
et SYSTIMESTAMP
continuent de retourner la date et l'heure en UTC (SYSDATE_AT_DBTIMEZONE
est réglé à FALSE
par défaut). Si vous réglez SYSDATE_AT_DBTIMEZONE
à TRUE
dans une session, SYSDATE
et SYSTIMESTAMP
retournent le fuseau horaire de la base de données.
Voir Définition du fuseau horaire de la base de données dans Oracle Database 19c ou Définition du fuseau horaire de la base de données dans Oracle Database 23ai pour plus d'informations sur l'utilisation de la clause SET TIME_ZONE
avec ALTER DATABASE
.
Utilisation de SYSDATE_AT_DBTIMEZONE dans une session
Lorsque SYSDATE_AT_DBTIMEZONE
est réglé à FALSE
dans une session, les appels à SYSDATE
et à SYSTIMESTAMP
retournent des valeurs basées sur le fuseau horaire par défaut de la base de données autonome (UTC).
Lorsque SYSDATE_AT_DBTIMEZONE
est réglé à TRUE
dans une session, les appels à SYSDATE
ou SYSTIMESTAMP
retournent la date et l'heure en fonction du fuseau horaire de la base de données.
Note :
Le réglage deSYSDATE_AT_DBTIMEZONE
à TRUE
affecte uniquement l'utilisation de SYSDATE
et de SYSTIMESTAMP
en tant qu'opérateurs dans le code SQL de l'application (par exemple, dans les interrogations et les opérations DML et CTAS). Lorsque vous utilisez ce paramètre, il est recommandé que votre fuseau horaire client/session corresponde à celui de votre base de données.
Exemple
L'exemple suivant retourne des dates et des 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
Note :
Lorsqu'une interrogation SYSDATE
ou SYSTIMESTAMP
est exécutée dans la feuille de calcul SQL de Database Actions, la valeur d'heure et de date retournée est en UTC (lorsque le paramètre SYSDATE_AT_DBTIMEZONE
est réglé à 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