如何删除Oracle数据库PDB限制

lyfkaqu1  于 2023-10-16  发布在  Oracle
关注(0)|答案(1)|浏览(115)

嗨,我正面临着PDB的数据库问题,我检查了PDB ORC 1 PDB是受限制的.

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

我正试图删除限制,所以我读到,我需要解决执行命令后发现的错误:

SELECT * FROM pdb_plug_in_violations;

我发现了错误:
在“CREATE USER“CREATE USER C##J5DEV_DB”IDENTIFIED By *DE“期间,同步PDB失败,ORA-959
所以我读到我需要在PDB会话中创建此用户,我更改了会话:

ALTER SESSION SET CONTAINER = ORC1PDB;

并尝试重新创建用户:

CREATE USER C##J5DEV_DB

但结果是
ORA-65094本地用户或角色名称无效
我知道字符##可能是无效的,但我需要在PDB会话中创建此用户以删除限制,如何才能做到这一点????

rjee0c15

rjee0c151#

创建一个普通用户:如果您打算让此用户存在于所有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的限制。

相关问题