#!/bin/bash
# 检查ora2pg命令是否可用
command -v ora2pg >/dev/null 2>&1 || { echo >&2 "ora2pg 工具未安装或未在PATH中。请先安装并配置好ora2pg工具。"; exit 1; }
# 配置文件路径
ora2pg_conf="/path/to/ora2pg.conf"
# 导出表结构和数据
echo "导出表结构和数据..."
ora2pg --config $ora2pg_conf --output /path/to/output/table.sql
# 导出索引
echo "导出索引..."
ora2pg --config $ora2pg_conf --index --output /path/to/output/index.sql
# 导出触发器
echo "导出触发器..."
ora2pg --config $ora2pg_conf --trigger --output /path/to/output/trigger.sql
# 导出函数和包
echo "导出函数和包..."
ora2pg --config $ora2pg_conf --package --output /path/to/output/package.sql
# 执行导出的SQL脚本到PostgreSQL
echo "执行导出的SQL脚本到PostgreSQL..."
psql -U postgres -d target_database -f /path/to/output/table.sql
psql -U postgres -d target_database -f /path/to/output/index.sql
psql -U postgres -d target_database -f /path/to/output/trigger.sql
psql -U postgres -d target_database -f /path/to/output/package.sql
echo "数据迁移完成。"