Como crio o tablespace no Oracle 11g?


29

Não sou muito experiente no Oracle e estou tentando criar um TABLESPACE, que continua me enviando uma mensagem de erro com nome de arquivo inválido. Abaixo está a sintaxe que eu usei:

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

Meu livro e todos os sites em que sugeri que especifique o caminho do arquivo para DATAFILE e, quando especifico um caminho, recebo outra mensagem de erro.

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

Preciso criar o arquivo de dados primeiro para poder criar o TABLESPACE? Existem arquivos de dados preexistentes no banco de dados que eu possa usar? Qual seria a sintaxe adequada para criar um espaço de tabela e / ou um arquivo de dados? Como e onde eu crio um arquivo .dbf para criar o espaço de tabela?


Votação para migração para ServerFault, porque se trata da administração de um banco de dados.

7
Sei que é uma resposta muito, muito tardia, mas o que você acha que os administradores de banco de dados fazem? :-)
Marian

Respostas:


27

A resposta para sua pergunta pode ser encontrada na Referência da linguagem SQL (trecho a seguir).

Criando espaços de tabela básicos: exemplos

Esta instrução cria um espaço de tabela chamado tbs_01 com um arquivo de dados:

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

Parece que você é novo nos bancos de dados Oracle. A Oracle fornece uma grande variedade de documentação em http://docs.oracle.com/en/database . Especificamente, recomendo a leitura da excelente introdução ao banco de dados chamada Guia de Conceitos .



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

onde 20M é o tamanho do seu arquivo de dados. AutoExtend On => o tamanho é automaticamente estendido à medida que o arquivo de dados é preenchido.



5

Verifique se a pasta do arquivo de dados existe. No UNIX, faça o seguinte:

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

mkdir -p /home/oracle/hait

Por fim, se você estiver no Oracle 11g, onde o gerenciamento de espaço de tabela é puramente local, faça o seguinte:

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

Isso não funcionará no Oracle 7 ou 8i; você precisa especificar claramente como suas extensões serão gerenciadas.


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

1
Você poderia explicar isso um pouco mais?
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
/
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.