devstory

La structure de base de données et les caractéristiques du Cloud dans le Oracle 12c

  1. Introduction
  2. 4 fonctionnalités exceptionnelles d'Oracle 12c
  3. La structure d'Oracle 12c
  4. Travailler avec Oracle via SQLPlus

1. Introduction

Dans ce document je vous présenterai la structure Oracle 12c et les avantages du Cloud (Cloud).

2. 4 fonctionnalités exceptionnelles d'Oracle 12c

L'Oracle Database 12c dispose 4 fortes compétences:
  • Premièrement, l'Oracle Database 12c peut consolider 252 bases de données( ils sont tous les produits de l'Oracle) dans une base de données à un conteneur multiple/ multitenant, autrement dit, un conteneur général (container database). Il optimise donc l'électrochimie et réduit le cout de l'investissement des matériels. Auparavant, un serveur qui installe au maximum 50 données, exige d'une mémoire de 20GB mais avec la nouvelle technologie de Database 12c, elle peut réduire de six fois moins de la capacité de mémoire.
  • Deuxièment, l'Oracle Database 12c propose une solution de gestion automatique du stockage optimisé. Cette nouvelle fonction de “grille de températures” ( Data Heat Map) d’Oracle Database 12c déplace automatiquement des données entre différents niveaux de stockage et de compression en conséquence. Ces statistiques sont mises à jour automatiquement, afin de permettre aux administrateurs de facilement mesurer la « température » d’une database et voir d’un coup d’œil comment elle évolue au cours du temps et à travers les dispositifs de stockage. (La solution d' Oracle serve à automatiser le déplacement des objets stockés les moins utilisés sur des supports moins onéreux et éviter de faire exploser les coûts de stockage).
  • Troisièmement, à côté sécurité, des mécanismes de masking dits Rédaction capacité (Redaction), permettent de protéger les données sensibles telles que les numéros de cartes de crédit affichés dans les applications. Les employés qui travaillent dans le Département des Ressources Humaines, peuvent les tout voir, mais le reste travaillant dans d'autre département ne voit que les quatres derniers numéros. Cette fonctionnalité avancée assure en toute sécurité le bon fonctionnement de l'entreprise quand elle consolide des database dans le Cloud.
  • Quatrièmement, l' Oracle Database 12c soutient des entreprises de trouver plus d'opportunités commerciales en exploitant la grande base de données (Big Data), y compris des données non structurées (par exemple: celles des réseaux sociaux) et des données ayant la structures normales.

3. La structure d'Oracle 12c

D'abord, il nous faut faire la comparaison entre la structure de l'Oracle 11g et celle de 12c.
La structure d'Oracle comprend:
  1. Le logiciel Oracle
  2. Et des bases de données
ORACLE 11G
Après d'avoir installé le logiciel Oracle Database 11g, vous pouvez créer une ou plusieurs données (Normalement, ca suffit de créer une seule donnée). Dans chaque donnée, vous pouvez composer un ou plusieurs SCHEMA, chaque SCHEMA est un système des tableaux et des objets comme la fonction (function),la procédure (procedure),le dossier (package),... La structure de l'Oracle 11g est décrite comme dans l'image dessous:
ORACLE 12C
L'Oracle 12c a réellement changé l'architecture de base en comparaison avec celle de l'Oracle 11g. L'Oracle 12c devient véritablement la base de données dans le Cloud.
La notion de la donnée (Database) dans l'Oracle 11g correspond du concept du Conteneur multiple/ multi-tenant (CDB) dans l'Oracle 12c. Plus spécifiquement, après d'avoir installé le logiciel Oracle 12c, vous pouvez créer une ou plusieurs conteneurs multi-tenants (Container Database) (mais en réalité, il est suffit d'une seule).
Dans l'Oracle 12C, il y a une nouvelle notion de CDB$ROOT (ou tout simplement CDB Root), CDB$Root est un Plugin une donnée particulière), est un objet qui se trouve dans le containeur multitenant (CDB). Des SCHÉMAS (groupe de tables liées à une application) sont possibles d'attacher sur CDB$ROOT. Ou bien qu'il y a également d'autre Plugin Database (PDB) normalement sont branchés sur CDB$ROOT. Chaque Plugin Database comprend 0 ou plusieurs SCHÉMAS.
PDB $ SEED est une modèle (Template) de Plugin database qui est utilisée comme modèle (par défaut) pour créer une nouvelle Plugin Database. Inévitablement, vous pouvez prendre n'importe quelle Plugin Database en tant que modèle pour créer une nouvelle Plugin Database.

