【发布时间】:2017-09-10 17:50:41
【问题描述】:
我正在尝试在我的 AWS Oracle 12 RDS 实例上安装 APEX。为了实现这一点,我遵循以下说明:http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.APEX.HTML
但是,我被困在第 7 步:
第 7 步:
您必须为 APEX 管理员用户设置密码。为此,请使用 SQL*Plus 以主用户身份连接到您的数据库实例,然后 发出以下命令:
将 APEX_ADMINISTRATOR_ROLE 授予 master;
@/home/apexuser/apex/apxchpwd.sql
将 master 替换为您的主用户名。当 apxchpwd.sql 脚本提示您,输入新的管理员密码
当我使用主用户登录我的 RDS 实例并执行以下操作时:
grant APEX_ADMINISTRATOR_ROLE to [mymasteruser];
我收到了这个错误:
ERROR at line 1:
ORA-01924: role 'APEX_ADMINISTRATOR_ROLE' not granted or does not exist
你能帮我解决这个问题吗?
2017 年 9 月 12 日编辑。
使用此帖子/答案:
https://serverfault.com/questions/276541/how-do-you-recover-you-rds-master-user-username
我了解我的主用户如下图所示。据我所知,在 RDS 实例中,我无法访问 sys 或系统用户,所以这是我唯一可以使用的用户。
非常感谢
2017 年 9 月 20 日编辑。
我应用了 Alex 解决方案,并且它有效!!。但是,有一些问题需要评论:
教程改了,其实url改了,现在是
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.APEX.html(之前最后一个“html”是大写的)
但现在不可靠,有些点应该修复,例如现在它说 RDS 支持 Oracle APEX 5.1.2 版,我尝试使用此版本,但出现此错误:
另外,有些目录与前面的步骤不匹配......
所以,我使用了教程最初说的版本:Oracle APEX 版本 4.2.6.v1
我必须执行这两个语句:
EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role;
grant APEX_ADMINISTRATOR_ROLE to [master];
然后我就可以成功执行apxchpwd.sql脚本了!!。
但是,不幸的是,当我访问我的 apex 主页并尝试创建一个新的工作区“ws_prueba”时,我收到了这个错误(我正在尝试使用我的 apex 管理员用户创建它):
有什么想法吗?
【问题讨论】:
-
您以谁的身份登录以执行此语句?
-
这应该返回一条记录:select * from dba_roles where role = 'APEX_ADMINISTRATOR_ROLE';
-
我以主用户身份登录以执行授权语句。当我执行您的选择语句时。它返回 APEX_ADMINISTRATOR_ROLE 的记录。 (至少它确实存在)。
-
存在很好,但无论您的“主用户”是谁,都需要该角色的 admin_option:select * from dba_role_privs where grant_role = 'APEX_ADMINISTRATOR_ROLE'
-
是的,好像有。我执行这个选择:GRANTEE/GRANTED_ROLE/ADMIN_OPTION/DELEGATE_OPTION/DEFAULT_ROLE/COMMON SYS/APEX_ADMINISTRATOR_ROLE/YES/NO/YES/YES
标签: amazon-web-services oracle-apex amazon-rds