当我使用命令在oracle中创建库时;
将库DLL_MyLibrary创建为' C:\ MyPath \ MyLibrary.dll';
它在Oracle数据库的某处创建了一个库条目。我想知道如何获取DB中当前库的列表。
有人知道吗?我做了大约30分钟的搜索,一无所获。
我在问,因为我创建了一个包,当我调用它时,它就好像它调用了一个不同的库。
答案 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(*);