问题标签 [ora2pg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
47 浏览

postgresql - oracle 到 postgresql 迁移(将数据转储到文件中)

我们正在使用 ora2pg 22.0v 将数据从 oracle 迁移到 postgres。我已经在我拥有 oracle db 的同一台服务器上安装了 ora2pg 工具。现在,当我使用 type = TABLE 运行该工具时,我可以使用 create table 语句获取 output.sql。现在我需要这些表中的数据。我尝试使用 type = INSERT 和 type = COPY,但出现以下错误

致命:外部数据导出需要设置 PG_DSN 正在中止导出...

我想将数据导出为 SQL 文件并且不想导出到 postgresql 数据库,那么我该如何跳过提供 PG_DSN?

目前我已将其保留为 conf 文件中的注释

OUTPUT SECTION(控制输出到文件或 PostgreSQL 数据库)定义以下指令以将导出直接发送到 PostgreSQL 数据库,这将禁用文件输出。请注意,这些指令仅用于数据导出,其他导出需要通过 use og psql 或任何其他 PostgreSQL 客户端手动导入。PG_DSN dbi:Pg:dbname=test_db;host=localhost;port=5432 PG_USER 测试 PG_PWD 测试

0 投票
0 回答
58 浏览

perl - 使用 PostgreSQL 14 运行 Ora2Pg

我有PostgreSQL v14服务器,可以使用ora2pg工具版本 22.1从旧 Oracle 服务器迁移数据。

当我尝试执行时出现问题ora2pg -c properties.conf,这给了我以下输出:

[========================>] 2/2 表 (100.0%) 扫描结束。DBI connect('dbname=postgres;host=hostname;port=5432','username',...) 失败:C:/Strawberry/perl/site/lib/Ora2Pg.pm 第 2100 行不支持身份验证方法 10。 FATAL: 1 ... 身份验证方法 10 不支持 Aborting export ...

当我做了一些研究时,我知道这authentication method 10可能是一种SCRAM 身份验证方法,这是 PostgreSQL 14 的默认设置。

我尝试使用 安装 perl 包Authen::SCRAMcpan但我不熟悉 perl 编程,这对我没有帮助。

问题是:

  • 有没有办法authentication method 10在 ora2pg 中启用?
  • 如果是这样,我该怎么做?
0 投票
1 回答
71 浏览

postgresql - 在防火墙后面的 Windows 机器上手动安装 ora2pg [DBD::Oracle] 不能直接访问互联网

我正在尝试安装 ora2pg 并遵循ora2pg-on-windows

我被困在

perl -MCPAN -e "安装 DBD::Oracle"

因为我的 Windows 机器位于防火墙后面,并且网络不允许它向互联网开放。有没有办法手动下载和安装DBD::Oracle。任何帮助表示赞赏。

谢谢

0 投票
1 回答
75 浏览

postgresql - Ora2pg - 将 DDL 导出到多个文件(按表格方式)

我正在使用 ora2pg 将模式和数据从 oracle 迁移到 postgres 数据库。

是否可以明智地导出 DDL 表?目前它正在导出为一个包含所有表格的文件。

0 投票
0 回答
18 浏览

sql - all_tab_partitions 查看oracle到postgres的转换

我正在尝试将此 sql 查询转换为 postgres,任何人都可以帮助我

0 投票
0 回答
28 浏览

oracle - 本地 oracle 到云管理的 postgresql 迁移 - 回滚策略

我们计划将我们的本地 oracle 数据库实例迁移到 azure 云托管的 postgresql 实例。在高层次上,迁移步骤包括 -

  1. 使用 Ora2Pg 实用程序进行初始架构和数据迁移。
  2. 为后续本地到云 CDC 设置 Azure 数据迁移服务,直到切换完成。

CDC 是单向的,即所有在本地完成的更改都将与云实例同步,直到完成完全切换为止。但是,如果出现任何问题并且我们希望我们的应用程序连接回本地 oracle 数据库,那么回滚策略应该是什么?

我在想的几个选项包括 -

  1. 如链接https://aws.amazon.com/blogs/database/rolling-back-from-a-migration-with-aws-dms/的“Fall Forward”选项中所述,我们可以设置现有的副本本地 oracle 数据库,将从云 postgresql 实例同步。在回滚的情况下,应用程序可以连接到这个新的“复制”实例。

  2. 在 postgres 中设置“pgaudit”扩展,以便记录所有 DDL、DML 语句。使用这些日志,我们可以手动将这些更改应用到本地 oracle 数据库。

我们可以考虑其他方法吗?

问候,
雅各布

0 投票
0 回答
53 浏览

postgresql - 创建项目时无法在 Ora2pg 中找到源/表

我正在使用 Ora2pg 21.0 v 将架构 Oracle 迁移到 Postgres 数据库。

下面是 ora2pg 使用ora2pg --init-project命令创建的项目结构。

导出后的源模式文件夹(在执行export_schema.sh之后)。

目录将包含 Oracle 代码,模式将包含移植到 PostgreSQL 的代码。

Ora2pg 不会在目录(Oracle 代码)中创建表/table.sql文件(sql 文件名可能会更改)。

问题是,是否有任何选项可以导出 Oracle 创建表 DDL(tables.sql)。

注意:据我所知,Ora2pg 配置文件在 export_schema.sh 中没有任何启用源表 DDL 的配置。

0 投票
0 回答
38 浏览

postgresql - ora2pg 无法打开扩展控制文件 PostgreSQL/11/share/extension/oracle_fdw.control

我正在尝试使用 ora2pg 将 oracle db 迁移到 postgres,其中模式已经在 postgres 中创建,使用 COPY 指令。导出似乎完成了,但是在尝试连接到 postgres 时,我得到以下信息:

DBD::Pg::db 失败:错误:无法打开扩展控制文件“C:/Program Files/PostgreSQL/11/share/extension/oracle_fdw.control”:C:/Strawberry/perl 中没有此类文件或目录/site/lib/Ora2Pg.pm 第 21943 行。致命:错误:无法打开扩展控制文件“C:/Program Files/PostgreSQL/11/share/extension/oracle_fdw.control”:没有此类文件或目录正在中止导出.. .

我没有使用 instaclient,我在本地完全安装了 oracle 12。

编辑:该文件在 postgres 安装中不存在,但从我看到的 Perl 正在尝试创建它并失败。

0 投票
2 回答
39 浏览

sql - 我可以使用 CREATE TABLE 语句将分区表迁移到 Oracle 中的非分区表吗?

我有一个 Oracle 11g 分区表,它有 10 个分区来存储十年的数据,每个分区都在自己的按范围分区的表空间上。每个年分区包含 12 个月分区。

在使用 ora2pg 将所有数据库迁移到 Postgresql 10.7 之前,我想将此表转换为非分区表。

我读过我可以先通过 expdp 备份此表,然后使用 impdp 的 PARTITIONS_OPTIONS 参数选项将其导入。

但是是否也可以将以下语句用作严格等价的?

我不会丢失任何数据,但是索引呢?

这两个程序之间还有其他区别吗?