【发布时间】:2017-12-31 10:20:59
【问题描述】:
我尝试创建这个程序(作为一个系统),它需要 2 个参数, 用户名和密码,并根据它们创建用户:
create or replace procedure procedure_create_client
( user_name IN varchar2 , u_password IN varchar2 ) IS
tmp_query varchar(150);
user_name_upper varchar(30) := UPPER(user_name) ;
BEGIN
tmp_query := 'create user C##' || user_name_upper || ' identified by ' || u_password ;
EXECUTE IMMEDIATE ( tmp_query );
tmp_query := 'grant create session to ' || user_name_upper ;
EXECUTE IMMEDIATE ( tmp_query );
END ;
问题是,当我尝试执行此过程(作为系统)时, 我收到了这个错误:
错误报告:ORA-01031:权限不足 ORA-06512:在 “SYSTEM.PROCEDURE_CREATE_CLIENT”,第 9 行 ORA-06512:第 1 行 01031. 00000 - “权限不足” *原因:试图更改当前用户名或密码 没有适当的特权。如果出现此错误,也会发生 试图在没有必要操作的情况下安装数据库 系统权限。 在 DBMS MAC 中配置 Trusted Oracle 时,可能会出现此错误 如果用户被授予更高标签的必要特权 比当前登录。 *Action:请求数据库管理员执行操作或授予 所需的权限。 对于受信任的 Oracle 用户,尽管授予了此错误 更高标签的适当特权,询问数据库 管理员重新授予相应标签的权限。
【问题讨论】:
标签: oracle