II.4.5. Vue
Outre le contrôle de l'accès aux données
(privilèges), la confidentialité des informations est un aspect
important qu'un SGBD relationnel doit prendre en compte. La
confidentialité est assurée par l'utilisation de vues (views),
qui agissent comme des fenêtres sur la base de données.
II.5. Oracle et les objectifs
d'une base de données répartie
Oracle Net services fournit des solutions de
connectivité dans des environnements distribués.
II.5.1. Oracle Net
Listener
Oracle Net Listener, aussi appelé listener, est un
processus serveur qui écoute les requêtes entrantes des connexions
clientes et gère le trafic vers la base de données.
II.5.2. Nom de service
Dans le contexte des services réseaux, un service est
un ensemble d'une ou plusieurs instances. Un nom de service est une
représentation logique des services utilisés par les connections
clientes.
II.5.3. Transparence vis-à-vis de la
localisation
II.5.3.1. Lien des bases de
données
Pour interroger une BD distante, il faut créer un lien
de base de données. Un lien de base de données est un chemin
unidirectionnel d'un serveur à un autre. En effet, un client
connecté à une BD A, peut utiliser un lien stocké dans la
BD A pour accéder à la BD distante B, mais les utilisateurs
connectés à B ne peuvent pas utiliser le même lien pour
accéder aux données sur A. Lorsqu'un lien est
référencé par une instruction SQL, Oracle ouvre une
session dans la base distante et y exécute l'instruction. La session
demeure ouverte au cas où elle serait de nouveau nécessaire.
En créant un lien de BD, on doit indiquer le nom du
compte auquel on se connecte, le mot de passe de ce compte, et le nom de
service associé à la base distante. En l'absence d'un nom de
compte, Oracle utilise le nom et le mot de passe du compte local pour la
connexion à la base distante.
La syntaxe pour la création d'un lien est la
suivante:
CREATE [SHARED|PUBLIC|PRIVATE] DATABASE LINK NomLien
CONNECT TO ..... [CURRENT_USER|User] IDENTIFIED BY password
USING connect_string
Un lien est soit privé ou public. Seul l'utilisateur
qui a créé un lien privé peut l'utiliser, alors qu'un lien
public est utilisé par tous les utilisateurs de la base de
données. Le lien partagé est propre à la configuration de
serveur multithreaded.
La clause CONNECT TO active une session vers la base
distante.
La clause CURRENT_USER crée un lien BD pour
l'utilisateur courant. L'utilisateur doit disposer d'un compte valide dans la
base distante.
La clause USING connect_string spécifie le nom de
service d'une base distante. Les noms de service d'instances sont
stockés dans le fichier de configuration « tnsnames.ora » du
serveur distant localisé dans le dossier
«$ORACLE_HOME/Network/Admin/ ». Ce fichier spécifie
l'hôte, le port, et l'instance associés à chaque nom de
service.
Des informations sur les liens de BD publics et privés,
figurent respectivement dans les vues du dictionnaire de données :
DBA_DB_LINKS et USER_DB_LINKS.
La syntaxe pour la suppression du lien est la suivante:
DROP [SHARED|PUBLIC|PRIVATE] DATABASE LINK nom_du_lien;
|