在docker下安装ora2pg
docker pull georgmoser/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
1.查看映射出来的conf文件,找到TYPE,默认为TABLE
TABLE 导出表、约束、索引
VIEW 导出视图
COPY 导出表数据
TYPE TABLE
2.修改TYPE为相应值后,启动容器依次导出相应转换sql
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需要修正