1)创建临时表空间
# su - oracle
$ 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 中表的外键参照