web-dev-qa-db-ja.com

Oracle11gでビューの作成を許可します

私は学校にSQL * Plusを使用し、ユーザー名Scottを使用しています。次のように表示されているため、ビューを作成できません。

ORA-01031: insufficient privileges;

私は検索して検索しましたが、何も正しくないようです。何か助けはありますか?

3
David Lacombe

エラーが示すように(ビューを作成するには特権が不十分です)、データベース管理者にこの特権を付与するように依頼する必要があります。データベース管理者としてログインできる場合は、ステートメントを実行する必要があります(正確性は保証できません。Oracleデータベースが手元にありません)。

GRANT CREATE ANY VIEW TO Scott;

または

GRANT CREATE VIEW TO Scott;
10
mkubacki

[〜#〜] grant [〜#〜]CREATE VIEW特権[〜#〜] user [〜#〜]これはビューを作成しています。

たとえば、新しいユーザーを作成して、セッション、テーブル、およびビューを作成できるようにします。

SQL> create user test identified by test;

User created.

SQL> grant create session, create table, create view to test;

Grant succeeded.

SQL> conn test/test@pdborcl;
Connected.
SQL> Create Table advanced
  2   (Id  varchar(15),
  3   Name varchar(20),
  4   Dept  varchar(15),
  5   Cgpa  float,
  6   Birth_date date,
  7   Mob_no  int,
  8   Dist varchar(20),
  9   Salary  number(8));

Table created.

SQL> Create View advanced_data as
  2  (
  3  select name,dept,dist,salary from advanced
  4  );

View created.

私が取り消す特権の場合、あなたはORA-01031:不十分な特権:を受け取ります。

SQL> revoke create view from test;

Revoke succeeded.

SQL> conn test/test@pdborcl;
Connected.
SQL> Create or replace View advanced_data as
  2  (
  3  select name,dept,dist,salary from advanced
  4  );
Create or replace View advanced_data as
                       *
ERROR at line 1:
ORA-01031: insufficient privileges
1
Lalit Kumar B

ステップ1-sysdbaとしてss/ssを接続します。
ステップ2-スコットに任意のビューを作成することを許可します。
ステップ3-connscott/tiger
ステップ4-ビューvをselect * fromemp;として作成または置換します。

0
naseem ahmad