Jak utworzyć przestrzeń tabel w Oracle 11g?

29

Nie jestem zbyt bystry w Oracle i próbowałem utworzyć TABLESPACE, który wciąż wyświetla mi komunikat o błędzie o niepoprawnej nazwie pliku. Poniżej znajduje się składnia, której użyłem:

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

W mojej książce i we wszystkich witrynach internetowych, które miałem sugerować, podaję ścieżkę do pliku DATAFILE, a kiedy podam ścieżkę, pojawia się kolejny komunikat o błędzie.

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

Czy muszę najpierw utworzyć plik danych, zanim będę mógł utworzyć TABLESPACE? Czy w bazie danych są istniejące pliki danych, których mogę użyć? Jaka byłaby właściwa składnia do utworzenia obszaru tabel i / lub pliku danych? Jak i gdzie utworzyć plik .dbf w celu utworzenia obszaru tabel?

Leigh Riffel
źródło
Głosowanie za migracją do ServerFault, ponieważ chodzi o administrowanie bazą danych.
7
Wiem, że to bardzo późna odpowiedź, ale jak myślisz, co robią administratorzy baz danych? :-)
Marian

Odpowiedzi:

27

Odpowiedź na twoje pytanie można znaleźć w Skorowidzu języka SQL (fragment poniżej).

Tworzenie podstawowych przestrzeni tabel: przykłady

Ta instrukcja tworzy przestrzeń tabel o nazwie tbs_01 z jednym plikiem danych:

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

Wygląda na to, że dopiero zaczynasz korzystać z baz danych Oracle. Oracle udostępnia bogatą dokumentację na stronie http://docs.oracle.com/en/database . W szczególności polecam przeczytanie ich doskonałego wprowadzenia do bazy danych o nazwie Przewodnik pojęciach .

Leigh Riffel
źródło
9

Oczywiście, jeśli chcesz plik danych, musisz nadać mu nazwę:

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

Istnieje wiele przykładów tego, jeśli wykonujesz bardzo proste wyszukiwanie .

Gajusz
źródło
rtfg eh? hej, przeszukam to ....
orbfish
8
CREATE TABLESPACE <tablespace_name>
  DATAFILE 'datafile_name.dbf'
  SIZE 20M AUTOEXTEND ON;

gdzie 20 mln to rozmiar pliku danych. AutoExtend On => rozmiar jest automatycznie rozszerzany po wypełnieniu pliku danych.

Vimalnath
źródło
8

W przypadku tego rodzaju bardzo podstawowych pytań, takich jak „Jak utworzyć przestrzeń tabel w Oracle?” Zdecydowanie polecam bardzo dobrą dokumentację online .

W tym konkretnym przypadku przejdziesz do Przewodnika administratora bazy danych Oracle® 11g Release 2 (11.2) - Tworzenie obszarów tabel

Uwe Hesse
źródło
5

Upewnij się, że folder plików danych istnieje. W systemie UNIX wykonaj następujące czynności:

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

mkdir -p /home/oracle/hait

Wreszcie, jeśli korzystasz z Oracle 11g, w którym zarządzanie obszarem tabel ma charakter wyłącznie lokalny, możesz wykonać następujące czynności:

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

To nie zadziała w Oracle 7 lub 8i; musisz jasno określić, w jaki sposób będą zarządzane twoje zakresy.

Tendo Kaluma
źródło
3
SQL> create tablespace vania
2 datafile 'D:/home/oracle/hait/vania01.dbf'
3 size 10M
4 ;
Stoczek
źródło
1
Czy mógłbyś wyjaśnić to nieco dalej?
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
źródło