当前位置: 首页 > 工具软件 > ora2pg > 使用案例 >

docker 通过ora2pg将oracle结构、数据导入到postgresql

蓟和煦
2023-12-01

安装ora2pg

在docker下安装ora2pg

  1. 下载georgmoser/ora2pg
    docker pull georgmoser/ora2pg
    
  2. 运行ora2pg
    docker run -itd \
    --name ora2pg \
    --network [网络名称] \
    -e OUTPUT_LOCATION=/data/myfolder \
    -e ORA_HOST="dbi:Oracle:host=[IP];sid=[SID];port=[HOST]" \
    -e ORA_USER=[用户名] \
    -e ORA_PWD=[密码] \
    -e DBI_DRIVER=Oracle \
    #映射转换后导出路径
    -v /data/ora2pg/data:/data \
    #映射配置文件路径(可以先创建容器将配置文件复制到宿主机,方便后续修改配置文件)
    -v /data/ora2pg/config:/config
    georgmoser/ora2pg:23.1
    

修改ora2pg配置文件

1.查看映射出来的conf文件,找到TYPE,默认为TABLE

TABLE 导出表、约束、索引
VIEW 导出视图
COPY 导出表数据

TYPE		TABLE

2.修改TYPE为相应值后,启动容器依次导出相应转换sql

导入到postgresql

1.使用psql导入postgresql

#将sql文件复制到容器内部
docker cp /data/ora2pg/table.sql postgres:/data/
#进入容器
docker exec -it postgres bash
#切换用户
su postgres

-d:连接的数据库名称
-U:数据库用户名
-v:输出版本信息,然后退出
ON_ERROR_STOP=1:检测到一条错误信息就停止
-f:输出的位置

#执行导入命令
psql -d postgres -U user_hie_config -v ON_ERROR_STOP=1 -f /data/table_data.sql

导入VIEW,视图转换时会将一小部分"(+)"命令转换为LEFT OUTER JOIN需要修正

 类似资料: