我尝试使用SQL命令行在Oracle 11 g数据库中创建角色,但收到与权限不足相关的错误。具体而言,我尝试向用户帐户授予“CREATE ANY ROLE”权限,但收到“ORA-00911:无效字符”错误。
采取的步骤:
- 在Oracle 11 g上使用名为“21F_9208”的用户帐户创建了新数据库。
- 已使用SQL命令行连接到数据库,并验证用户帐户是否可以查看数据库中的表。
- 已尝试使用以下SQL命令创建新角色:
- 创建角色超级管理员;
- 收到一条错误消息,指出用户没有足够的权限创建角色。
- 已尝试使用以下SQL命令向用户帐户授予“CREATE ANY ROLE”权限:
- 授予创建任何角色到21F_9208;
- 收到“ORA-00911:无效字符”错误消息。
聊天GPT的潜在解决方案,但我是初学者,所以没有帮助我:
- 验证用户帐户是否具有创建角色和授予权限所需的权限。这可能涉及使用SQL命令行或Oracle Enterprise Manager检查用户的角色和权限。
- 检查SQL命令的语法,确保它们的格式正确,并且不包含任何拼写错误或错误。
- 请与Oracle支持部门联系,以获得解决问题的帮助,特别是在用户没有执行所需任务的必要权限时。
我只是想给我的oracle 11 g db2 1F_9208授予权限,这样我就可以执行以下语句来完成我的分配:向超级管理员授予SELECT、INSERT、UPDATE、DELETE权限;
这是一个需要被授予权限的角色,它可以在admin表上执行以下操作
1条答案
按热度按时间t5fffqht1#
只有特权用户(如
SYS
,除非您自己创建了)可以创建新用户。这意味着
SYS
首先必须(by顺便说一句,这是选择不当的用户名;你为什么要这样设置它?现在你必须每次都用双引号来限定它,因为它的名字以数字开头。这就是你得到错误的原因:“
ORA-00911: invalid character
”)。该用户(
"21F_9208"
)显然拥有名为admin
的表,因为您希望将其DML权限(选择、插入...)授予新创建的角色superadmin
。这里有一个演练。
创建新用户:
授予基本权限(只是为了使这个例子工作):
作为新创建的用户连接:
创建表格:
创建角色:
向角色授予权限: