Usage: ora2pg [-dhpqv --estimate_cost --dump_as_html] [--option value]
-a | --allow str : 指定允许导出的对象列表 , 使用逗号分隔 。
-b | --basedir dir: 设置默认的导出目录 , 用于存储导出SQL文件 。
-c | --conf file : 设置配置文件路径 。
-e | --exclude str: 指定导出时排出的对象列表 , 使用逗号分隔 。
-i | --input file : 指定要导入的SQL文件 , 导入文件时不需要连接到 Oracle 数据库 。
-o | --out file : 设置导出的 SQL 文件的存储路径 。默认值为当前目录下的 output.sql 文件 。
-p | --plsql : 启用 PLSQL 代码到 PLPGSQL 代码的转换 。
-s | --source DSN : 设置 Oracle DBI 数据源 。
-t | --type export: 设置导出类型 。该参数将会覆盖配置文件中的导出类型(TYPE) 。
-u | --user name : 设置连接 Oracle 数据库连接的用户名 。也可以使用 ORA2PG_USER 环境变量 。
-w | --password pwd : 设置连接 Oracle 数据库的用户密码 。也可以使用 ORA2PG_PASSWD 环境变量 。
--init_project NAME: 初始化典型的Ora2Pg项目 , 生成目录模板 。
--view_as_table str: 将视图导出为表 , 多个视图使用逗号分隔 。
3. 配置Ora2Pg
ora2pg.conf文件包含所有配置选项 , 通过配置选项可以自定义迁移时的行为 。这里简单介绍几个常用的配置项 。
ORACLE_HOME:设置环境变量ORACLE_HOME , DBD:Oracle模块使用该变量查找所需的Oracle库 。设置方式在依赖安装中已涉及 。
ORACLE_DSN:该参数以标准DBI DSN形式设置数据源名称 , 例如:
ORACLE_DSN dbi:Oracle:host=oradb_host.myhost.com;sid=DB_SID;port=1521
或者
ORACLE_DSN dbi:Oracle:DB_SID
第二种方式需要在$ORACLE_HOME/network/admin/tnsnames.ora 文件或者环境变量 TNS_ADMIN 指定目录下的 tnsnames.ora 文件中定义 SID 。
ORACLE_USER, ORACLE_PWD:这两个参数用于定义Oracle数据库连接的用户名和密码 。请注意 , 如果可以的话 , 以Oracle超级管理员身份登录 , 以避免在数据库扫描时遇到权限问题 , 以及丢失内容 。
PG_DSN:设置目标数据库名称 , 如下为openGauss示例 , 连接IP为localhost , 端口为5432 , 名称为mydb的数据库 。
PG_DSN dbi:Pg:dbname=mydb;host=localhost;port=5432
PG_USER,PG_PWD:设置目标数据库的用户、密码 。请注意 , 这里使用的用户需要有远程连接openGauss的权限 , 以及对对应数据库的读写权限 , 具体是运行Ora2Pg所在的机器和该用户需要在openGauss的远程访问白名单里 。
SCHEMA:此参数用于设置要导出的schema 。如下 , 将提取AppS下的对象 。
SCHEMA APPS
ORA_INITIAL_COMMAND:该参数可用于在连接之后向Oracle发送初始命令 。例如 , 在读取对象前关闭访问限制策略 , 或设置一些会话参数 。
TYPE:设置要导出的对象类型 , 包括表、视图、序列、索引、外键、约束、函数、存储过程等 , 默认为TABLE 。如下 , 将导出普通表和视图 。
【如何使用Ora2Pg迁移Oracle数据库到openGauss】TYPE TABLE VIEW
更多更详细的配置项说明 , 可查看官网:
https://ora2pg.darold.net/documentation.html
连接测试:配置好Oracle数据库的DSN之后 , 可执行以下命令测试数据库的连接 。
ora2pg -t SHOW_VERSION -c config/ora2pg.conf
以上命令将显示Oracle数据库的版本 。
4. 执行迁移脚本
本次演示的配置如下 , 以system用户连接目标数据库
文章插图
修改export_schema.sh中导出类型 , 本次迁移导出表和函数 。
执行导出脚本 , 等待迁移完成 。结束后在schema和source的子目录下生成对应类型的DDL文件 , 并在末尾给出导出表数据的命令 。
sh export_schema.sh
文章插图
同时reports目录下也生成html格式的迁移报告 。
推荐阅读
- python爬虫之Scrapy框架,基本介绍使用以及用框架下载图片案例
- OkHttp完美封装,用一行代码搞定外部请求,使用起来很方便
- Windows11无法使用华为模拟器eNSP的解决方法
- 如何提高数学思维能力
- 英国留学如何选专业?艺术、建筑、工程、社科四大专业详解
- 孩子厌学如何解决?
- 如何做简单的英语小报
- 学生使用手机的危害有哪些
- 中考前一个月如何安排时间,完成最后的复习
- 刘邦打下天下后为什么要杀韩信- 韩信与刘邦约定如何不杀他