Wie erstelle ich einen Tablespace in Oracle 11g?

29

Ich bin nicht besonders versiert in Oracle und habe versucht, ein TABLESPACE zu erstellen, das mir weiterhin eine Fehlermeldung mit ungültigem Dateinamen anzeigt. Unten ist die Syntax, die ich verwendet habe:

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

In meinem Buch und auf allen Websites, auf denen ich vorgeschlagen habe, den Dateipfad für die DATENDATEI anzugeben, wird eine weitere Fehlermeldung angezeigt, wenn ich einen Pfad angebe.

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

Muss ich zuerst die Datendatei erstellen, bevor ich den TABLESPACE erstellen kann? Gibt es in der Datenbank bereits vorhandene Datendateien, die ich verwenden kann? Was wäre die richtige Syntax, um einen Tablespace und / oder eine Datendatei zu erstellen? Wie und wo erstelle ich eine DBF-Datei, um den Tablespace zu erstellen?

Leigh Riffel
quelle
Abstimmung für die Migration zu ServerFault, da es sich um die Verwaltung einer Datenbank handelt.
7
Ich weiß, dass es eine sehr, sehr späte Antwort ist, aber was glauben Sie, machen Datenbankadministratoren? :-)
Marian

Antworten:

27

Die Antwort auf Ihre Frage finden Sie in der SQL-Sprachreferenz (Auszug folgt).

Erstellen grundlegender Tablespaces: Beispiele

Diese Anweisung erstellt einen Tabellenbereich mit dem Namen tbs_01 mit einer Datendatei:

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

Es klingt, als wären Sie neu in Oracle-Datenbanken. Oracle bietet eine Fülle von Dokumentationen unter http://docs.oracle.com/en/database . Insbesondere empfehle ich, die hervorragende Einführung in die Datenbank namens Concepts Guide zu lesen .

Leigh Riffel
quelle
9

Wenn Sie eine Datendatei möchten, müssen Sie ihr natürlich einen Namen geben:

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

Es gibt jede Menge Beispiele dafür, wenn Sie eine sehr einfache Suche durchführen .

Gaius
quelle
RTFG wie? hey ich suche das ....
orbfish 30.03.11
8
CREATE TABLESPACE <tablespace_name>
  DATAFILE 'datafile_name.dbf'
  SIZE 20M AUTOEXTEND ON;

Dabei ist 20M die Größe Ihrer Datendatei. AutoExtend On => Größe wird automatisch erweitert, wenn die Datendatei gefüllt wird.

Vimalnath
quelle
8

Für diese Art von sehr grundlegenden Fragen wie "Wie erstelle ich einen Tablespace in Oracle?" Ich kann die sehr gute Online-Dokumentation nur empfehlen .

Im speziellen Fall gelangen Sie von dort zum Oracle® Database Administrator's Guide 11g Release 2 (11.2) - Erstellen von Tablespaces

Uwe Hesse
quelle
5

Stellen Sie sicher, dass Ihr Datendateiordner vorhanden ist. Gehen Sie unter UNIX folgendermaßen vor:

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

mkdir -p /home/oracle/hait

Wenn Sie sich in Oracle 11g befinden, in dem die Tablespace-Verwaltung rein lokal ist, können Sie Folgendes tun:

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

Dies funktioniert in Oracle 7 oder 8i nicht. Sie müssen klar angeben, wie Ihre Extents verwaltet werden sollen.

Tendo Kaluma
quelle
3
SQL> create tablespace vania
2 datafile 'D:/home/oracle/hait/vania01.dbf'
3 size 10M
4 ;
Tauchen
quelle
1
Können Sie das etwas näher erläutern?
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
/
luqman
quelle