简介
ora2pg是一个迁移工具,是将oracle数据库迁移到postgres的一个强大的工具
安装及使用
拉取镜像
docker pull georgmoser/ora2pg
如果拉取比较慢,可以使用上面绑定的镜像文件
使用加载镜像命令
docker load -i ora2gp.tar
使用镜像文件很方便,不需要安装很多基本的环境依赖,只需要关注一个配置文件即可
运行的命令如下
docker run --name ora2pg -it -v /home/ora2pg/config:/config -v /home/ora2pg/data:/data georgmoser/ora2pg
挂载的目录自己定,其中config文件夹下面存放 ora2pg.conf,必须得有这个文件,不然就运行报错,data文件夹下是存放运行的结果文件
注意每次运行前都有把之前运行的容器删掉,重新运行
[root@master ora2pg]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f2498309a486 georgmoser/ora2pg "entrypoint.sh ora2pg" 15 hours ago Exited (0) 14 hours ago ora2pg
32265148a9b7 registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g "/bin/sh -c '/home/o…" 3 days ago Up 23 hours 0.0.0.0:1521->1521/tcp, :::1521->1521/tcp oracle11g
[root@master ora2pg]# docker rm f2498309a486
f2498309a486
配置文件
生成表结构的配置文件
ORACLE_DSN dbi:Oracle:host=192.168.31.132;sid=gtmsdb;port=1521
#ORACLE_DSN dbi:Oracle:tns_ora12c
ORACLE_USER ITMS_CYZ
ORACLE_PWD 123456
SCHEMA ITMS_CYZ
EXPORT_SCHEMA 1
CREATE_SCHEMA 1
TYPE TABLE
PG_NUMERIC_TYPE 0
PG_INTEGER_TYPE 1
DEFAULT_NUMERIC float
SKIP fkeys checks
#SKIP keys pkeys ukeys indexes checks
NLS_LANG AMERICAN_AMERICA.UTF8
OUTPUT_DIR
OUTPUT table_ddl_output.sql
PG_VERSION 14
生成其他ddl的配置文件
ORACLE_DSN dbi:Oracle:host=192.168.31.132;sid=gtmsdb;port=1521
#ORACLE_DSN dbi:Oracle:tns_ora12c
ORACLE_USER ITMS_CYZ
ORACLE_PWD 123456
SCHEMA ITMS_CYZ
EXPORT_SCHEMA 1
CREATE_SCHEMA 1
TYPE PACKAGE,PROCEDURE,TRIGGER,FUNCTION,VIEW,GRANT,SEQUENCE,MVIEW,TYPE,SYNONYM,TABLESPACE
PG_NUMERIC_TYPE 0
PG_INTEGER_TYPE 1
DEFAULT_NUMERIC float
SKIP fkeys checks
#SKIP keys pkeys ukeys indexes checks
NLS_LANG AMERICAN_AMERICA.UTF8
OUTPUT_DIR
OUTPUT other_ddl_output.sql
PG_VERSION 12
生成数据的配置文件
ORACLE_DSN dbi:Oracle:host=192.168.31.132;sid=gtmsdb;port=1521
#ORACLE_DSN dbi:Oracle:tns_ora12c
ORACLE_USER ITMS_CYZ
ORACLE_PWD 123456
SCHEMA ITMS_CYZ
TYPE INSERT
PG_NUMERIC_TYPE 0
PG_INTEGER_TYPE 1
DEFAULT_NUMERIC float
SKIP fkeys checks
#SKIP keys pkeys ukeys indexes checks
NLS_LANG AMERICAN_AMERICA.UTF8
OUTPUT_DIR
OUTPUT data_output.sql
PG_VERSION 12
#如果下面写了pg连接地址,就直接存到pg中了
#PG_DSN dbi:Pg:dbname=postgres;host=192.168.31.132;port=5432
#PG_USER postgres
#PG_PWD 123456
需要使用的时候把配置文件改名为ora2pg.conf