ฉันจะสร้าง Tablespace ใน Oracle 11g ได้อย่างไร


29

ฉันไม่เข้าใจ Oracle มากนักและฉันพยายามสร้าง TABLESPACE ซึ่งให้ข้อความแสดงข้อผิดพลาดเกี่ยวกับชื่อไฟล์ที่ไม่ถูกต้อง ด้านล่างเป็นไวยากรณ์ที่ฉันได้ใช้:

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

ฉันต้องสร้างดาต้าไฟล์ก่อนที่จะสร้าง TABLESPACE หรือไม่ มีฐานข้อมูลที่มีอยู่แล้วในฐานข้อมูลที่ฉันสามารถใช้ได้หรือไม่? สิ่งที่จะเป็นไวยากรณ์ที่เหมาะสมในการสร้าง tablespace และ / หรือ datafile ฉันจะสร้างไฟล์. dbf ได้อย่างไรและที่ไหนเพื่อสร้างพื้นที่ตาราง


การลงคะแนนสำหรับการโยกย้ายไปยัง ServerFault เนื่องจากเป็นเรื่องเกี่ยวกับการดูแลฐานข้อมูล

7
ฉันรู้ว่ามันเป็นคำตอบที่ล่าช้ามาก แต่คุณคิดว่าผู้ดูแลระบบฐานข้อมูลทำอะไร :-)
Marian

คำตอบ:


27

คำตอบสำหรับคำถามของคุณสามารถพบได้ในการอ้างอิงภาษา SQL (ข้อความที่ตัดตอนมาดังต่อไปนี้)

การสร้าง Tablespaces พื้นฐาน: ตัวอย่าง

คำสั่งนี้สร้าง tablespace ชื่อ tbs_01 ด้วยไฟล์ข้อมูลหนึ่งไฟล์:

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

ดูเหมือนคุณยังใหม่กับฐานข้อมูล Oracle ออราเคิลให้ความมั่งคั่งของเอกสารที่http://docs.oracle.com/en/database โดยเฉพาะฉันขอแนะนำให้อ่านแนะนำที่ดีของพวกเขาไปยังฐานข้อมูลที่เรียกว่าแนวคิดคู่มือ



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

โดยที่ 20M คือขนาดของ datafile ของคุณ 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 คุณต้องระบุอย่างชัดเจนว่าขอบเขตการจัดการของคุณจะถูกจัดการอย่างไร


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

1
คุณช่วยอธิบายเพิ่มเติมเกี่ยวกับเรื่องนี้อีกหน่อยได้ไหม?
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
/
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.