0

我对 oracle 数据库非常陌生,请原谅我的问题中的任何技术错误。我正在使用oracle 19c,我认为我的“system”用户密码与“sysdba”密码不同。在安装时我每次都使用相同的密码,但现在在连接到系统或 "\ as sysdba" 时,连接没有问题,但是当我输入 "orcl_listener" 或 "orcl" 或 "sysdba" 的密码时,密码错误。例如:conn sysdba 输入密码:错误:ORA-01017:用户名/密码无效;登录被拒绝

在 SQL Developer 中创建新连接时,我使用用户名作为系统,并且密码正确。当我在 SQL Developer 中创建新连接时成功,我使用用户名作为 \ 因为 sysdba 并且密码是正确的。当我在 SQL Developer 中创建新连接时成功,我使用用户名作为 sysdba 并且密码是正确的。不成功并且错误说状态:失败-测试失败:ORA-01017:用户名/密码无效;login denied


现在第二个问题是,在使用系统用户名作为密码在 SQL 开发人员中创建新连接后,我展开了连接,在底部,我右键单击其他用户并使用用户名“hr”创建了一个新用户,在这里它说“ORA-65096:无效的普通用户或角色名称”。当我使用 c## 作为前缀时,没有发生错误,但我不想要任何 c##,这意味着它必须是本地用户,但在哪里创建选项本地用户?请帮我。

4

1 回答 1

1

要了解普通用户和本地用户,首先要了解 Oracle 中的多租户架构:容器数据库 (CDB) 和可插拔数据库 (PDB)。

在多租户架构中,您只能在 PDB 中创建本地用户。

以用户 SYS 的身份创建与 SQL*Plus 连接的本地用户:

检查您当前的 CDB/PDB

show con_name

列出现有的 PDBS

show pdbs

转到现有的 PDB:

alter session set container=mypdb;

检查您当前的 PDB

show con_name

在当前 PDB 中创建本地用户并授予一些基本权限:

create user myuser identified by "mypwd" quota unlimited on tablespace myts;
grant create session to myuser;
grant create table to myuser; 

要使用 SQL*Plus 直接连接到此 PDB,您必须为此 PDB 使用 Oracle Net 服务:

sqlplus myuser/mypwd@myhost:myport/mypdb
于 2020-05-16T16:41:36.920 回答