Le Tutoriel de Oracle Database et Synonym
1. Qu'est-ce que Database Link ?
Database Link est un objet dans SCHEMA de Oracle, il fonctionne comme un pont pour se connecter à d'autres bases de données qui vous aideront à accéder aux objets de l'autre base de données.
Vous pouvez également créer un Database Link afin de se connecter Oracle à une autre base de données, telles que MySQL, SQL Server, ... dans ce cas, vous avez besoin d'utilise le service Oracle Heterogeneous (Oracle Heterogeneous Service)
2. Créer Database Link
Ici, je illustre la connexion de 2 systèmes de bases de données Oracle situés sur deux ordinateurs différents.
tnsname.ora
Tout d'abord, vous devriez comprendre du fichier tnsnames.ora de Oracle.
tnsname.ora est un fichier décrit la base de données de Oracle, vous pouvez le trouver dans le dossier d'installation de Oracle.
tnsname.ora est un fichier décrit la base de données de Oracle, vous pouvez le trouver dans le dossier d'installation de Oracle.
- <ORACLE_HOME>\product\12.1.0\dbhome_1\NETWORK\ADMIN
Le contenu du fichier tnsname.ora est décrit comme l'illustration ci-dessous.
Voici les images illustrant les deux systèmes de la base de données de Oracle situés sur 2 ordinateurs différents.
Créez un Database Link baptisé mydblink pour se connecter PROD1 avec PROD2.
Create Database Link
-- On Prod1 schema.
-- Create a Database Link named mydblink
-- Connect to Prod2 schema on myserver2.
CREATE DATABASE LINK mydblink
CONNECT TO PROD2 IDENTIFIED BY "Prod2Password"
USING '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = myserver2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = db12c)
)
)';
Sur PROD1,vous pouvez tester le Database Link que vous venez de créer par la commande :
Select * from Dual@mydblink;
Il y a quelques VIEW qui vous aide à requêter une liste des Database Link sur la base de données :
-- All DB links defined in the database
Select * from DBA_DB_LINKS ;
-- All DB links the current user has access to
Select * from ALL_DB_LINKS ;
-- All DB links owned by current user
Select * from USER_DB_LINKS ;
Exemple :
-- Format column length.
column OWNER format a10
column DB_LINK format a10
column USERNAME format a10
column HOST format a10
column CREATED format a10
-- Query view: ALL_DB_LINKS:
Select * from ALL_DB_LINKS;
Créer Database Link (Continue)
Si la description de la base de Database2 a été déclarée dans le fichier tnsname.ora de Database1, vous pouvez créer un Database Link de Database1 au Database2 avec une syntaxe plus concise.
-- Create Database Link from prod1 schema of Database1 to prod2 schema of Database2.
create database link mydblink connect to
prod2 identified by prod2password using 'PROD2_DB';
3. Accéder des objets par Database Link
Une fois que vous avez le Database Link, vous pouvez accéder aux objets dans la Database2 via Database Link.
-- Query table of Database2:
Select * from My_Table@mydblink;
Select * from My_View@mydblink;
-- And Insert, Update, Delete,..
Insert into My_Table@mydblink .....;
Update My_Table@mydblink .. ;
4. Oracle Synonym
Synonym peut être traduit comme "Objet synonyme" avec un autre objet. Si vous ne voulez pas ajouter @dblinkName lorsque vous accédez à un objet via un Database link, vous pouvez créer un Synonym pour ce ledit objet.
Créer Synonym:
-- Create Synonym:
create or replace Synonym My_Table_Syn for My_Table@mydblink;
Remarque: Vous pouvez également créer Synonym pour des fonctions, des procédures.
Tutoriels de base de données Oracle
- Installer PL/SQL Developer sur Windows
- Exemple de base de données Oracle pour l'apprentissage SQL
- Installer Oracle Database 11g sous Windows
- Installer Oracle Database 12c sous Windows
- Installer Oracle Client sur Windows
- Créer Oracle SCOTT Schema
- Exemple de base de données
- La structure de base de données et les caractéristiques du Cloud dans le Oracle 12c
- Importation et exportation de la base de données Oracle
- Des fonctions de traitements de chaines (String) dans Oracle
- Séparer les chaînes séparées par des virgules et passer à la clause IN de l'instruction select dans Oracle
- Requêtes hiérarchiques dans Oracle
- Le Tutoriel de Oracle Database et Synonym
- Le Tutoriel de programmation Oracle PL/SQL
- XML Parser pour Oracle PL/SQL
- Audit de base de données standard dans Oracle
- Création et gestion de Oracle Wallet
Show More