Oracle 23用户与Schema关系及跨数据库访问问题咨询
Oracle 23c 用户与Schema相关问题解答
1. 传统用户与同名Schema的机制是否仍适用?
在Oracle 23c中,传统的“用户拥有同名Schema”机制依然完全适用。创建用户时,Oracle会自动生成一个与用户名同名的Schema,该用户默认拥有此Schema下所有对象的完整权限,这和早期版本的行为一致。
同时,Oracle 23c新增了无用户Schema的特性——你可以单独创建不关联任何用户的Schema,不过这是可选的扩展功能,不会影响原有机制的使用。
2. Oracle 23c 用户能否像MySQL那样访问多个数据库?
首先需要明确Oracle与MySQL的“数据库”概念差异:
- MySQL中的“database”对应Oracle中的Schema;
- Oracle中的“Database”通常指CDB(容器数据库),其下包含多个PDB(可插拔数据库),每个PDB相当于一个独立的业务数据库实例。
基于这个差异,Oracle 23c的用户访问范围分为两种情况:
- CDB级公共用户(Common User):这类用户在CDB中创建,拥有跨PDB的访问权限,只要被授予对应PDB的权限,就能访问多个PDB中的对象;
- PDB级本地用户(Local User):这类用户仅在单个PDB内创建,只能访问所在PDB中的对象,若要访问其他PDB,需要先切换到目标PDB并获得授权。
另外,在同一个PDB内,用户只要获得相应权限,就可以访问其他Schema下的对象,这和MySQL中跨database访问的体验类似,但本质是跨Schema而非跨Database。
内容的提问来源于stack exchange,提问作者Bea Pérez Valle
相关产品推荐
相关产品推荐

