关于Oracle 19c中的“alter session set container = orclpdb”

问题描述 投票:0回答:1

向大家问好;

刚刚在我的笔记本电脑上安装了

Oracle 19c
(
Win10 64bit
)。以下是我所做的:

  • Step1:登录SQL plus为
    SYS AS SYSDBA
  • Step2:运行语句
    alter session set container = orclpdb;
  • Step3:创建一个用户,一些表,并向表中插入一些数据。

在会话中,我可以查询表并查看结果。但是当我注销并重新登录时,我就看不到表格了。我必须运行语句

alter session set container = orclpdb;
,然后我才能看到表格。

如果不运行

Alter session...
语句,我无法创建用户。我收到以下错误:

SQL> CREATE USER tester IDENTIFIED BY tester;

CREATE USER tester IDENTIFIED BY tester
            *
ERROR at line 1:

ORA-65096: invalid common user or role name

我只想查看表格而不运行语句

alter session set container = orclpdb;
,我该怎么办?

谢谢!


巴赫,

感谢您的信息。这是我的错,我真的想创建一个用户而不是一个表。

下面正是我想要的第二个链接:

未记录如果您真的、真的、真的想创建一个可以登录任何数据库的用户(不仅仅是根数据库,而是一个实际的全局用户),但没有“C##”前缀,您可以更改下划线参数:

更改系统设置“_common_user_prefix”=''scope=spfile;

如果您这样做,并重新启动数据库,您将被允许创建一个不带 C## 前缀的全局用户。

将 dba 授予由 ThisIsMyPassword 容器标识的 kaley = all;

sql oracle
1个回答
0
投票

在编辑帖子时,您将创建一个用户(架构),而不是表。

当您在CDB而不是PDB中创建用户时,您必须创建一个普通用户(以C##开头,可以存在于CDB和所有PDB中)。

因此,要么将用户更改为 C##tester,要么应该切换到 pdb

orclpdb
作为
ALTER SESION
语句,以便仅为该 PDB 创建用户。

您的问题是您还不熟悉新的 Oracle CDB,您应该阅读更多相关文档。

© www.soinside.com 2019 - 2024. All rights reserved.