oracle database 19c - grant [rolename] to [user] 错误 ORA-01917: 用户或角色不存在
oracle database 19c - grant [rolename] to [user] error ORA-01917: user or role does not exist
我使用此脚本为 oracle 数据库 19c 创建用户和角色并出现错误 ORA-01917
CREATE ROLE C##readonlyrole;
CREATE USER "C##lysjr_ro" IDENTIFIED BY "XXXXXXXPASWORD"
DEFAULT TABLESPACE "XXX_TABLE_SPACE"
TEMPORARY TABLESPACE "XXX_TABLE_SPACE_TEMP";
GRANT CREATE SESSION to C##readonlyrole;
BEGIN
FOR x IN (SELECT * FROM dba_tables WHERE owner='C##lysjr_ro')
LOOP
EXECUTE IMMEDIATE 'GRANT SELECT ON schema_name.' || x.table_name ||
' TO C##readonlyrole';
END LOOP;
END;
GRANT C##readonlyrole TO C##lysjr_ro;
但是
GRANT C##readonlyrole TO C##lysjr_ro;
显示错误报告和结果:
GRANT C##readonlyrole TO C##lysjr_ro
Error report -
ORA-01917: user or role 'C##lysjr_ro' does not exist
01917. 00000 - "user or role '%s' does not exist"
*Cause: There is not a user or role by that name.
*Action: Re-specify the name.
现在我能做什么?
尝试不要在创建用户命令中使用引号:
CREATE USER C##lysjr_ro IDENTIFIED BY XXXXXXXPASWORD
DEFAULT TABLESPACE XXX_TABLE_SPACE
TEMPORARY TABLESPACE XXX_TABLE_SPACE_TEMP;
我使用此脚本为 oracle 数据库 19c 创建用户和角色并出现错误 ORA-01917
CREATE ROLE C##readonlyrole;
CREATE USER "C##lysjr_ro" IDENTIFIED BY "XXXXXXXPASWORD"
DEFAULT TABLESPACE "XXX_TABLE_SPACE"
TEMPORARY TABLESPACE "XXX_TABLE_SPACE_TEMP";
GRANT CREATE SESSION to C##readonlyrole;
BEGIN
FOR x IN (SELECT * FROM dba_tables WHERE owner='C##lysjr_ro')
LOOP
EXECUTE IMMEDIATE 'GRANT SELECT ON schema_name.' || x.table_name ||
' TO C##readonlyrole';
END LOOP;
END;
GRANT C##readonlyrole TO C##lysjr_ro;
但是
GRANT C##readonlyrole TO C##lysjr_ro;
显示错误报告和结果:
GRANT C##readonlyrole TO C##lysjr_ro
Error report -
ORA-01917: user or role 'C##lysjr_ro' does not exist
01917. 00000 - "user or role '%s' does not exist"
*Cause: There is not a user or role by that name.
*Action: Re-specify the name.
现在我能做什么?
尝试不要在创建用户命令中使用引号:
CREATE USER C##lysjr_ro IDENTIFIED BY XXXXXXXPASWORD
DEFAULT TABLESPACE XXX_TABLE_SPACE
TEMPORARY TABLESPACE XXX_TABLE_SPACE_TEMP;