外部DB管理者が運用データベースをエクスポートし、テスト環境にインポートしました。私たちはOracle 9.2を使用しています。インポートされたデータベースオブジェクト(テーブル、ビュー、イデックス、パッケージなど)の大半は正常に動作しますが、3つの特定のテーブルに問題があります。これらのテーブルに対してSELECT、UPDATE、DELETEを実行できますが、テーブル。言い換えればOracleテーブルの簡単なビューを作成できません
、folowing作品:
create or replace view v_test_view as select 1 x from dual; // we can create views
create or replace view v_test_view as select 1 x from someTable;
select * from problematicTable; // we can select data from problematic table
しかし、これは動作しません:
create or replace view v_test_view as select 1 x from problematicTable;
--> ORA-01031: insufficient privileges
背景情報:コピーするには、インポート/エクスポートユーティリティを使用
- デシベル管理をデータベーススキーマ
- 生産とテストのバージョン最初のインポートが完了した後、問題のあるテーブルがオブジェクトカタログ(およびデータベース開発ツール)に表示されましたが、これからSELECTを実行しようとすると、オラクルはまったく同じではありません(生産は9.2.0.8、テストは9.2.0.7)
- テーブル、我々は "無効な識別子"を取得しました。その後、テーブルは再インポートされましたが、現在はSELECTから選択できますが、ビューは作成できません
アイデアはありますか?
更新日: 状況がさらに奇妙に見えます。 1つのOracleセッションを使用している場合、我々は(ログインするのと同じユーザーを使用してを!)別のOracleセッションでは、このテーブルからデータを選択することができ、我々は「ORA-00904:無効な識別子」を取得している
UPDATE#2:を インポートに使用されたエクスポート・データは、Oracleの同じインスタンスにある問題のあるテスト環境(TEST2)にある別のテスト環境(TEST1と呼ぶ)にデータをインポートするために使用されました。これらの2つの環境の違いは、TEST1は本番と同じユーザー(スキーマ名)を使用しますが、TEST2は別のユーザー(別のスキーマ名にインポートされたオブジェクト)を使用することです。問題のあるテーブルには、正常に動作するテーブルとは異なる特別なセキュリティプロパティはありません。
マトラ
問題のあるテーブルの名前を教えてください。それには奇妙な文字や外来文字が含まれていますか?また、十分な特権ではないと確信していますか? – Petros
テーブルの名前にforegin文字が含まれていません。名前はADSLMANUALCHECKです。権限について:上記のように、私は時々このテーブルから選択することができますが、他の回(同じユーザーを使用して)私はそうすることができず、私はORA-009004を返却します。 –
TEST2がテーブルを所有していて、ビューを作成しようとしていますか? –