如何删除Oracle数据库PDB RESTRICTION

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

您好,我遇到 PDB 数据库问题我检查了 PDB ORC1PDB 受到限制...

CON_ID     CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         1 ORC1PDB1                       READ WRITE YES

并且我正在尝试删除限制,因此我读到我需要解决执行命令后发现的错误:

SELECT * FROM pdb_plug_in_violations;

我发现错误:

在“创建用户“CREATE USER C##J5DEV_DB”期间,同步 PDB 因 ORA-959 失败,由 *DE 识别

所以我读到我需要在 PDB 会话中创建此用户,我更改了会话:

ALTER SESSION SET CONTAINER = ORC1PDB; 

并尝试重新创建用户:

CREATE USER C##J5DEV_DB 

但结果是:

ORA-65094 无效的本地用户或角色名称

我知道字符 ## 可能无效,但我需要在 PDB 会话中创建此用户以删除限制,我该怎么做????

database oracle pdb
1个回答
0
投票

创建普通用户: 如果您打算让该用户存在于所有 PDB 中(现在和将来),那么您将在 CDB(容器数据库)根目录中创建该用户,并且它将自动传播到所有 PDB:

ALTER SESSION SET CONTAINER = CDB$ROOT;
CREATE USER C##J5DEV_DB IDENTIFIED BY your_password CONTAINER=ALL;
GRANT CREATE SESSION TO C##J5DEV_DB CONTAINER=ALL;

创建本地用户: 如果您只希望用户存在于特定的 PDB(在您的情况下为 ORC1PDB)中,则创建一个不带 C## 前缀的本地用户:

ALTER SESSION SET CONTAINER = ORC1PDB;
CREATE USER J5DEV_DB IDENTIFIED BY your_password;
GRANT CREATE SESSION TO J5DEV_DB;

成功创建用户后,再次检查 pdb_plug_in_violations 视图以确保违规已解决。如果解决了,您应该能够取消 PDB 的限制。

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