5

私は、2つのOracleスキーマを多数のテーブルと比較して、スキーマの構造上の違いを見つけるという任務を負っています。Oracle SQLDeveloperでDBDiffツールを使用したことがわかるまでは、非常にうまく機能していました。問題は、ログインできないユーザーのテーブルを比較する必要があることですが、SQLDeveloperの他のユーザーセクションで確認できます。問題は、diffツールを使用してそれらのオブジェクトを他のスキーマと比較しようとすると、機能しないことです。誰かがこれを行う方法を知っていますか?それは私に非常に多くの仕事を節約するでしょう。それが必要な場合、私はいくつかの基本的なSQLの知識を持っています。ありがとう。

4

2 に答える 2

2

他のスキーマで権限が付与されている場合は、

alter session set current_schema = OTHER_SCHEMA_NO_QUOTES_REQUIRED;

どんなツールでも実行できます。

それ以外の場合はselect * from all_tables where owner = OTHER_USER;、'select * from all_indexeswhere...`などです。

于 2010-06-10T00:25:33.880 に答える
0

正解でこの質問を復活させるだけです。

DBAにプロキシを許可させることができる場合は、終了スキーマのパスワードを知らなくても次のことを実行できます。

ALTER USER {use you do not have pw to - lets call it ENDSCHEMA} GRANT CONNECT THROUGH {user you have pw for - lets call it YOURSCHEMA};

次に、SQLDeveloperで接続を作成します。

username: YOURSCHEMA[ENDSCHEMA] 
password: YOURSCHEMA password

次に、両方のスキーマでデータベース差分を実行し、ENDSCHEMAのパスワードを知らないようにすることができます。

于 2015-10-25T21:15:13.623 に答える