Come posso creare tablespace in Oracle 11g?


29

Non sono troppo esperto in Oracle e ho cercato di creare un TABLESPACE, che continua a darmi un messaggio di errore con nome file non valido. Di seguito è la sintassi che ho usato:

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

Il mio libro e tutti i siti Web che sono stato a suggerire di specificare il percorso del file per il DATAFILE e quando specifico un percorso, ricevo un altro messaggio di errore.

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

Devo creare il file di dati prima di poter creare TABLESPACE? Ci sono file di dati preesistenti nel database che posso usare? Quale sarebbe la sintassi corretta per creare un tablespace e / o un file di dati? Come e dove posso creare un file .dbf per creare il tablespace?


Votazione per la migrazione a ServerFault, poiché si tratta dell'amministrazione di un database.

7
So che è una risposta molto tardi, ma cosa pensi che facciano gli amministratori di database? :-)
Marian,

Risposte:


27

La risposta alla tua domanda è disponibile nella Guida di riferimento al linguaggio SQL (il seguente estratto).

Creazione di tablespace di base: esempi

Questa affermazione crea un tablespace chiamato tbs_01 con un file di dati:

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

Sembra che tu non abbia familiarità con i database Oracle. Oracle fornisce una vasta gamma di documentazione su http://docs.oracle.com/en/database . In particolare, raccomando di leggere la loro eccellente introduzione al database chiamato Guida ai concetti .



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

dove 20M è la dimensione del tuo file di dati. AutoExtend On => size viene automaticamente esteso man mano che il file di dati viene riempito.



5

Assicurarsi che la cartella del file di dati esista. Su UNIX, procedi come segue:

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

mkdir -p /home/oracle/hait

Infine, se ti trovi in ​​Oracle 11g in cui la gestione del tablespace è puramente locale, puoi effettuare le seguenti operazioni:

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

Questo non funzionerà in Oracle 7 o 8i; devi specificare chiaramente come verranno gestite le tue estensioni.


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

1
Potresti spiegarlo un po 'di più?
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
/
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.