create schema "s-t" authorization eh;
报错 ora-02420 缺失方案授权字句
如果我create schema authorization eh;
也即用默认的用户名作为模式名 就正确,
但是我想现在 在eh用户下 创建 一个 不同的模式名 ,
是不是 就是不可以呢,oracle必须一个用户只能对应
一个模式吗,最好能讲下机制 什么的就更好了,3Q.
create schema "s-t" authorization eh;
报错 ora-02420 缺失方案授权字句
如果我create schema authorization eh;
也即用默认的用户名作为模式名 就正确,
但是我想现在 在eh用户下 创建 一个 不同的模式名 ,
是不是 就是不可以呢,oracle必须一个用户只能对应
一个模式吗,最好能讲下机制 什么的就更好了,3Q.
以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在Oracle中,每个用户的权限和模式都是独立的。这意味着同一个用户可以有多个不同的模式,而这些模式具有不同的权限。
在创建模式时,你通常会指定一个AUTHORIZATION语句来定义模式的所有者(通常是系统管理员)以及允许访问模式的所有用户。例如:
CREATE SCHEMA s-t AUTHORIZATION SYSTEM;
在这个例子中,SYSTEM表示模式的所有者,而S-T是模式的名字。然后你可以使用这个模式来创建其他表、视图等对象。
如果你尝试创建一个新的模式,但没有提供AUTHORIZATION语句,那么系统将无法识别你的模式,并且可能会抛出错误。
如果你想在一个用户下创建一个不同的模式,你需要为新创建的模式指定一个新的AUTHORIZATION语句。例如:
CREATE SCHEMA new_s-t AUTHORIZATION new_user;
在这个例子中,new_user是你想要创建的新模式的所有者。
总的来说,Oracle的设计目的是为了保持数据库的一致性和安全性,因此不同用户应该有不同的模式。这样可以避免混淆和未经授权的访问。