0

使用Oracle SQL Developer我正在尝试访问一个给定的包,该包由SYSFOO 模式创建并在其中具有EXECUTE权限DEBUG,实际上执行 adesc将产生以下输出:

desc SYS.PKG_MY_PACKAGE

PROCEDURE      Argument Name Type     IN/OUT Default 
-------------- ------------- -------- ------ ------- 
PRC_MY_PROCESS P_MY_ARGUMENT VARCHAR2 IN     unknown 

问题是这样的包在Connections > My Connection > Packages下不可见。

任何反馈将不胜感激。提前非常感谢。

4

3 回答 3

4

我发现这样做的唯一方法是在我的连接下选择“其他用户”,展开 SYS 用户,然后转到那里的包。

爱荷华州,

Connections > MyConnection > Other Users > SYS > Packages
于 2011-04-01T22:23:37.293 回答
1

好吧,您可以首先为您尝试在您正在使用的架构下访问的包创建一个别名,但是您需要对该包正在访问/修改的所有对象以及包本身对所有内容的执行权限拥有所有权限正常工作

于 2011-04-02T08:51:15.220 回答
-1

这是一个真实的例子吗?也就是说,您是否创建了一个PKG_MY_PACKAGE在 SYS 模式中调用的包?

这是非常糟糕的做法。SYS 模式是数据库成功运行的关键。在该模式中构建对象可能会使导出等变得困难。更糟糕的是,当我们使用 CREATE OR REPLACE 来应用我们的代码并覆盖现有的 PL/SQL 包时。

因此,请为您的所有代码创建新模式。如果架构需要像 SYS 这样的额外强大权限,请授予它们。但不要污染 SYS。这也适用于 SYSTEM 以及 Oracle 安装的任何其他模式。

从 Oracle 提供的状态更改 SYS 模式不好的做法。

于 2011-04-02T06:52:13.093 回答