Як створити простір таблиць у Oracle 11g?


29

Я не надто кмітливий в Oracle, і я намагався створити ТАБЛИЦЯ, яка продовжує надсилати мені повідомлення про помилку з недійсним іменем файлу. Нижче наведений синтаксис, який я використав:

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

Чи потрібно мені створити файл даних спочатку, перш ніж я можу створити таблицю? Чи є в базі даних вже наявні файли даних, якими я можу користуватися? Який би був правильний синтаксис для створення простору таблиць та / або файлу даних? Як і де я можу створити .dbf файл для створення простору таблиць?


Голосування за перехід до ServerFault, оскільки мова йде про адміністрування бази даних.

7
Я знаю, що це дуже пізня відповідь, але що ви гадаєте, що роблять адміністратори бази даних? :-)
Маріан

Відповіді:


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;

де 20М - розмір вашого файлу даних. 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; ви повинні чітко вказати, як керуватимуть вашими розширеннями.



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
/
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.