首页 > 解决方案 > oracle数据库,将数据文件添加到现有表空间时出错

问题描述

我想将数据文件添加到现有表空间。我正在使用的命令是:

ALTER TABLESPACE "HIGH_VOLUME"
ADD DATAFILE '/data2/oracle/oradata/CMGPERF02/hv05.dbf'
SIZE 30G AUTOEXTEND ON NEXT 100M LOGGING DEFAULT NOCOMPRESS ONLINE EXTENT 
MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO;

错误:

从第 28 行开始的错误命令 - ALTER TABLESPACE "HIGH_VOLUME" ADD DATAFILE '/data2/oracle/oradata/CMGPERF02/hv05.dbf' SIZE 30G AUTOEXTEND ON NEXT 100M LOGGING DEFAULT NOCOMPRESS ONLINE EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO 错误报告- ORA-00933: SQL 命令未正确结束 00933. 00000 - “SQL 命令未正确结束”

我有 sysdba 访问权限,所以我猜这可能不是与访问相关的问题。即使我在 oracle docs 网站上搜索并写了答案。

ALTER TABLESPACE lmtbsb
ADD DATAFILE '/u02/oracle/data/lmtbsb02.dbf' SIZE 1M;

我可能有语法错误。请帮我纠正它。Oracle 版本为 12.1.0.2。

谢谢

标签: databaseoracle

解决方案


这些文档阅读起来非常混乱,但基本上你将表空间级别的选项(如日志记录和压缩)与一个ADD DATAFILE不起作用的子句组合在一起。唯一可以遵循的选项ADD DATAFILE是 SIZE、REUSE 和 AUTOEXTEND。如果要更改表空间选项,请使用单独的ALTER TABLESPACE命令。

ALTER TABLESPACE "HIGH_VOLUME" 
ADD DATAFILE '/data2/oracle/oradata/CMGPERF02/hv05.dbf' 
SIZE 30G 
AUTOEXTEND ON NEXT 100M
-- These are tablespace options which can't be applied to single datafiles: 
--LOGGING 
--DEFAULT 
--NOCOMPRESS 
--ONLINE 
--EXTENT MANAGEMENT LOCAL AUTOALLOCATE 
--SEGMENT SPACE MANAGEMENT AUTO

推荐阅读