0

Oracle SQL Developerを使用しSYSて、たとえばFOOスキーマにEXECUTE権限DEBUGがあり、その中に作成された特定のパッケージにアクセスしようとしています。実際、を実行するdescと、次の出力が生成されます。

desc SYS.PKG_MY_PACKAGE

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

問題は、そのようなパッケージが[接続] >[マイ接続] > [パッケージ]に表示されないことです。

フィードバックをいただければ幸いです。よろしくお願いします。

4

3 に答える 3

4

これを行う唯一の方法は、[接続]の下の[その他のユーザー]を選択し、SYSユーザーを展開して、そこにある[パッケージ]に移動することです。

IOW、

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がインストールする他のスキーマにも当てはまります。

SYSスキーマをOracle提供の状態から変更すること悪い習慣です。

于 2011-04-02T06:52:13.093 に答える