Catégories :

Fonctions système (Contrôle du système)

SYSTEM$PIPE_REBINDING_WITH_NOTIFICATION_CHANNEL

Tente de nouveau le processus de liaison au canal de notification lorsqu’un canal répliqué n’a pas été correctement lié à un canal de notification au moment de la réplication. La liaison peut échouer pour l’une des raisons suivantes :

  • La messagerie Cloud n’est pas correctement configurée dans le déploiement secondaire lors de la réplication. Par exemple, une intégration de notification portant le même nom n’est pas créée manuellement, ou la politique SNS n’est pas définie de sorte à autoriser l’abonnement, etc.

  • Il existe une erreur du fournisseur cloud lorsque Snowpipe tente de lier le canal au canal de notification.

  • Le canal et sa zone de préparation source se trouvent dans des groupes de réplication différents, et la zone de préparation n’est pas répliquée lorsque le canal est répliqué.

Vous pouvez également réessayer la liaison de notification en actualisant le groupe de réplication ou la base de données. Toutefois, si le compte principal est hors service ou si un basculement a déjà eu lieu, la seule option consiste à appeler cette fonction système.

Pour plus d’informations, voir Snowpipe et Réplication des zones de préparation, des canaux et de l’historique des chargements.

Syntaxe

SYSTEM$PIPE_REBINDING_WITH_NOTIFICATION( '<pipe_name>')
Copy

Arguments

'pipe_name'

Nom du canal qui doit faire l’objet du processus de notification de nouvelle liaison.

Exigences en matière de contrôle d’accès

  • Seuls le propriétaire du canal (c’est-à-dire le rôle doté du privilège OWNERSHIP sur le canal) ou un rôle avec le privilège OPERATE sur le canal peut appeler cette fonction SQL.

    Notez que l’exploitation d’un objet dans un schéma requiert également le privilège USAGE sur la base de données et le schéma parents.

Notes sur l’utilisation

  • pipe_name est une chaîne, elle doit donc être placée entre guillemets simples :

    • Notez que le nom complet doit être placé entre guillemets simples, y compris la base de données et le schéma (si le nom est « pleinement qualifié » (complet)), c’est-à-dire 'db.schema.pipe_name'.

    • Si le nom du canal est sensible à la casse ou inclut des caractères spéciaux ou des espaces, des guillemets doubles sont nécessaires pour traiter la casse / les caractères. Les guillemets doubles doivent être placés entre guillemets simples, c’est-à-dire '"pipe_name"'.

Exemples

Retente le processus de liaison du canal de notification pour mypipe :

SELECT SYSTEM$PIPE_REBINDING_WITH_NOTIFICATION_CHANNEL('mydb.myschema.mypipe');
Copy