繁体   English   中英

Oracle SQL Developer使用其他架构访问SYS软件包

[英]Oracle SQL Developer accessing SYS packages with a different schema

我正在使用Oracle SQL Developer尝试访问由SYS创建的给定包,其中FOO模式具有EXECUTEDEBUG权限,实际上,执行desc会产生以下输出:

desc SYS.PKG_MY_PACKAGE

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

问题是该软件包在“ 连接” >“ 我的连接” >“ 软件包”下不可见。

任何反馈将由衷的感谢。 在此先感谢。

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

IOW,

Connections > MyConnection > Other Users > SYS > Packages

好吧,您可以从正在使用的模式下尝试访问的程序包创建别名开始,但是您将需要对该程序包正在访问/修改的所有对象都具有所有权限,并对所有程序包本身具有执行权限正常工作

这是一个真实的例子吗? 也就是说,您PKG_MY_PACKAGE在SYS模式中创建了一个名为PKG_MY_PACKAGE的软件包?

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

因此,请为所有代码创建新的架构。 如果架构需要其他强大的特权(例如SYS),请授予它们。 但是不要污染SYS。 这也适用于SYSTEM以及Oracle安装的所有其他模式。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM