【问题标题】:How to create user and give access to a database如何创建用户并授予对数据库的访问权限
【发布时间】:2016-03-21 04:09:57
【问题描述】:

如何在 oracle 10 g (TOAD/SQL Developer/SQL Plus) 中创建一个新用户并授予他对 ORCL 数据库的访问权限。我尝试在 SQL Developer 中执行此操作,但是当我尝试使用新创建的用户登录时,它显示 "Insufficient privileges"

【问题讨论】:

  • create user my_user identified by my_password 然后grant dba to my_user; p.s.这个问题有据可查
  • @are 你在哪里定义了你授予这个用户访问哪个数据库?
  • @WasimQadir 你确定你的意思是数据库而不是模式?数据库是物理层面的隔离,模式只是逻辑上的隔离。用户和模式是同义词。除非您创建了所需的数据库链接并让用户这样做,否则用户无法访问另一个数据库。
  • 请不要将 DBA 授予用户。从所需的最低权限开始,例如 CONNECT 并从那里开始

标签: oracle oracle10g


【解决方案1】:

我认为您可能对 databaseschema 感到困惑。另外,请记住,userschema 是同义词。模式包含用户拥有的对象集。除此之外,它们是相似的。

你需要做的是:

SQL> create user test_new identified by test_new;

User created.

SQL> grant create session to test_new;

Grant succeeded.

SQL> conn test_new/test_new@pdborcl;
Connected.
SQL> show user
USER is "TEST_NEW"

以上示例展示了如何创建用户授予创建会话权限只是为了确保用户至少能够连接。您显然需要更多权限让用户执行更多任务。

通常,您会创建角色并将所需的权限授予角色。然后将角色分配给用户。


更新

根据 cmets,OP 无法通过 SQL*Developer 进行连接。

但是当我尝试登录 SQLDeveloper 时,我收到错误消息,当角色设置为 SysDba 时权限不足

您不应将 SYSDBA 用于 SYS 以外的普通用户。

ORA-01017:用户名/密码无效;登录被拒绝

您的用户名或密码不正确。在 SQL*Developer 中您需要正确地提供

  1. 用户名
  2. 密码
  3. 主机名
  4. 端口
  5. 服务名称

测试连接,如果连接成功,开始使用。

【讨论】:

  • 这在 SQLPLUS/命令提示符下工作正常,但是当我尝试登录 SQLDeveloper 时,当角色设置为 SysDba,但角色设置为 Default 时,我收到错误消息 Insufficient privilegesORA-01017: invalid username/password; logon denied
猜你喜欢
  • 1970-01-01
  • 2013-10-01
  • 2021-02-05
  • 1970-01-01
  • 1970-01-01
  • 2015-02-16
  • 1970-01-01
  • 2018-03-21
  • 2016-11-04
相关资源
最近更新 更多