Linux下建立Oracle表空間

zhenghaishu發表於2014-09-22

Linux下建立Oracle表空間

 

1)建立臨時表空間

# su - oracle

$ cd /oracle/app/oradata

$ mkdir mytablespace

$ sqlplus / as sysdba

 

SQL> create temporary tablespace my_temp tempfile '/oracle/app/oradata/mytablespace/my_temp.dbf' size 128M autoextend on next 100M maxsize  1024M extent management local;

表空間已建立。

 

說明:

1) my_temp臨時表空間名字

2) /oracle/app/oradata/ 存放資料庫檔案的地方,一般是安裝資料庫後有控制檔案,資料檔案和日誌檔案的資料夾,再加上要建立表空間的名字+dbf (資料檔案)

3) 128M            表空間的初始大小

4) 100M           表空間的自動增長大小

5) 1024M       表空間最大的大小

 

2)建立資料表空間

SQL> create tablespace my_01 logging datafile '/oracle/app/oradata/mytablespace/my_01.dbf' size 128M autoextend on next 100M maxsize 1024M extent management local;

表空間已建立。

 

3)建立使用者並指定表空間

SQL> create user haishu identified by oracle default tablespace my_01 temporary tablespace my_temp;

使用者已建立。

 

這裡使用者名稱為haishu,密碼為oracle,資料表空間為my_01,臨時表空間為my_temp

 

驗證:

SQL> grant connect,resource to haishu;

授權成功。

SQL> create table t(id int);

表已建立

SQL> select table_name from user_tables where tablespace_name=upper('my_01');

TABLE_NAME

------------------------------

T

 

4)在指定的表空間中建立表

SQL> conn scott/tiger;

已連線。

SQL> create table t1(id int) tablespace my_01;

表已建立。

 

驗證:

SQL> conn / as sysdba;

已連線。

SQL> select table_name, owner from dba_tables where tablespace_name=upper('my_01');

TABLE_NAME                     OWNER

------------------------------ ------------------------------

T1                             SCOTT

T                              HAISHU

 

5)刪除表空間

SQL> drop tablespace my_01 including contents and datafiles cascade constraints;

表空間已刪除。

 

說明:

including contents 刪除表空間中的內容,如果刪除表空間之前表空間中有內容,而未加此引數,表空間刪不掉,所以習慣性的加此引數

including datafiles 刪除表空間中的資料檔案

cascade constraints 同時刪除 tablespace 中表的外來鍵參照

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29485627/viewspace-1277018/,如需轉載,請註明出處,否則將追究法律責任。

相關文章