您好,我遇到 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 会话中创建此用户以删除限制,我该怎么做????
创建普通用户: 如果您打算让该用户存在于所有 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 的限制。