问题描述
我的理解是 ora2pg 能够提取架构内的私有 Oracle DBLink。
公共 DBlinks 怎么样(在 DBeaver 中,我在 Global Metadata/Public Database Links
下看到它们)?
如果我在配置文件中指定架构并运行此命令,则找不到 DBLink(正如预期的那样,因为此架构内未设置私有 DBLink):
ora2pg -t DBLINK -o dblink.sql -b ./schema/dblinks/ -c ./config/ora2pg.conf
如果我在配置文件中注释模式(以针对所有模式)并运行相同的命令,我会收到此错误:
FATAL: ORA-20000:
ORA-06512: at "SYS.DBMS_UTILITY",line 347
ORA-24237: object id argument passed to DBMS_UTILITY.INVALIDATE is not legal
ORA-06512: at line 2 (DBD ERROR: OCIStmtExecute)
有没有办法提取公共 DBLink?
解决方法
在 /config/ora2pg.conf
中,您只需要将 PUBLIC
作为架构名称:
# Oracle schema/user to use
SCHEMA PUBLIC