| 1 |
<?xml version="1.0" encoding="UTF-8"?> |
|---|
| 2 |
<!-- DerniÚre modification |
|---|
| 3 |
le $Date$ |
|---|
| 4 |
par $Author$ |
|---|
| 5 |
révision $Revision$ --> |
|---|
| 6 |
|
|---|
| 7 |
<sect1 id="dropthings"> <title>Supprimer des éléments de la réplication</title> |
|---|
| 8 |
|
|---|
| 9 |
<indexterm><primary>retirer des objets de la réplication</primary></indexterm> |
|---|
| 10 |
|
|---|
| 11 |
<para>Il y a plusieurs choses que vous pouvez supprimer de la réplication &slony1;.</para> |
|---|
| 12 |
|
|---|
| 13 |
<sect2><title>Retirer un noeud entier</title> |
|---|
| 14 |
|
|---|
| 15 |
<indexterm><primary>retirer un noeud de la réplication</primary></indexterm> |
|---|
| 16 |
|
|---|
| 17 |
<para>Si vous voulez retirer un noeud entier de la replication, la commande <xref |
|---|
| 18 |
linkend="slonik"/> <xref linkend="stmtdropnode"/> fera l'affaire.</para> |
|---|
| 19 |
|
|---|
| 20 |
<para>Cela provoquera la suppression des triggers (en général ceux qui empêche la mise à jour |
|---|
| 21 |
des données), la restauration des triggers <quote>originels</quote>, |
|---|
| 22 |
la suppression du schéma utilisé par &slony1;, et l'arrêt du |
|---|
| 23 |
processus <xref linkend="slon"/> lui-même.</para> |
|---|
| 24 |
|
|---|
| 25 |
<para>La base de données sera alors disponible pour toute utilisation standard. |
|---|
| 26 |
</para> |
|---|
| 27 |
|
|---|
| 28 |
<para>Il s'agit d'une opération majeure, avec un potentiel de destruction de données |
|---|
| 29 |
considérable; Assurez-vous que vous retirer le bon noeud !</para> |
|---|
| 30 |
|
|---|
| 31 |
<para>L'opération échouera si il y a des noeuds abonnés au noeuds |
|---|
| 32 |
que vous voulez retirer, ce qui constitue une petite sécurité contre |
|---|
| 33 |
les erreurs.</para> |
|---|
| 34 |
|
|---|
| 35 |
<para>La paragraphe <link linkend="faq17"> <envar>sl_log_1</envar> n'est pas purgée |
|---|
| 36 |
</link> de la FAQ décrit des taches supplémentaires de maintenance que vous |
|---|
| 37 |
devez effectuer sur <xref linkend="table.sl-confirm"/> si vous utilisez une |
|---|
| 38 |
version antérieures à la version 1.0.5.</para></sect2> |
|---|
| 39 |
|
|---|
| 40 |
<sect2><title>Retirer un ensemble de réplication</title> |
|---|
| 41 |
|
|---|
| 42 |
<indexterm><primary>retirer un ensemble de réplication</primary></indexterm> |
|---|
| 43 |
|
|---|
| 44 |
<para>Si vous souhaitez arrêter la réplication d'un ensemble de réplication particulier, |
|---|
| 45 |
la commande <xref linkend="slonik"/> <xref linkend="stmtdropset"/> est faite pour vous. |
|---|
| 46 |
</para> |
|---|
| 47 |
|
|---|
| 48 |
<para>Comme avec <xref linkend="stmtdropnode"/>, cela provoque le retrait |
|---|
| 49 |
des triggers &slony1; sur les tables et la restauration des triggers |
|---|
| 50 |
<quote>originels</quote>. La différence est que cela se produit sur |
|---|
| 51 |
<emphasis>tous</emphasis> les noeuds du cluster, plutÃŽt que sur un seul. |
|---|
| 52 |
Une autre différence est que cela ne nettoie pas les autres schémas du cluster, |
|---|
| 53 |
car ils sont toujours utilisés.</para> |
|---|
| 54 |
|
|---|
| 55 |
<para>Cette opération est nettement plus dangereuse que <xref |
|---|
| 56 |
linkend="stmtdropnode"/>, car <emphasis>il n'y a pas</emphasis> |
|---|
| 57 |
de <quote>sécurités</quote> équivalentes. Si vous demandez à |
|---|
| 58 |
<xref linkend="stmtdropset"/> de retirer le <emphasis>mauvais</emphasis> |
|---|
| 59 |
ensemble de réplication, il n'y a rien qui vous empêchera de réaliser |
|---|
| 60 |
une opération pourrait avoir des effets <quote>malencontreux</quote> |
|---|
| 61 |
sur les données et sur votre carriÚre. à manipuler avec précaution...</para> |
|---|
| 62 |
</sect2> |
|---|
| 63 |
|
|---|
| 64 |
<sect2><title>Désabonner un noeud d'un ensemble de réplication</title> |
|---|
| 65 |
|
|---|
| 66 |
<indexterm><primary>désabonner un noeud d'un ensemble de réplication</primary></indexterm> |
|---|
| 67 |
|
|---|
| 68 |
<para>L'opération <xref linkend="stmtunsubscribeset"/> est un peu moins |
|---|
| 69 |
puissante que <xref linkend="stmtdropset"/> ou <xref |
|---|
| 70 |
linkend="stmtdropnode"/>; elle implique la suppression des triggers &slony1; et |
|---|
| 71 |
et la restauration des triggers <quote>originels</quote> sur un seul noeuds, pour |
|---|
| 72 |
un seul ensemble de réplication.</para> |
|---|
| 73 |
|
|---|
| 74 |
<para>Tout comme <xref linkend="stmtdropnode"/>, cette opération échouera |
|---|
| 75 |
si un noeud est abonné à l'ensemble de réplication via le noeud |
|---|
| 76 |
que vous voulez retirer. |
|---|
| 77 |
|
|---|
| 78 |
<warning> |
|---|
| 79 |
<para>Pour toutes les opérations ci-dessus, <quote>revenir en arriÚre</quote> |
|---|
| 80 |
nécessitera une copie du noeud à partir d'un ensemble de données |
|---|
| 81 |
<emphasis>complet</emphasis> en provenance d'un fournisseur. Le fait que les |
|---|
| 82 |
données aient été répliquées encore récemment ne suffit pas; |
|---|
| 83 |
&slony1; voudra des données reconstituées à partir de zéro.</para> |
|---|
| 84 |
</warning> |
|---|
| 85 |
</para> |
|---|
| 86 |
|
|---|
| 87 |
</sect2> |
|---|
| 88 |
<sect2><title> Retirer une table de la réplication</title> |
|---|
| 89 |
<indexterm><primary>retirer une table de la réplication</primary></indexterm> |
|---|
| 90 |
|
|---|
| 91 |
<sect3><title> En utilisant les outils altperl</title> |
|---|
| 92 |
|
|---|
| 93 |
<para> |
|---|
| 94 |
Si les outils <link linkend="altperl"> altperl </link> sont installés, |
|---|
| 95 |
vous pouvez utiliser le script d'aide <link linkend="slonik-drop-table"> |
|---|
| 96 |
slonik_drop_table </link> pour supprimer une table dans un ensemble de réplication. |
|---|
| 97 |
Lancez simplement <command>slonik_drop_table</command> sans arguments pour afficher |
|---|
| 98 |
la méthode d'utilisation du script. AprÚs avoir retiré la table, vous devez également |
|---|
| 99 |
la retire du fichier <filename>slon_tools.conf</filename>. |
|---|
| 100 |
</para> |
|---|
| 101 |
|
|---|
| 102 |
</sect3> |
|---|
| 103 |
<sect3><title> En utilisant directement les commandes slonik</title> |
|---|
| 104 |
|
|---|
| 105 |
<para>Ã partir de &slony1; 1.0.5, il existe une commande Slonik <xref |
|---|
| 106 |
linkend="stmtsetdroptable"/> qui permet de supprimer une table de la réplication |
|---|
| 107 |
sans forcer l'utilisateur à supprimer la totalité de l'ensemble de réplication. |
|---|
| 108 |
</para> |
|---|
| 109 |
|
|---|
| 110 |
<para>Si vous utiliser une version antérieure, il y a une <quote>astuce</quote> |
|---|
| 111 |
pour réaliser cela :</para> |
|---|
| 112 |
|
|---|
| 113 |
<para>Vous pouvez réaliser cela <quote>à la main</quote> en trouvant l'identifiant |
|---|
| 114 |
de la table dont vous voulez vous débarrassez, que vous pouvez trouver dans |
|---|
| 115 |
<xref linkend="table.sl-table"/>, et exécuter les trois requêtes suivantes sur chaque hÎte : |
|---|
| 116 |
<programlisting> |
|---|
| 117 |
select _slonyschema.alterTableRestore(40); |
|---|
| 118 |
select _slonyschema.tableDropKey(40); |
|---|
| 119 |
delete from _slonyschema.sl_table where tab_id = 40; |
|---|
| 120 |
</programlisting> |
|---|
| 121 |
</para> |
|---|
| 122 |
|
|---|
| 123 |
<para>Bien entendu, le nom du schéma dépend de celui qui a été défini pour le cluster |
|---|
| 124 |
&slony1;. L'identifiant de la table, dans ce cas 40, doit être remplacé par l'identifiant |
|---|
| 125 |
de la table que vous souhaitez retirer. |
|---|
| 126 |
</para> |
|---|
| 127 |
|
|---|
| 128 |
<para>Vous devrez exécuter ces trois requêtes sur tous les noeuds, de préférence |
|---|
| 129 |
en commençant par le noeud d'origine, afin que l'événement |
|---|
| 130 |
se propage correctement. Réaliser cette opération avec une |
|---|
| 131 |
commande <xref linkend="slonik"/> avec un nouvel événement |
|---|
| 132 |
&slony1; permet de faire cela. Soumettre les trois requêtes |
|---|
| 133 |
en utilisant <xref linkend="stmtddlscript"/> permet cela également; |
|---|
| 134 |
Se reporter au chapitre <xref linkend="ddlchanges"/> pour plus de détails. |
|---|
| 135 |
Il est également possible de se connecter à chaque base de données |
|---|
| 136 |
et de soumettre manuellement les requêtes. |
|---|
| 137 |
</para> |
|---|
| 138 |
</sect3> |
|---|
| 139 |
</sect2> |
|---|
| 140 |
|
|---|
| 141 |
<sect2><title>Retirer une séquence de la réplication</title> |
|---|
| 142 |
|
|---|
| 143 |
<indexterm><primary>retirer une séquence de la réplication</primary></indexterm> |
|---|
| 144 |
|
|---|
| 145 |
<para>Ã l'image de <xref linkend="stmtsetdroptable"/>, la version 1.0.5 |
|---|
| 146 |
introduit l'opération <xref linkend="stmtsetdropsequence"/>.</para> |
|---|
| 147 |
|
|---|
| 148 |
<para>Si vous utilisez une version antérieure, voici les instructions pour |
|---|
| 149 |
retirer des séquences:</para> |
|---|
| 150 |
|
|---|
| 151 |
<para>Ci-dessous les données nécessaires pour supprimer les |
|---|
| 152 |
séquence numérotées 93 and 59 : |
|---|
| 153 |
|
|---|
| 154 |
<programlisting> |
|---|
| 155 |
delete from _oxrsorg.sl_seqlog where seql_seqid in (93, 59); |
|---|
| 156 |
delete from _oxrsorg.sl_sequence where seq_id in (93,59); |
|---|
| 157 |
</programlisting> |
|---|
| 158 |
</para> |
|---|
| 159 |
|
|---|
| 160 |
<para> Ces deux requêtes doivent être soumises à tous les noeuds via |
|---|
| 161 |
&funddlscript; / <xref linkend="stmtddlscript"/>, afin d'éliminer la |
|---|
| 162 |
séquence partout en <quote>même temps</quote>. Elles peuvent également être |
|---|
| 163 |
appliquées à la main sur chaque noeud.</para> |
|---|
| 164 |
</sect2> |
|---|
| 165 |
</sect1> |
|---|