我在Oracle中不太熟练,并且我一直在尝试创建一个TABLESPACE,它不断为我提供无效文件名的错误消息。以下是我使用的语法:

SQL> create Tablespace HRMT
2 datafile
3 size
4 ;
size
*
ERROR at line 3:
ORA-02236: invalid file name


我的书和所有我曾经建议我指定DATAFILE的文件路径的网站指定路径,我会收到另一条错误消息。

SQL> create tablespace vania
2 datafile 'home/oracle/hait/'
3 size 10M
4 ;
create tablespace vania
*
ERROR at line 1:
ORA-01119: error in creating database file 'home/oracle/hait/'
ORA-27040: file create error, unable to create file
Linux Error: 2: No such file or directory


在创建TABLESPACE之前,是否需要先创建数据文件?我可以使用数据库中已有的数据文件吗?创建表空间和/或数据文件的正确语法是什么?如何以及在何处创建.dbf文件来创建表空间?

评论

投票迁移到ServerFault,因为这与数据库的管理有关。

我知道这是一个非常晚的答案,但是您认为数据库管理员会做什么? :-)

#1 楼

您的问题的答案可以在《 SQL语言参考》(以下摘录)中找到。


创建基本表空间:示例

该语句创建一个名为tbs_01的表空间,其中包含一个数据文件:

CREATE TABLESPACE tbs_01 DATAFILE 'tbs_f2.dbf' SIZE 40M ONLINE;


听起来您是Oracle数据库的新手。 Oracle在http://docs.oracle.com/en/database上提供了大量文档。具体来说,我建议阅读他们对数据库的出色介绍,即概念指南。

#2 楼

显然,如果您想要一个数据文件,则必须给它起一个名字:

SQL> create tablespace vania
2 datafile '/home/oracle/hait/vania01.dbf'
3 size 10M
4 ;


如果您进行非常简单的搜索,就会有很多这样的示例。

评论


rtfg是吗?嘿,我会搜索的。

–orbfish
2011年3月30日17:36

只需使用Bing谷歌搜索...

–yossico
20 Mar 31 '14:54

#3 楼

CREATE TABLESPACE <tablespace_name>
  DATAFILE 'datafile_name.dbf'
  SIZE 20M AUTOEXTEND ON;


其中20M是数据文件的大小。
AutoExtend On =>大小会随着数据文件的填充而自动扩展。

#4 楼

对于这类非常基本的问题,例如
“如何在Oracle中创建表空间?”
我强烈推荐非常好的在线文档。

在特定情况下,您可以从那里转到Oracle®数据库管理员指南
11g第2版(11.2)-创建表空间

#5 楼

确保您的数据文件文件夹存在。在UNIX上,请执行以下操作:

ls /home/oracle/hait  #if you get an error here, it means you need to create the folder first

mkdir -p /home/oracle/hait


最后,如果您在Oracle 11g中表空间管理完全是本地的,则可以
执行以下操作:

create tablespace vania datafile '/home/oracle/hait/vania01.dbf' size 10M;


这在Oracle 7或8i中不起作用;您必须明确指定如何管理您的扩展区。

#6 楼

SQL> create tablespace vania
2 datafile 'D:/home/oracle/hait/vania01.dbf'
3 size 10M
4 ;


评论


您能对此做进一步解释吗?

–jcolebrand♦
2011-09-17 13:56

#7 楼

create tablespace MY_TB
datafile 'D:\app\Administrator\oradata\MYORA\MY_TB.dbf'
uniform size 33K
max size unlimited
extend management local
segmentspace management manual
auto extend on next 40K
disable logging
/