文档解释
ORA-02199: missing DATAFILE/TEMPFILE clause
Cause: A CREATE TABLESPACE statement has no DATAFILE/TEMPFILE clause.
Action: Specify a DATAFILE/TEMPFILE clause.
ORA-02199表示缺少DATAFILE/TEMPFILE子句,其出现的原因通常是用户在创建新表空间时未正确指定新表空间拥有的数据文件。
官方解释
ORA-02199 由于没有指定 DATAFILE 或 TEMPFILE 子句而引发的错误。必须要求给每个表空间添加至少一个存储其对象的数据文件或临时文件子句。这在使用 CREATE TABLESPACE 子句时必须指定,在使用 ALTER TABLESPACE … ADD DATAFILE 或 ALTER TABLESPACE … ADD TEMPFILE 子句时可选择指定。
常见案例
比如,下面的 SQL 语句会产生 ORA-02199 错误。
创建表空间错误:
SQL> CREATE TABLESPACE sales
LOGGING
DATAFILE ‘/oracle/sales.dbf’;
正确处理:
要正确处理此错误,则必须指定新表中的数据文件或临时文件。如下所示:
正确的创建表空间语句:
SQL> CREATE TABLESPACE sales
LOGGING
DATAFILE ‘/oracle/sales.dbf’ size 40G
EXTENT MANAGEMENT LOCAL;