Utilisation de la redéfinition basée sur l'édition
Oracle GoldenGate prend en charge l'utilisation de la redéfinition basée sur l'édition (EBR) avec les bases de données Oracle, ce qui vous permet de mettre à niveau le composant de base de données d'une application pendant son utilisation, ce qui réduit ou élimine les temps d'arrêt.
Les éditions sont des objets non-schéma auxquels appartiennent les objets Editioned. Les éditions peuvent être considérées comme possédant des objets édités ou comme un espace de noms. Chaque base de données commence par une édition nommée ORA$BASE, qui inclut les bases de données mises à niveau. Plusieurs éditions peuvent exister dans une base de données et chacune ne peut avoir qu'un seul enfant. Par exemple, si vous créez successivement trois éditions, edition1, edition2 et edition3, edition1 est le parent de edition2, qui est le parent de edition3. Indépendamment de la session utilisateur ou de base de données qui les crée ou de l'édition en cours lors de la création du nouveau. Lorsque vous créez une édition, elle hérite de tous les objets édités de son parent. Pour utiliser des éditions avec Oracle GoldenGate, vous devez les créer.
Un objet est considéré comme édité s'il s'agit d'un type éditable, il est créé avec l'attribut EDITIONABLE et le schéma est activé pour l'édition de ce type d'objet. Lorsque vous créez, modifiez ou supprimez un objet avec édition, le fichier de journalisation contient le nom de l'édition à laquelle il appartient. Dans une base de données Conteneur, les éditions appartiennent au conteneur et chaque conteneur possède sa propre édition par défaut.
Les instructions LDD CREATE | DROP EDITION sont capturées pour toutes les configurations Extract. Ils entrent dans la catégorie OTHER et ont affecté la valeur d'option OBJTYPE EDITION. L'option OBJTYPE peut être utilisée pour le filtrage, par exemple :
DDL EXCLUDE OBJTYPE EDITION
DDL EXCLUDE OBJTYPE EDITION OPTYPE CREATE
DDL EXCLUDE OBJTYPE EDITION OPTYPE DROP
DDL EXCLUDE OBJTYPE EDITION OPTYPE DROP ALLOWEMPTYOWNER OBJNAME *edition_name*
Vous devez utiliser la syntaxe suivante pour exclure une édition du processus Extract ou Replicat :
EXCLUDE OBJTYPE EDITION, ALLOWEMPTYOWNER OBJNAME *edition_name*
Les éditions appartiennent à la catégorie OTHER. Par conséquent, aucun mapping n'est effectué sur le nom de l'édition. Lorsqu'il est appliqué, le droit d'accès USE est automatiquement accordé à l'utilisateur Replicat. Le processus de réplication effectue également une opération grant use on edition name with grant option sur l'utilisateur de création d'origine si cet utilisateur existe sur la base de données cible. Etant donné que les éditions ne sont pas des opérations mappables, elles n'ont pas de propriétaires, l'instruction EXCLUDE standard ne fonctionne pas.
Les instructions LDD utilisées pour créer ou modifier des éditions n'autorisent pas l'utilisateur pour les éditions, mais le schéma pour les éditions. Il s'agit d'une distinction importante car cela signifie que l'utilisateur Replicat n'a pas besoin d'être activé pour que les éditions appliquent des instructions LDD aux objets édités. Lorsque le processus Replicat applique une instruction LDD CREATE EDITION, il accorde au processus de création d'origine le droit d'accès USE, si l'utilisateur d'origine existe sur la base de données cible. Pour toute instruction CREATE EDITION non répliquée, vous devez accorder un droit d'accès USE WITH GRANT OPTION à l'utilisateur Replicat.
L'édition d'un objet modifiable est contrôlée par le schéma dans lequel il est appliqué. Le processus Replicat bascule son édition de session en cours avant d'appliquer une instruction LDD si l'attribut de nom d'édition existe dans le fichier trace et qu'il n'est pas vide.
Les environnements de base de données Conteneur sont pris en charge pour les processus Extract et Replicat. Aucune configuration supplémentaire n'est nécessaire. Le schéma de l'utilisateur Replicat ne peut pas être activé pour les éditions s'il s'agit d'un utilisateur commun. Le schéma de l'utilisateur Replicat n'a pas besoin d'être activé pour les éditions lors de l'application d'instructions LDD à des objets modifiés dans d'autres schémas.
A partir d'Oracle Database 23ai, les opérations LDD en ligne qui étaient précédemment bloquées peuvent être effectuées. Vous bénéficiez ainsi d'une flexibilité supplémentaire pour les mises à niveau d'applications Oracle effectuées avec la redéfinition basée sur l'édition (EBR). Pour plus d'informations, reportez-vous à Utilisation de la redéfinition basée sur l'édition dans le Guide de développement Oracle AI Database.
Les processus Extract et Replicat d'Oracle GoldenGate peuvent également gérer la réplication de ces opérations LDD afin que les modifications apportées par les mises à niveau d'application Oracle soient répliquées correctement. En outre, vous pourrez effectuer une opération DROP sur les colonnes inutilisées en ligne à partir des tables où l'ACDR est supprimée.