Utilisez le shell MySQL dans l'instance de calcul Oracle Cloud Infrastructure pour importer des données vers un système de base de données de service HeatWave.
Cette tâche requiert les éléments suivants :
- Accès SSH à une instance de calcul avec accès au système de base de données MySQL, vous permettant d'exécuter MySQL Shell sur l'instance de calcul. Reportez-vous à Networking.
- MySQL Shell 8.0.27 ou version supérieure.
- Fichier de configuration valide si les fichiers dump sont stockés dans un bucket Object Storage. Si vous avez installé et configuré l'interface de ligne de commande à l'emplacement par défaut, vous disposez d'un fichier de configuration valide. Si vous n'avez pas installé et configuré l'interface de ligne de commande, vous devez l'installer ou créer un fichier de configuration manuellement. Reportez-vous à Fichier de configuration du kit SDK et de l'interface de ligne de commande.
- Espace de stockage suffisant pour prendre en charge les données importées et bande passante réseau suffisante pour l'import.
Pour importer des données vers un système de base de données MySQL, procédez comme suit :
- Exécutez le shell MySQL dans l'instance de calcul Oracle Cloud Infrastructure.
- Passez au type d'entrée JavaScript en saisissant
\js
et en appuyant sur Entrée.
- Exécutez la commande suivante pour démarrer une session globale en vous connectant à l'adresse du système de base de données :
\c <UserName>@<DBSystemEndpointIPAddress>
\c
: indique la commande Shell permettant d'établir une nouvelle connexion.
<UserName>
: indique le nom utilisateur pour le système de base de données.
<DBSystemEndpointIPAddress>
: indique l'adresse IP de l'adresse du système de base de données.
- Si vous importez un fichier dump situé dans le système de fichiers local de l'instance de calcul Oracle Cloud Infrastructure, exécutez la commande suivante pour importer des données vers le système de base de données de service HeatWave :
util.loadDump("<URL>", {waitDumpTimeout: <TimeinSeconds> , updateGtidSet: "append" })
util.loadDump
: indique la commande permettant d'importer des données vers le système de base de données.
<URL>
: indique le chemin d'accès à un répertoire local contenant les fichiers dump. Par exemple, /home/opc/dump
.
waitDumpTimeout
: (facultatif) permet d'appliquer un fichier dump qui est encore en cours de création. Les tables sont chargées à mesure qu'elles deviennent disponibles et l'utilitaire attend le nombre de secondes indiqué après l'arrêt des nouvelles données à l'emplacement de vidage. Lorsque le délai d'expiration expire, l'utilitaire abandonne l'import.
updateGtidSet:"append"
: (facultatif) ajoute les ID de transaction de l'ensemble GTID gtid_executed
enregistré dans les métadonnées de vidage à l'ensemble GTID gtid_purged
du système de base de données. Cette opération configure l'ensemble GTID dans le système de base de données pour l'activation de la réplication entrante à partir de l'instance MySQL à partir de laquelle les fichiers dump sont exportés.
- Si vous importez un fichier dump à partir d'un bucket Oracle Cloud Infrastructure Object Storage, exécutez la commande suivante pour importer des données vers le système de base de données de service HeatWave :
util.loadDump("<URL>", {threads: <Number>, osBucketName: "<MDSBucket>", waitDumpTimeout: <TimeinSeconds> , updateGtidSet: "append" })
util.loadDump
: indique la commande permettant d'importer des données vers le système de base de données.
<URL>
: indique le préfixe de chemin des fichiers dump dans le bucket, qui a été affecté à l'aide du paramètre outputUrl
lors de la création du fichier dump.
threads
: (facultatif) indique le nombre de threads parallèles à utiliser pour télécharger des blocs de données vers le système de base de données. La valeur par défaut est 4.
osBucketName
: indique le nom du bucket Object Storage.
waitDumpTimeout
: (facultatif) permet d'appliquer un fichier dump qui est encore en cours de création. Les tables sont chargées à mesure qu'elles deviennent disponibles et l'utilitaire attend le nombre de secondes indiqué après l'arrêt des nouvelles données à l'emplacement de vidage. Lorsque le délai d'expiration expire, l'utilitaire abandonne l'import.
updateGtidSet:"append"
: (facultatif) ajoute les ID de transaction de l'ensemble GTID gtid_executed
enregistré dans les métadonnées de vidage à l'ensemble GTID gtid_purged
du système de base de données. Cette opération configure l'ensemble GTID dans le système de base de données pour l'activation de la réplication entrante à partir de l'instance MySQL à partir de laquelle les fichiers dump sont exportés.
- (Facultatif) Si vous n'avez pas indiqué l'option
updateGtidSet:"append"
dans la commande util.loadDump
, vous pouvez effectuer les opérations suivantes pour mettre à jour l'ensemble GTID gtid_purged
du système de base de données :
- Extrayez la valeur de
gtid_executed
du fichier dump @.json
.
- Connectez-vous au système de base de données et ajoutez l'ensemble GTID à
gtid_purged
à l'aide de la commande suivante :CALL sys.SET_GTID_PURGED("+<gtidSet>")
Cette commande exécute une procédure stockée sur le système de base de données afin de modifier la valeur de la variable système.
<gtidSet>
est la valeur du champ gtidExecuted
dans le fichier dump @.json
.
- Le signe
+
ajoute l'ensemble GTID à la variable système gtid_purged
du système de base de données.
Les données sont importées dans le système de base de données.