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



问候大家;

刚刚在我的笔记本电脑(Win10 64bit)上安装了Oracle 19c。下面是我所做的:

  • Step1: Login SQL plus asSYS AS SYSDBA
  • Step2:运行语句alter session set container = orclpdb;
  • 步骤3:创建一个用户,一些表,并插入一些数据到表中。

在会话中,我可以查询表并查看结果。但是当我退出并重新登录时,我再也看不到这些表了。我必须运行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# #"前缀,你可以改变一个下划线参数:

alter system set "_common_user_prefix">

如果你这样做,并重新启动你的数据库,你将被允许创建一个全局用户没有c# #前缀。

grant dba to kaley by ThisIsMyPassword container = all;

作为您编辑的帖子,您创建的是用户(模式),而不是表。

当你在CDB而不是PDB中创建用户时,你必须创建一个普通用户(从c#开始,可以在CDB和所有PDB中存在)。

因此,要么您将user更改为c# #tester,要么您应该将pdborclpdb切换为ALTER SESION语句,仅为该pdb创建一个用户。

你的问题是你还不熟悉新的Oracle CDB,你应该阅读更多关于这方面的文档。

最新更新