предоставяне на изглед за създаване на Oracle 11g

Използвам SQL*Plus за училище и използвам потребителското име Scott. Не мога да създавам изгледи, защото казва:

ORA-01031: insufficient privileges;

Търсих и търсих, но изглежда нищо не успя да го направи правилно. Някаква помощ?


person David Lacombe    schedule 15.12.2013    source източник


Отговори (4)


Както гласи грешката - вашите привилегии са недостатъчни за създаване на изглед - ще трябва да помолите администратора на базата данни да ви предостави тази привилегия. Ако можете да влезете като администратор на база данни, ще трябва да изпълните оператор (не мога да гарантирам коректността, няма база данни на Oracle)

GRANT CREATE ANY VIEW TO Scott;

or

GRANT CREATE VIEW TO Scott;
person mkubacki    schedule 15.12.2013
comment
Е, аз го използвам на домашен компютър, така че това означава ли, че мога да вляза като администратор на база данни? Ако е така, как? - person David Lacombe; 15.12.2013
comment
Докато инсталирате базата данни на Oracle, трябва да има момент, в който трябва да изберете вашата администраторска парола или да опитате да влезете с потребител по подразбиране SYSTEM и парола MANAGER. - person mkubacki; 17.12.2013
comment
Можете да опитате този отговор за повече информация как да влезете в Oracle db, как да дадете привилегии и още нещо: stackoverflow.com/questions/18403125/ - person vitfo; 12.08.2014

Трябва да ПРЕДОСТАВИТЕ привилегията СЪЗДАВАНЕ НА ИЗГЛЕД на ПОТРЕБИТЕЛЯ, който създава изгледа.

Например създавам нов потребител, за да му позволя да създаде сесия, таблица и изглед:

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
person Lalit Kumar B    schedule 19.11.2015

стъпка 1-conn ss/ss като sysdba;
стъпка 2- ПРЕДОСТАВЯНЕ НА СЪЗДАВАНЕ НА ВСЯК ИЗГЛЕД НА Scott;
стъпка 3- conn scott/tiger
стъпка 4-създайте или заменете изглед v като select *from emp;

person naseem ahmad    schedule 27.07.2015

За да влезете като DBA (администратор на база данни), можете да използвате:

sqlplus / as sysdba

or

sqlplus sys as sysdba
person Jan Vitásek    schedule 09.05.2014