【发布时间】:2020-09-02 10:29:28
【问题描述】:
我对 oracle 数据库非常陌生,请原谅我的问题中的任何技术错误。我正在使用 oracle 19c,我认为“system”用户的密码与“sysdba”的密码不同。在安装时,我每次都使用相同的密码,但现在在连接到系统或 "\ as sysdba" 时,连接没有问题,但是当我输入 "orcl_listener" 或 "orcl" 或 "sysdba" 的密码时,密码错误。例如: 连接系统数据库 输入密码: 错误: ORA-01017: 无效的用户名/密码;登录被拒绝
我在SQL Developer中新建连接时,使用的是用户名作为系统,密码正确。 成功 当我在 SQL Developer 中创建新连接时,我使用用户名作为 \ as sysdba 并且密码是正确的 .success 当我在 SQL Developer 中创建一个新连接时,我使用用户名作为 sysdba 并且密码是正确的。不成功并且错误说状态:失败 - 测试失败:ORA-01017:用户名/密码无效;登录被拒绝 .我是一个新用户,如果可能,请以最简单的方式向我提供oracle数据库的基本信息。
现在第二个问题是在使用系统用户名作为密码在 SQL 开发人员中创建新连接后,我展开连接,在底部,我右键单击其他用户并创建一个用户名为“hr”的新用户,这里显示“ORA-65096:无效的普通用户或角色名称”。当我使用 c## 作为前缀时,没有发生错误,但我不想要任何 c##,这意味着它必须是本地用户,但在哪里创建本地用户的选项? 请帮帮我。
【问题讨论】:
-
几个快速的想法。首先要记住操作系统用户(也许是 Linux 用户)和数据库用户之间的区别。 “orcl_listener”可能是操作系统用户;我怀疑您是否使用该名称创建了一个数据库用户。试着记住这两种类型的用户——它们是完全不同的(但是,在 SYS 的情况下,它们是相关的)。其次,SYSDBA 不是用户;相反,你
conn sys as sysdba。 SYSDBA 是 SYS 拥有的权限的集合;通常你会想con sys as sysoper这样你就不会损坏数据库中的东西。 -
现在:在大多数情况下,对于用户 SYS,您将使用操作系统身份验证;也就是说,您在登录时不需要提供数据库密码(即使您提供了,也会被忽略)。相反,数据库将相信 SYS 已通过操作系统正确登录。但是请注意,如果您设置了多租户数据库,则仅适用于根容器,不适用于可插拔数据库。
-
谢谢,但是如果我在 "\ as sysdba" 中创建一个用户,在 "SYSTEM" 中创建一个用户,那么会有什么区别?嗯,我用的是windows10平台
-
如何创建一个新的用户系统,我可以用它来存储所有数据库?我想要一个 HR 用户,一个用户定义的,如何创建?我必须创建内部系统用户吗?
-
Oracle 数据库是一个非常复杂的数据库系统,并且使用多租户选项(CDB/PDB 的东西)变得更加复杂。为了能够创建用户帐户,您需要了解很多东西,例如 CDB/PDB、表空间、安全性等。我建议您尝试使用 docs.oracle.com/en/database/oracle/oracle-database/19/admqs/… 和 OBE(以 Oracle 为例)教程进行一些自我培训。
标签: sql oracle oracle19c sysdba