Oracle Cloud Gen 2 : (2) Système de base de données, Autonomous Database

Voici le second article sur la série concernant l’utilisation d’Oracle Cloud Gen 2, particulièrement avec un compte d’essai de 30 jours. Après avoir introduit le sujet et partagé les premiers pas, nous allons entrer dans le vif du sujet avec la création d’une base de données, de type « Autonomous » ou classique, suivi par les articles concernant l’utilisation des outils lignes de commandes (SDK basé python) puis nous terminerons par le déploiement d’un système via Terraform.

 

Création du service Base de données

Il faut savoir que dans le Cloud Gen 2 pour DBaas,  vous avez trois choix :

 

Service « Autonomous Transaction Processing »

Commençons par le dernier, car, dans la mouvance de la campagne de communication très forte sur le sujet depuis son dernier Open World, Oracle propose avec vos « cloud credit » d’essai, de pouvoir provisionner une base autonome, qu’elle soit de type transactionnelle (TP) ou datawarehouse (DW), et cela sans avoir besoin de provisionner d’autres ressources, tous les éléments nécessaires étant créés de manière transparente.

Voici la démarche pour le service ATP (Autonomous Transaction Processing »).
Le formulaire contient peu de champs, avec seulement six questions, et ils sont très parlant :

  • COMPARTIMENT : pour le compartiment particulier auquel va être attaché la ressource (pour un test, le compartiment « root » est parfait)
  • DISPLAY NAME : le nom d’affichage de la base de données
  • DATABASE NAME : le nom de la base de données
  • CPU CORE COUNT : le nombre de cores associé à cette base (limité pour la connexion d’essai)
  • STORAGE : La capacité de stockage associée en Tera Octet
  • PASSWORD/CONFIRM PASSWORD : le mot de passe associé au compte d’administration.

Attention,la politique des mots de passe est dans ce cas d’un niveau de sécurité élevé puisqu’il vous faut entrer entre 12 et 30 caractères, avec un caractère en majuscule, 1 en minuscule, 1 chiffre et ne doit pas contenir la chaine « admin » :

Il reste ensuite à choisir le type de licence : soit l’utilisation d’une licence que vous possédez déjà, soit en incluant la licence dans la location du service. C’est bien sur ce deuxième choix que nous prendrons dans le cadre d’un essai.

Le provisionnement, après avoir cliqué sur le bouton « Create Autonomous Transaction Processing Database » est de l’ordre de cinq minutes avant d’avoir la ressource disponible :

Pour la connexion à cette base, le plus simple est d’utiliser SQLdeveloper (version >= 18 ).
Il faut au préalable télécharger le portefeuille (Wallet) comprenant les informations de connexion.
Il contient, entre autres, la définition de connexion pour plusieurs services, chacun avec un niveau de priorité différent : les groupes de ressources définis dans la base sont catégorisés en haut (HIGH), moyen (MEDIUM), bas (LOW), critique (TPURGENT) et dédié transactionel (TP).
Il vous faut, pour cela, cliquer sur « DOWNLOAD » depuis l’écran de « connexion » accessible via le bouton « DB Connections » :

et entrer le mot de passe qui sera utilisé pour crypter le portefeuille.

Pour créer la connexion, rien de plus simple avec « SQL Developper ». Une fois que vous avez téléchargé le Wallet, il faut prendre comme type de connexion « Portefeuille Cloud » et aller chercher le fichier de Wallet (fichier toujours « zippé ») à l’endroit où vous l’avez déposé. Ensuite, vous sélectionnez le niveau de service via la liste des services qui va vous être proposé et vous êtes connecté :

Pour plus de détails : voir la chaîne de Maria Colgan et particulièrement cette vidéo :
Connecting to an Autonomous Transaction Processing database via SQLDeveloper
Pour une connexion avec un client lourd Oracle, le fichier « wallet.zip » contient la définition des alias des services à mettre dans le fichier tnsnames.ora de type :

DBTPTEST_high = (description=(address=(protocol=tcps)(port=1522)(host=adb.eu-frankfurt-1.oraclecloud.com))(connect_data=(service_name=a0wer55a85ido6t_dbtptest
o_high.atpc.oraclecloud.com))(security=(ssl_server_cert_dn="CN=atpc.eucom-central-1.oraclecloud.com,OU=Oracle BMCS FRANKFURT,O=OracleCorporation,L=Redwood City,ST=California,C=US")))

Le certificat SSL est lui aussi présent dans le fichier « wallet.zip ».

