Oracle Ora2Pg无法生成导出类型为conf文件中包含COPY的sql脚本
我正在使用ora2pg将模式和数据从oracle迁移到postgres数据库 conf文件有以下修改:Oracle Ora2Pg无法生成导出类型为conf文件中包含COPY的sql脚本,oracle,postgresql,data-migration,ora2pg,Oracle,Postgresql,Data Migration,Ora2pg,我正在使用ora2pg将模式和数据从oracle迁移到postgres数据库 conf文件有以下修改: 提供ORACLE_主页和DSN 将导出类型设置为:type、TABLE、PACKAGE、COPY、VIEW、GRANT、SEQUENCE、TRIGGER、FUNCTION、PROCEDURE、TABLESPACE、type、PARTITION、MVIEW、QUERY (已删除FDW) 运行该工具时,出现以下错误: DBD::Oracle::db准备失败:ORA-01741:零长度非法 标识符(
type、TABLE、PACKAGE、COPY、VIEW、GRANT、SEQUENCE、TRIGGER、FUNCTION、PROCEDURE、TABLESPACE、type、PARTITION、MVIEW、QUERY
(已删除FDW)谢谢您确实安装了正确版本的
DBD-Oracle
。您可以使用DBD-Oracle-1.74进行证明我的建议是,不要将配置文件用于提取表、视图等
但首先创建一个新项目:
ora2pg --project_base /home/user/ --init_project project_name
cd project_name/
ora2pg -c ora2pg.conf -t TABLE -o tables.sql -b schema/tables/
ora2pg -c ora2pg.conf -t SEQUENCE -o sequence.sql -b schema/sequences/
ora2pg -c ora2pg.conf -t TRIGGER -o trigger.sql -b schema/triggers/
ora2pg -c ora2pg.conf -t PROCEDURE -o procedure.sql -b schema/procedures
ora2pg -c ora2pg.conf -t VIEW -o view.sql -b schema/views/
ora2pg -c ora2pg.conf -t GRANT -o grant.sql -b schema/grants/
导入db postgres表、序列等后。。。
最后,在db上导入数据
ora2pg -c ora2pg.conf -t INSERT -o data.sql -b data/
最重要的是,首先创建一个psql数据库和用户以进行导入。
来自“.”“GT\u LAYER\u ENTITIES”
-缺少架构(=oracle中的用户)。我想您需要将这些信息添加到ORA2PG配置中。我认为这是oracle空间模式。但我不明白为什么我需要出口它。我已经在conf文件中提供了datasource sid=in DSN设置,这就是我需要的所有数据。这个工具不应该从oracle特定的模式转换到Postgres特定的模式吗。无论如何,从我在设置模式MDSYS中提到的内容。在此之后,另一个表“”会出现相同的错误。。即使设置导出模式1也没有效果。为什么要导出MDSYS模式?这是一个Oracle内部模式。我很怀疑你在研究生中是否需要这样做。您应该只导出存储应用程序数据的架构。我将架构MDSYS替换为架构。但这导致:0个表、包。。。为了导出,所以添加了export_SCHEMA 1,它仍然给出了0个表、包…要导出,请检查这有什么问题,在我的conf文件中我有:ORACLE_DSN dbi:ORACLE:host=;sid=ORACLE\U USER用户ORACLE\U PWD USER EXPORT\U SCHEMA 1 SCHEMA和上述导出类型表、包、副本…rest与默认值相同。请检查有什么问题,或者我还需要提供什么,如果我删除了导出类型COPY,它只导出模式,那么需要添加到conf文件的COPY是什么