一、查看表空间:
1. 查看所有表空间大小
SQL> select tablespace_name,sum(bytes)/1024/1024 from dba_data_files
2 group by tablespace_name;
2. 已经使用的表空间大小
SQL> select tablespace_name,sum(bytes)/1024/1024 from dba_free_space
2 group by tablespace_name;
3. 所以使用空间可以这样计算
select a.tablespace_name,total,free,total-free used from
( select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files
group by tablespace_name) a,
( select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space
group by tablespace_name) b
where a.tablespace_name=b.tablespace_name;
4. 下面这条语句查看所有segment的大小。
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name
二、创建表空间:
1、创建临时表空间 create temporary tablespace user_temp tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; 2、创建数据表空间 create tablespace user_data logging datafile 'D:\oracle\oradata\Oracle9i\user_data.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; 3、创建用户并指定表空间 create user username identified by password default tablespace user_data temporary tablespace user_temp; 4、给用户授予权限 grant connect,resource,dba to username;
三、修改表空间
1、增加数据文件:为myts01表空间增加3MB数据文件
sql>alter tablespace myts01
2 ADD DATAFILE 'E:\oracle\product\10.2.0\oradata\DQSADB\myts01_2.dbf'size 3M;
2\改变数据文件的大小 将myts01 表空间中的数据文件myts01_2.dbf增大到4MB.
sql>alter database
2 DATAFILE'E:\oracle\product\10.2.0\oradata\DQSADB\myts01_2.dbf'resize 4M;
3、表空间自动扩展:
sql>alter database
2 DATAFILE'E:\oracle\product\10.2.0\oradata\DQSADB\myts01_2.dbf'
3 AUTOEXTEND ON NEXT 1M MAXSIZE 20M;
四、修改表空间属性、状态
1、修改表空间的可用性
(1)使表空间脱机
sql>ALTER TABLESPACE myts01 OFFLINE;
(2)使表空间联机
sql>ALTER TABLESPACE myts01 ONLINE;
2、修改表空间的读写性
(1)使表空间只读
sql>ALTER TABLESPACE myts01 READ ONLY;
(2)使表空间可读写
sql>ALTER TABLESPACE myts01 READ WRITE;
3、修改表空间名称sql>ALTER TABLESPACE myts01 RENAME TO myts01_new;
五、删除表空间
drop tablespace student including contents;