L’accès à la console au travers votre connexion « admin » vous permet trois choix :

    • Tableau de bord général (Overview)
      La synthèse des informations sur votre base de données : Espace occupé / allocation, Utilisation CPU, temps moyen d’exécution des requêtes, requêtes SQL en cours, nombre de requêtes par seconde. En voici une vision (non pertinente, car sans activité réelle) :

    • Activité (Activity) : Graphiques plus détaillés relatifs aux classes d’attentes (CPU, réseau, IO ou autres), à la consommation CPU par niveau de service, au nombre de requêtes par service, et au nombre de requêtes en attente par service :


L’option « Monitored SQL » de ce menu va permettre de réaliser la surveillance des requêtes (vision de V$SQLMONITOR) et de réaliser un focus sur une requête particulière, jusqu’à pouvoir décider de terminer son exécution si celle-ci est trop impactante pour le reste du système.

    • Administration : Téléchargement du portefeuille des clés, modification des règles de priorisation des groupes, changement du mot de passe d’administration, définition d’utilisateurs pour les fonctionnalités de Machine Learning (ces fonctionnalités méritent un approfondissement à elles seules et si cela vous intéresse un premier contact peut se faire au travers de l’article de blog d’Arup Nanda ici, téléchargement du client léger , ou envoi de retour vers l’éditeur :

Vous avez tout ce qu’il vous faut pour vous faire la main, Oracle fournit un ensemble de tutoriaux très intéressants à suivre. N’hésitez pas et prenez vous un peu de temps pour les suivre.

 

Service « Autonomous Data Warehouse »

Pour ce service, le principe et les écrans sont complètement similaires, ce qui change :

  • Le moteur d’Intelligence Artificielle (IA) qui ne va pas avoir les mêmes objectifs pour le traitement des gros volumes
  • La possibilité d’interfacer des outils spécifiques comme « Oracle Data Virtualization Desktop » qui possède une méthode de connexion vers le service « Autonomous Data Warehouse » et dont la fonctionnalité principale est de générer facilement des graphiques intelligents sur les données dans la base (tableaux croisés dynamiques), l’usage est directement associé au Service Cloud :

 

Service « DBSystem »

Si vous souhaitez tester l’accès à une base de données dans le Cloud Oracle, il vous reste le choix « DBSystem » :
Le menu montre : « Bare Metal », « VM » et « Exadata », pas d’illusion à avoir, avec votre essai vous ne pourrez que provisionner un système virtuel, pas de possibilité d’avoir du matériel dédié pour vous et encore moins un Exadata (ni même 1/8).

A ce moment là, ce n’est pas si simple, contrairement au Cloud Oracle dans sa version « Classic », avant de pouvoir lancer la création d’un « DBsystem » en cliquant sur le bouton « Launch DB System », il existe des étapes nécessaires et obligatoires, sans elles, pas de possibilité de déclencher la création du service.

 

1) Construction de votre réseau virtuel

Il vous faut d’abord configurer un réseau dans votre tenant constitué de :

  • Un réseau virtuel (VCN) principal
  • Un sous-réseau associé à ce réseau virtuel
  • Une passerelle vers internet (Internet Gateway)
  • Une ou plusieurs tables de routage pour votre réseau et son sous-réseau
  • Une ou plusieurs listes de sécurité pour votre réseau et son sous-réseau
  • Positionner les options de résolutions de noms sur ce réseau

Cela peut paraître complexe, surtout si vous n’avez pas l’habitude de gérer ces éléments, mais nous allons voir qu’un nombre important d’actions peuvent être faites pour vous.
Pour cela, une fois que vous êtes connecté à votre tenant, le plus simple est d’utiliser le « Quick Launch » / « Create a Virtual Cloud Network » depuis la page d’accueil :

L’autre méthode est de passer par le menu, section « Networking » / « Virtual Cloud Networks », puis de cliquer sur le bouton « Create Virtual Cloud Network »


Dans les deux cas, on se retrouve avec le même formulaire à remplir.
Dans la partie haute, choisissez le compartiment dans lequel vous allez créer ce réseau, dans un environnement de test, le compartiment racine (root) associé à votre tenant fera l’usage.
Vous donnez un nom à votre réseau , ici « VCNELE01 » et vous sélectionnez le bouton radio « CREATE VIRTUAL CLOUD NETWORK PLUS RELATED RESOURCES« . C’est grâce à cette option que l’ensemble des éléments nécessaires sera créé pour vous, c’est un avantage certain. Par contre, comme inconvénient, vous n’avez pas de choix de personnalisation : les plages d’adresses de votre réseau et des sous-réseaux sont déterminées pour vous : CIDR 10.0.0.0/16 (65 535 adresses possibles comprises entre 10.0.0.1 et 10.0.255.255), le label DNS à associer au nom de domaine est le nom du réseau.