Je voudrais mentionner les commandes pour créer un nouveau Plugin de SEED ou de n'importe quel PDB dans la section suivante de ce document.
En ce qui concerne le côté du stockage dans le matériel, Oracle 12c a une structure comme l'image suivante:
Dedans:
Controlfiles
Chaque fichier de contrôle est associé à une seule base de données Oracle. C'est un petit fichier binaire qui enregistre la structure de la base de données. Les fichiers de contrôle comprennent:
  • Le nom de la base de données
  • Les noms et localisations des fichiers de données et des fichiers de redo log
  • Le timestamp de la création de la base de données
  • Les localisations et statuts des logs archivés (log sequence number)
  • Les informations de checkpoint
Un fichier de contrôle est mis à jour en continu par le serveur Oracle durant l'utilisation de la base de données, aussi ce dernier doit être accessible en écriture lorsque la base de données est ouverte. L'information dans un fichier de contrôle ne peut être modifié que par le serveur Oracle, il est impossible d'éditer ce fichier manuellement.
datafiles
Datafiles sont des fichiers qui ont sauvegardé sur disque. Ces fichiers y contiennent l'ensemble des données de la base.
tempfiles
Tempfiles sont des fichiers physiques sauvegardés sur le disque. Ces fichiers y contiennent l'ensemble des données de la base temporaires.
redo logs
La structure primordiale de réaliser des opérations de récupération est redo log, dedans il y a 2 ou plusieurs fichiers sont pré-attribués (preallocated files). Les fichiers redo log contiennent l'historique des modifications apportées à la base de données Oracle. La base de données Oracle est à même de simuler redo log afin de pouvoir restaurer la base de données en cas de défaillance d'un disque dur.

4. Travailler avec Oracle via SQLPlus

SQL Plus est un simple outil Console qui permet d'effectuer la commande SQL. En général, on travaille plustôt avec un outil visuel (qui n'est pas disponible à utiliser après l'installation d' Oracle) donc vous devez l'installer de plus. Il est peut- être fourni par un 3ème groupe.
Vous pouvez accéder à SQLPlus via CMD:
-- Login to Oracle using the user database 'system', as Database Admin (dba)
-- Note: If you have never logged in with any user, use the syntax:
system/Abc#123 as sysdba

-- If you are connected to a user, you want to switch to another user, using the syntax:
connect username/password

-- Or connect as system database administrator.
connect username/password as sysdba
Vous vous être identifié dans Database.
Déterminer si une base de données est un Container Database (CDB)
Quand vous installez Oracle12c, si vous choisissez de l'installer Container Database (CDB), votre base de données sera un CDB. Sinon, elle sera un Non-CDB (similaire comme le modèle d' Oracle 11g)
Sur SQLPlus vous pouvez vérifier si votre base de données est CDB ou pas.
-- Query the 'View' contains the databases.

SELECT CDB FROM V$DATABASE;
Déterminer de l'ID ou du nom de conteneur actuel
-- Show ID of current Container.

SHOW CON_ID


-- Show name of current Container.

SHOW CON_NAME
Affichage d'informations sur les conteneurs dans une base de données de conteneurs (CDB)
La vue V$CONTAINERS fournit des informations sur tous les Container dans un CDB, y compris la racine Plugin (CDB$Root) et tous les Plugin DB (PDB). Pour afficher cette information, la requête doit être exécutée par un usercommun dont le Container actuel est la racine (CDB$Root). Lorsque le conteneur actuel est une PDB, cette vue affiche uniquement des informations sur la PDB actuelle.
-- Set display column length (For easy viewing)
-- (Optional).

COLUMN NAME FORMAT A8


-- Query containers.
SELECT NAME, CON_ID, DBID, CON_UID, GUID FROM V$CONTAINERS ORDER BY CON_ID;
Affichage des informations sur les Plugin Database (PDB)
La vue CDB_PDBS et la vue DBA_PDBS fournissent des informations sur les PDBs associés à un CDB, y compris l'état de chaque PDB. Pour afficher cette information, la requête doit être exécutée par un user commun dont le Container actuel (CDB$Root) est la racine. Lorsque le conteneur actuelest une PDB, toutes les requêtes sur ces View ne renvoient aucun résultat.
-- Set display column length (For easy viewing)
-- (Optional).

COLUMN PDB_NAME FORMAT A15


-- Query PDBs
SELECT PDB_ID, PDB_NAME, STATUS FROM DBA_PDBS ORDER BY PDB_ID;