首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle8i中DBMS_METADATA.GET_DLL的替代方案

Oracle8i中DBMS_METADATA.GET_DLL的替代方案
EN

Stack Overflow用户
提问于 2015-10-27 07:24:18
回答 2查看 3K关注 0票数 3

在我们的项目中,我们有一个运行在oracle 8i上的数据库(我知道这个版本很古老,但是.)

我想检查DDL语句中我尝试过的一个公共数据库链接:

代码语言:javascript
复制
select dbms_metadata.get_ddl('DB_LINK', 'LINKNAME', 'PUBLIC') from dual;

select dbms_metadata.get_ddl('DB_LINK', 'LINKNAME', 'PUBLIC') from dual;
                     *
ERROR at line 1:
ORA-00904: invalid column name

据我所知,甲骨文8i似乎不支持dbms_metadata。如果我错了,请纠正我。

dba_db_links给了我一些信息,但是缺少了目标数据库的SID。

除了导出数据库/模式之外,还有其他方法可以在Oracle 8i上获得DDL语句吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-27 07:45:21

您可以查询数据字典:

代码语言:javascript
复制
SELECT 'CREATE PUBLIC DATABASE LINK "'||DB_LINK||'" CONNECT TO '||USERNAME||' IDENTIFIED BY "<PWD>" USING '''||HOST||''';' AS cmd
FROM DBA_DB_LINKS
WHERE owner = 'PUBLIC'
    AND DB_LINK = 'LINKNAME';

如果您错过了信息,请尝试选择表sys.link$

票数 2
EN

Stack Overflow用户

发布于 2015-10-27 08:36:04

您可以使用exp/imp工具。使用exp rows=now导出该数据库(或模式),然后使用imp show=yes将其导入数据库。

这将不会对数据库进行任何更改,但是所有的DDL都将被放入日志文件中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33362049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档