La seconde partie du formulaire ne vous donne d’autre choix que d’afficher ou non, après la création, les détails des éléments.
Elle liste les éléments qui vont être créés et leurs caractéristiques : Nom de la passerelle internet, paramètre positionné dans la table de routage, définition des trois sous-réseaux qui vont être créés dans les trois domaines disponibles pour votre tenant (Availability Domains – AD-1, AD-2, AD-3) avec les plages d’adresses IP associées à chacun des sous-réseaux.


Un clic sur le bouton « Create Virtual Cloud Network » déclenche un provisionnement rapide.


Les informations de suivi s’affichent, vous pouvez clore le formulaire via le bouton « Close », l’opération est terminée.
Vous disposez d’un réseau, de trois sous-réseaux, d’une passerelle internet et d’une table de routage par défaut.


Si vous cliquer sur l’hyper lien associé à votre nom de réseau, vous obtiendrez la liste des sous-réseaux et le compte de toutes les ressources associées :

 

2) Création de la base de données et de son serveur

Vous êtes maintenant prêt à créer votre service base de données en déclenchant la création du « DBsystem »
Launch DBsystem :

La première partie du formulaire demande les informations générales du système :

  • Nom d’affichage
  • Domaine de disponibilité dans le datacenter
  • Type de modèle (SHAPE TYPE), pour votre offre d’essai vous n’aurez de choix que pour le type « VIRTUAL MACHINE » et un modèle « V.Standard2.1 » avec un seul core processeur
  • Licence de la base de données entre STANDARD EDITION | ENTERPRISE EDITION | ENTERPRISE EDITION HIGH PERFORMANCE | ENTERPRISE EDITION EXTREME PERFORMANCE
  • Taille de la base de données – une taille minimale de 256 Go donnant un espace de stockage total de 712 Go.

Puis vous devez choisir le type de licence, le choix étant de conserver « License included » :

Ensuite vous choisissez ou vous copiez/collez la clé publique :

Subtilité par rapport au Cloud de première génération, il n’y a pas d’aide à la création de votre paire de clés dans le formulaire, il vous faut avoir créé vos clés de sécurité au préalable.

Champs suivants, les informations relatives au réseau (que vous avez créé en amont) :

  • Nom de votre réseau
  • Si besoin, nom du sous-réseau
  • Préfixe du nom du serveur
  • Nom de domaine si vous souhaitez en mettre un

Il vous reste enfin à donner les informations relatives à la base de données :

    • Nom de la base
    • Version (attention, ne seront conservées et disponibles que les versions maintenues par l’éditeur), la version la plus récente en date de la rédaction de cet article étant la 18.2 :

Entrez et confirmez le mot de passe d’administration (compte SYS et SYSTEM) de la base avec la règle indiquée :

 

  • Options de sauvegarde
  • Choix du type de charge (qui définira un paramétrage ou un autre des zones de mémoire)
  • Options avancées : le jeu de caractère utilisé pour la base (en standard et pour les champs N*)

 

Si toutes les conditions sont réunies, le dernier bouton du formulaire « Launch DBSystem » ne sera plus grisé et vous permettra de déclencher le provisionnement.
La durée de génération est plus importante que pour les services « Autonomous », il vous faudra patienter environ 1h30 avant d’avoir la disponibilité de la ressource.

 

3) Accès au DBSystem

Une fois le système provisionné, les informations relatives à celui-ci s’affichent :

Le port du listener est le port par défaut 1521, pour l’adresse IP publique, il faut regarder les informations spécifiques au « DBsystem » :

  • Pour une connexion SQLPLUS, il y a tous les éléments : adresse IP, port, nom du service
  • Pour une connexion SSH, depuis un serveur linux vers le compte « opc » (seul accessible) :
     $ ssh -i {fichier de clé privé de la paire générée}  opc@{adresse ip publique du système}

    ensuite, par la commande

    $ sudo su -

    On peut passer root et avoir la main complète sur le serveur.

De quoi configurer une sauvegarde RMAN vers « Object Storage », définir un serveur ou client NFS ou tout autre chose, c’est vous qui avez la main.

 

Le prochain épisode donnera les points clés pour gérer vos services au travers des API et plus particulièrement du langage Python.
D’ici là, bon Cloud et n’oubliez pas de surveiller vos crédits.

Gérez l’ensemble de vos bases de données Oracle grâce à l’autonomous database ! Envie d’approfondir vos compétences sur les licences Oracle ? Nous proposons des formations Oracle Database, de la version 12c à la 19c.