为其他用户oracle创建表空间
我正在使用Oracle 11g和SQL Developer 在我的数据库中,我有两个模式:模式A(与系统非常相似)和模式B。 在模式A中,我创建了另一个用户:模式C。在这里,我想在创建表空间之后立即添加一个表空间 我想要的是:创建一个脚本,该脚本通过模式a在模式C中创建一个表空间 我在模式A中,我尝试下一个代码:为其他用户oracle创建表空间,oracle,tablespace,Oracle,Tablespace,我正在使用Oracle 11g和SQL Developer 在我的数据库中,我有两个模式:模式A(与系统非常相似)和模式B。 在模式A中,我创建了另一个用户:模式C。在这里,我想在创建表空间之后立即添加一个表空间 我想要的是:创建一个脚本,该脚本通过模式a在模式C中创建一个表空间 我在模式A中,我尝试下一个代码: CREATE TABLESPACE schemaC.tableSpace_DATA DATAFILE '/u01/app/oracle/oradata/Test/fileName
CREATE TABLESPACE schemaC.tableSpace_DATA DATAFILE
'/u01/app/oracle/oradata/Test/fileName_DATA.DBF' SIZE 10M
AUTOEXTEND ON
NEXT 56K MAXSIZE UNLIMITED
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT MANUAL;
但是我得到了错误ORA-02180:“创建表空间的选项无效”。问题就在这里:schemaC.tableSpace\u DATA
,因为如果我删除schemaC,表空间就会被创建,但是在schemaA中,而不是在schemaC中
有什么建议吗?:D我想你需要换一种方式:
请参见架构不能为任何人所有。它是不同模式(用户)拥有的段的逻辑容器。请参阅《数据库概念指南》中的一节。因此,您不能说
CREATE TABLESPACE somechema.TABLESPACE\u name…
,因为正确的语法是CREATE TABLESPACE TABLESPACE\u name…
“在模式A中,我创建另一个用户:模式C”,这是非唯一的。您不会“在模式中”创建模式。用户/模式对于Oracle实例来说是全局的。表空间也是如此。它们不是在模式中创建的。同样,它们对于Oracle实例来说是全局的。我想从schemaC创建它。我与系统用户没有联系,因为schemaC拥有几乎相同的权限。谢谢Robe和Yasir。我对结构感到困惑。我认为表空间是模式中的一个元素,而不是数据库中的单个元素。