如何在oracle中创建新架构并列出所有架构名称

Rav*_*avi 7 oracle schema authorization database-schema

我想在oracle中创建一个新模式,我使用了示例代码,可在此处获得

CREATE SCHEMA AUTHORIZATION oe
   CREATE TABLE new_product
      (color VARCHAR2(10)  PRIMARY KEY, quantity NUMBER)
   CREATE VIEW new_product_view
      AS SELECT color, quantity FROM new_product WHERE color = 'RED'
   GRANT select ON new_product_view TO scott
/
Run Code Online (Sandbox Code Playgroud)

但是,得到错误

ERROR at line 1:
ORA-02421: missing or invalid schema authorization identifier
Run Code Online (Sandbox Code Playgroud)

另外,请帮我如何列出所有可用架构的名称.我在用

 select username from dba_users;
Run Code Online (Sandbox Code Playgroud)

列出模式,但我认为,它不是一个正确的方法,因为,用户和模式具有多对多的关系,这意味着我无法在此获取所有模式名称.

请帮我 !!

A.B*_*ade 13

从oracle 文档:

该语句实际上并不创建模式.创建用户时,Oracle数据库会自动创建架构

因此,您首先需要使用模式名称创建用户

至于你的查询,没关系,因为用户名列表等于模式名称不可用


更新:我现在无法真正测试它,但应该是这样的:

CREATE USER oe IDENTIFIED BY oePSWRD;

CREATE SCHEMA AUTHORIZATION oe
   CREATE TABLE new_product
      (color VARCHAR2(10)  PRIMARY KEY, quantity NUMBER)
   CREATE VIEW new_product_view
      AS SELECT color, quantity FROM new_product WHERE color = 'RED'
   GRANT select ON new_product_view TO scott;
Run Code Online (Sandbox Code Playgroud)