docker network create --subnet=168.66.6.0/24 db-network [root@docker ~]# docker network inspect db-network --查看网络信息
docker pull registry.cn-shanghai.aliyuncs.com/techerwang/oracle:ora12c_12201
docker run -itd --name jemora1221 -h jemora1221 –net=db-network --ip 168.66.6.34 -p 1526:1521 -p 3396:3389 –privileged=true registry.cn-shanghai.aliyuncs.com/techerwang/oracle:ora12c_12201 init
[root@jeames ~]# docker exec -it jemora1221 bash [root@jemora1221 /]# su - oracle [oracle@jemora1221 ~]$ sqlplus / as sysdba SYS@jem> startup SYS@jem> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 JEMPDB MOUNTED alter pluggable database JEMPDB open; SYS@jem> select con_id,dbid,NAME,OPEN_MODE from v$pdbs; SYS@jem> alter session set container=JEMPDB; SYS@jem> create user jemmes identified by jemmes SYS@jem> GRANT DBA to jemmes ;
[oracle@jemora1221 ~]$ cd $ORACLE_HOME/network [oracle@jemora1221 network]$ cd admin ## 配置TNS,后续连接数据库 [oracle@jemora1221 admin]$ vi tnsnames.ora JEMPDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = jemora1221)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = JEMPDB) ) ) ## 监听启动 lsnrctl start lsnrctl status
docker run -d --name mysql8027 -h mysql8027 -p 3418:3306 –net=db-network --ip 168.66.6.35 -v /etc/mysql/mysql8027/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=jeames -e TZ=Asia/Shanghai mysql:8.0.27
Voir le conteneur
[root@jeames ~]# docker ps --format “table {<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->{.ID}}\t{<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->{.Names}}\t{<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->{.Status}}” CONTAINER ID NAMES STATUS 043d1652404d jemora1221 Up 7 minutes dc2989508b67 mysql8027 Up 23 seconds 7e6a53d71017 centos7.8 Up 20 minutes
cat > /etc/mysql/mysql8027/conf/my.cnf << “EOF” [mysqld] default-time-zone = ‘+8:00' log_timestamps = SYSTEM skip-name-resolve log-bin server_id=80273418 character_set_server=utf8mb4 default_authentication_plugin=mysql_native_password EOF
mysql -uroot -pjeames -h 168.66.6.35 create database jemdb;
Kettle est un outil ETL open source étranger écrit en Java pur et peut fonctionner sous Windows, Linux et Unix.
Le nom chinois de Kettle est Kettle, et le programmeur principal du projet, MATT, souhaite mettre diverses données dans un pot, puis les diffuser dans un format spécifié. Kettle est un ensemble d'outils ETL qui vous permet de gérer les données de différentes bases de données en fournissant un environnement utilisateur graphique pour décrire ce que vous voulez faire, plutôt que comment vous voulez le faire. Il existe deux types de fichiers de script dans Kettle, la transformation et le travail. La transformation complète la transformation de base des données, et le travail complète le contrôle de l'ensemble du flux de travail.
La composition de kettle
L'ensemble du processus est divisé en deux étapes : l'une consiste à installer l'environnement JAVA ; l'autre consiste à télécharger le package d'installation de kettle
Installer AVA JDK
Après avoir téléchargé le jdk, ouvrez le fichier et démarrez l'installation
Ajoutez les 3 variables suivantes
【1】JAVA_HOME : Le chemin d'installation de Java à l'instant, le mien est : C:Program FilesJavajdk1.8.0_231
【2】CLASSPATH : .;%JAVA_HOME%libdt. jar;%JAVA_HOME%libtools.jar;
【3】Configurer la variable d'environnement Path
Double-cliquez sur Path et ajoutez "%JAVA_HOME%bin" ; ".
La touche Win+R fait apparaître la fenêtre d'exécution, entrez cmd, appuyez sur Entrée pour exécuter
Entrez respectivement "java -version" et "javac" pour tester Si le contenu suivant est affiché, la configuration est réussie
. Téléchargez le package d'installation de la bouilloire
Nous y sommes Sélectionnez la version 7.1
Après le téléchargement, décompressez-le dans n'importe quel chemin, ouvrez le dossier, recherchez Spoon.bat, créez un raccourci sur le bureau, ouvrez
Téléchargement du package de pilote de base de données
Intégrez le pilote MySQL et le pilote Oracle. Placez-le simplement sous le package lib sous le package kettle.
Téléchargement du pilote MySQL JDBC
Le suffixe de fichier .tar.gz est un package compressé pour Linux/IOS ; le suffixe .zip est un package compressé pour Windows,
choisissez de télécharger en fonction du système.
Téléchargez cette version : mysql-connector-java-5.1.49-bin.jar
Téléchargement du pilote Oracle JDBC
Connexion à la base de données
A Créez une conversion
Dans Fichier->Nouvelle transformation, Nouvelle transformation Puis établissez. une connexion DB dans l'arborescence des objets principale à gauche pour se connecter à la base de données
B. Connexion à la base de données MySQL
C Connexion à la base de données Oracle 12C
## 创建测试表 SYS@jem> conn jemmes/jemmes@JEMPDB @/home/oracle/demo_ora_create.sql @/home/oracle/demo_ora_insert.sql create table flower( id varchar2(32) default sys_guid() primary key, flower_name varchar2(200), color varchar2(100), origin varchar2(200), moral varchar2(200), create_time timestamp default sysdate, update_time timestamp ); JEMMES@JEMPDB> insert into flower(flower_name) values('dd'); --oracle所有表 JEMMES@JEMPDB> select * from tab; --迁移前相关检查 col TABLE_NAME format a30 SELECT a.table_name,a.num_rows FROM dba_tables a where a.OWNER='JEMMES' ; select object_type,count(*) from dba_objects where owner='JEMMES' group by object_type; select object_type,status,count(*) from dba_objects where owner='JEMMES' group by object_type,status; select sum(bytes)/1024/1024 from dba_segments where owner='JEMMES';
Copier plusieurs tables
Une fois terminé, l'arborescence d'exécution suivante sera automatiquement générée :
Cliquez sur Exécuter pour démarrer l'exécution :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!