如何列出可从Oracle DB访问的外部库?

时间:2014-06-19 17:06:10

标签: oracle

当我使用命令在oracle中创建库时;

将库DLL_MyLibrary创建为' C:\ MyPath \ MyLibrary.dll';

它在Oracle数据库的某处创建了一个库条目。我想知道如何获取DB中当前库的列表。

有人知道吗?我做了大约30分钟的搜索,一无所获。

我在问,因为我创建了一个包,当我调用它时,它就好像它调用了一个不同的库。

2 个答案:

答案 0 :(得分:1)

您可以在ALL_LIBRARIES表中搜索。

查询:

select * from ALL_LIBRARIES where upper(LIBRARY_NAME) = 'DLL_MyLibrary';

答案 1 :(得分:0)

Tbone得到了我需要的东西;

从all_source中选择*,其中type =' LIBRARY';

为了获得我真正需要的东西,我只是添加了这样的用户;

从all_source中选择*,其中type =' LIBRARY'和所有者=' LIBOWNER';

其中' LIBOWNER'是我感兴趣的图书馆的实际所有者。

这导致了一个有趣的观察。我相信如果你创建一个指向dll" A"然后构建您的包/函数并引用它。然后你删除库并重新创建它指向dll" B",重新编译你的包。当您引用该函数时,它仍然指向dll" A"。我怀疑当我重新启动数据库时,问题就会消失。

作为好奇的类型,这导致我尝试以下查询;

按类型按类型从all_source组中选择type,count(*);