Drop db link

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Procédure PL/SQL (Oracle)
Rôle Supprimer un database link avec les privilèges du owner
Voir aussi Contraintes integrite · OCR

Suppression d'un database link Oracle via une procédure stockée s'exécutant avec les privilèges du schéma owner — utile quand seul ce compte détient le privilège DROP DATABASE LINK, ou pour scripter la suppression sans avoir à se connecter directement en tant que owner.

Procédure

CREATE PROCEDURE app_schema.drop_db_link AS
BEGIN
  EXECUTE IMMEDIATE 'DROP DATABASE LINK db_link_name';
END drop_db_link;
/

Le / final indique à SQL*Plus de compiler le bloc PL/SQL qui précède.

Appel

exec app_schema.drop_db_link

Remarque

Adapter app_schema, drop_db_link (nom de la procédure) et db_link_name (nom réel du lien à supprimer) au contexte. Pour une suppression directe sans procédure intermédiaire, la commande standard suffit si l'on est déjà connecté avec les bons privilèges :

DROP DATABASE LINK db_link_name;
-- ou, si le lien appartient à un autre schéma et qu'on est DBA :
DROP PUBLIC DATABASE LINK db_link_name;

Cette syntaxe (DATABASE LINK) est spécifique à Oracle — les autres SGBD n'ont pas d'équivalent direct (liaisons inter-bases gérées différemment selon le moteur : dblink côté PostgreSQL, tables fédérées/FEDERATED côté MySQL...).

Voir aussi

  • Contraintes integrite — autre bloc PL/SQL utilitaire d'administration
  • OCR — registre de configuration Oracle (sujet voisin d'administration)