私はかなり新しいプロジェクトに参加しており、Oracle 11g データベース テーブルの設計をまだ変更しています。そのため、変更を行うたびにテーブル作成スクリプトが期待どおりに機能することを確認するために、かなり頻繁にテーブルを削除して再作成します。
私たちのデータベースは 2 つのスキーマで構成されています。INSERT
1 つのスキーマには、データが 2 番目のスキーマのテーブルに時々コピーされる原因となるトリガーを持ついくつかのテーブルがあります。これには、次のような管理者アカウントでデータベースにログインし、最初のスキーマから 2 番目のスキーマの必要なテーブルにアクセスする必要がありますsysdba
。GRANT
GRANT ALL ON schema_two.SomeTable TO schema_one;
私たちの問題は、データベースの設計を変更し、データベース テーブルを削除して再作成するたびに、テーブルが削除されたときにアクセスできなくなってしまうことですGRANT
。schema_one
したがって、これによりGRANT
、これらのテーブルの 1 つが削除されて再作成されるたびに、管理者アカウントでログインして再アクセスする必要があるという、別の厄介な手順が作成されます。
これは大したことではありませんが、開発とテストの手順からできるだけ多くのステップを削除したいと考えています. テーブルが削除されてから再作成された後も -ed パーミッションが存続するGRANT
ような方法でテーブルにアクセスする方法はありますか? GRANT
これが不可能な場合、これを行うためのより良い方法はありますか?