问题标签 [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.
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 测试
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::SCRAM
,cpan
但我不熟悉 perl 编程,这对我没有帮助。
问题是:
- 有没有办法
authentication method 10
在 ora2pg 中启用? - 如果是这样,我该怎么做?
postgresql - 在防火墙后面的 Windows 机器上手动安装 ora2pg [DBD::Oracle] 不能直接访问互联网
我正在尝试安装 ora2pg 并遵循ora2pg-on-windows
我被困在
perl -MCPAN -e "安装 DBD::Oracle"
因为我的 Windows 机器位于防火墙后面,并且网络不允许它向互联网开放。有没有办法手动下载和安装DBD::Oracle。任何帮助表示赞赏。
谢谢
postgresql - Ora2pg - 将 DDL 导出到多个文件(按表格方式)
我正在使用 ora2pg 将模式和数据从 oracle 迁移到 postgres 数据库。
是否可以明智地导出 DDL 表?目前它正在导出为一个包含所有表格的文件。
sql - all_tab_partitions 查看oracle到postgres的转换
我正在尝试将此 sql 查询转换为 postgres,任何人都可以帮助我
oracle - 本地 oracle 到云管理的 postgresql 迁移 - 回滚策略
我们计划将我们的本地 oracle 数据库实例迁移到 azure 云托管的 postgresql 实例。在高层次上,迁移步骤包括 -
- 使用 Ora2Pg 实用程序进行初始架构和数据迁移。
- 为后续本地到云 CDC 设置 Azure 数据迁移服务,直到切换完成。
CDC 是单向的,即所有在本地完成的更改都将与云实例同步,直到完成完全切换为止。但是,如果出现任何问题并且我们希望我们的应用程序连接回本地 oracle 数据库,那么回滚策略应该是什么?
我在想的几个选项包括 -
如链接https://aws.amazon.com/blogs/database/rolling-back-from-a-migration-with-aws-dms/的“Fall Forward”选项中所述,我们可以设置现有的副本本地 oracle 数据库,将从云 postgresql 实例同步。在回滚的情况下,应用程序可以连接到这个新的“复制”实例。
在 postgres 中设置“pgaudit”扩展,以便记录所有 DDL、DML 语句。使用这些日志,我们可以手动将这些更改应用到本地 oracle 数据库。
我们可以考虑其他方法吗?
问候,
雅各布
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 的配置。
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 正在尝试创建它并失败。
sql - 我可以使用 CREATE TABLE 语句将分区表迁移到 Oracle 中的非分区表吗?
我有一个 Oracle 11g 分区表,它有 10 个分区来存储十年的数据,每个分区都在自己的按范围分区的表空间上。每个年分区包含 12 个月分区。
在使用 ora2pg 将所有数据库迁移到 Postgresql 10.7 之前,我想将此表转换为非分区表。
我读过我可以先通过 expdp 备份此表,然后使用 impdp 的 PARTITIONS_OPTIONS 参数选项将其导入。
但是是否也可以将以下语句用作严格等价的?
我不会丢失任何数据,但是索引呢?
这两个程序之间还有其他区别吗?