Oracle pl sql новый пользователь получает ПРОЦЕДУРУ НЕ СУЩЕСТВУЕТ
У меня есть приложение на базе Oracle, в котором есть база данных и apache с modplsql, установленным в качестве сервера приложений. Я довольно новичок в Oracle, так что извините, если это не очень умный вопрос, но это вопрос, на который я не смог найти ответ.
Проблема в том, что мне нужно добавить пару новых пользователей в это приложение оракула, и я не могу понять, как это сделать, я попробовал и то и другое: создать их с помощью консоли и с помощью инструмента пользовательского интерфейса разработчика Oracle CQL, в обоих случаях я предоставляю все роли и привилегии, которыми обладают текущие пользователи, но когда я подключаюсь к своему приложению с новыми учетными данными, я получаю сообщение об ошибке PROCEDURE DOESNTT EXIST Я знаю, что проблема с ролями или привилегиями, но не могу понять, что это такое.
Может ли кто-то с большим опытом направить меня в правильном направлении?
Заранее спасибо!
Код:
1) create user myuser identified by pass2;
2) ALTER USER "myuser" DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK ;
3) GRANT "DBA","CONNECT","our_USER","RESOURCE" TO "myuser";
4) GRANT create database link TO "myuser";
GRANT create materialized view TO "myuser";
GRANT create procedure TO "myuser";
GRANT create public synonym TO "myuser";
GRANT create role TO "myuser";
GRANT create sequence TO "myuser";
GRANT create synonym TO "myuser";
GRANT create table TO "myuser";
GRANT create trigger TO "myuser";
GRANT create type TO "myuser";
GRANT create view TO "myuser";
GRANT create tablespace TO "myuser";
GRANT create session TO "myuser";
3 ответа
Я знаю, что это было какое-то время, но я заметил, что несколько человек посмотрели этот пост, поэтому я решил опубликовать, в чем проблема, надеясь, что это может кому-то помочь. Ну в нашем случае это была проблема со схемами, поэтому триггер потребовался лико так:
create or replace TRIGGER my_user.swithtomyschema
AFTER LOGON ON my_user.SCHEMA
BEGIN
EXECUTE IMMEDIATE 'ALTER SESSION SET CURRENT_SCHEMA=my_schema';
END;
Я знаю это сейчас, так что это кажется простым, но тогда я был новичком в системе, и мне потребовались дни, пока я не понял, что с ним не так. Я надеюсь, что никто не находится в такой же ситуации, но если вы, я надеюсь, вы найдете этот ответ, и он укажет вам правильное направление. Удачи!
И спасибо всем, кто пытался помочь!
Чтобы создать нового пользователя в oracle, вы можете сделать это следующим образом: Создать пользователя (имя_пользователя), идентифицируемого (Pass_word) Учетная запись (блокировка / разблокировка) Qouta (user_space) для пользователей; Exmaple:
create user Muwaffaq identified by PassWo
Account unlock quota 15m on users;
После создания пользователя вы чаще всего предоставляете ему привилегии для создания сеанса, создания таблицы, создания триггера... и т. Д.
grant Create session to Muwaffaq;
grant Create user to Muwaffaq;
grant Create table to Muwaffaq;
grant Create Trigger to Muwaffaq;
grant Alter User to Muwaffaq;
grant Create Function to Muwaffaq;
grant Create sequnce to Muwaffaq;
grant Create procedure to Muwaffaq;
.....так далее
Наиболее важными привилегиями, которые позволяют вам подключаться к вашему пользователю, является "Создать сеанс", который вы должны предоставить каждому пользователю.
Во-первых, когда вы создаете пользователя в Oracle лучше, чтобы создать полностью и дать место для хранения Пример:
Create user "Myuser" identified by pass2
quota 15M on users Account unlock;
Чем создать, а затем внести изменения в структуру. И пользователь, с которым вы работаете над созданием новых пользователей, должен иметь полные полные разрешения с возможностью предоставления другим пользователям, тогда вы дадите им разрешения, как в этом примере:
GRANT DBA,CONNECT,RESOURCE TO myuser;
GRANT create database link TO myuser;
GRANT create materialized view TO myuser;
GRANT create procedure TO myuser;
GRANT create public synonym TO myuser;
GRANT create role TO myuser;
GRANT create sequence TO myuser;
GRANT create synonym TO myuser;
GRANT create table TO myuser;
GRANT create trigger TO myuser;
GRANT create type TO myuser;
GRANT create view TO myuser;
GRANT create tablespace TO myuser;
GRANT create session TO myuser;
так далее...