Le Tutoriel de Oracle Database et Synonym

View more Tutorials:

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.
  • <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 [email protected];
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 [email protected];

Select * from [email protected];

-- And Insert, Update, Delete,..

Insert into [email protected] .....;

Update [email protected] .. ;
 

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 [email protected];
Remarque: Vous pouvez également créer  Synonym pour des fonctions, des procédures.

5- Database Link à la base de données de Oracle non prise en charge

  • TODO:

View more Tutorials: