李大卫 2014-10-14 02:56 采纳率: 0%
浏览 1422

oracle创建模式遇到问题

create schema "s-t" authorization eh;

报错 ora-02420 缺失方案授权字句

如果我create schema authorization eh;
也即用默认的用户名作为模式名 就正确,

但是我想现在 在eh用户下 创建 一个 不同的模式名 ,
是不是 就是不可以呢,oracle必须一个用户只能对应
一个模式吗,最好能讲下机制 什么的就更好了,3Q.

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-02 21:04
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在Oracle中,每个用户的权限和模式都是独立的。这意味着同一个用户可以有多个不同的模式,而这些模式具有不同的权限。

    在创建模式时,你通常会指定一个AUTHORIZATION语句来定义模式的所有者(通常是系统管理员)以及允许访问模式的所有用户。例如:

    CREATE SCHEMA s-t AUTHORIZATION SYSTEM;
    

    在这个例子中,SYSTEM表示模式的所有者,而S-T是模式的名字。然后你可以使用这个模式来创建其他表、视图等对象。

    如果你尝试创建一个新的模式,但没有提供AUTHORIZATION语句,那么系统将无法识别你的模式,并且可能会抛出错误。

    如果你想在一个用户下创建一个不同的模式,你需要为新创建的模式指定一个新的AUTHORIZATION语句。例如:

    CREATE SCHEMA new_s-t AUTHORIZATION new_user;
    

    在这个例子中,new_user是你想要创建的新模式的所有者。

    总的来说,Oracle的设计目的是为了保持数据库的一致性和安全性,因此不同用户应该有不同的模式。这样可以避免混淆和未经授权的访问。

    评论

报告相同问题?