如何设置PDB容器数据库中限制本地Common与Local用户权限的方法?

2026-04-30 14:061阅读0评论SEO基础
  • 内容介绍
  • 相关推荐

本文共计1067个文字,预计阅读时间需要5分钟。

如何设置PDB容器数据库中限制本地Common与Local用户权限的方法?

相关专题

Common 用户在 PDB 中为什么不能被删除或禁用

common 用户(如 c##admin)是在 cdb 根容器中创建、以 c## 或其他指定前缀开头、且带有 container=all 的用户。它们自动存在于所有 pdb 中,但**无法在 pdb 级别单独删除、锁定或修改密码**——任何这类操作都会报错 ora-65048: error encountered when processing the current ddl statement in pluggable database

真正能控制其行为的只有 CDB$ROOT 中的 DROP USERALTER USER ... ACCOUNT LOCK,而且必须加 CONTAINER=ALL 才生效。

  • 在 PDB 中执行 ALTER USER c##foo ACCOUNT LOCK → 报 ORA-65048
  • 在 CDB$ROOT 中执行 ALTER USER c##foo ACCOUNT LOCK CONTAINER=ALL → 成功,所有 PDB 中该用户均被锁
  • 想让某个 PDB “看不见” Common 用户?做不到。它始终存在,只是权限受限

Local 用户在 PDB 中如何创建与权限隔离

Local 用户只存在于当前 PDB,名字不能带 C## 前缀,在 CDB$ROOT 中查不到,也完全不受 CDB 级策略影响。这是实现“PDB 级账号隔离”的实际手段。

阅读全文

本文共计1067个文字,预计阅读时间需要5分钟。

如何设置PDB容器数据库中限制本地Common与Local用户权限的方法?

相关专题

Common 用户在 PDB 中为什么不能被删除或禁用

common 用户(如 c##admin)是在 cdb 根容器中创建、以 c## 或其他指定前缀开头、且带有 container=all 的用户。它们自动存在于所有 pdb 中,但**无法在 pdb 级别单独删除、锁定或修改密码**——任何这类操作都会报错 ora-65048: error encountered when processing the current ddl statement in pluggable database

真正能控制其行为的只有 CDB$ROOT 中的 DROP USERALTER USER ... ACCOUNT LOCK,而且必须加 CONTAINER=ALL 才生效。

  • 在 PDB 中执行 ALTER USER c##foo ACCOUNT LOCK → 报 ORA-65048
  • 在 CDB$ROOT 中执行 ALTER USER c##foo ACCOUNT LOCK CONTAINER=ALL → 成功,所有 PDB 中该用户均被锁
  • 想让某个 PDB “看不见” Common 用户?做不到。它始终存在,只是权限受限

Local 用户在 PDB 中如何创建与权限隔离

Local 用户只存在于当前 PDB,名字不能带 C## 前缀,在 CDB$ROOT 中查不到,也完全不受 CDB 级策略影响。这是实现“PDB 级账号隔离”的实际手段。

阅读全文