如何在Oracle 11g中创建表空间?


29

我在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,因为这与数据库的管理有关。

7
我知道这是一个非常晚的答案,但是您认为数据库管理员会怎么做?:-)
玛丽安(Marian)

Answers:


27

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

创建基本表空间:示例

该语句使用一个数据文件创建名为tbs_01的表空间:

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

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



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

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


8

对于诸如“如何在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中不起作用。您必须明确指定如何管理您的扩展区。


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

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

1
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
/
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.