1. 表空间的创建、扩容
--创建表空间
CREATE TABLESPACE oditest DATAFILE 'D:\ORACLE\ORADATA\ORCL\ODITEST.DBF' SIZE 100M;
--表空间的扩容
alter tablespace oditest add datafile 'D:\ORACLE\ORADATA\ORCL\ODITEST1.DBF' size 10g autoextend on;
--设置数据文件自动扩展
alter database datafile 'D:\ORACLE\ORADATA\ORCL\ODITEST.DBF' autoextend on;
--设置数据文件自动扩展、并指定相关参数
alter database datafile 'D:\ORACLE\ORADATA\ORCL\ODITEST03.DBF' autoextend on next 5g maxsize 30G;
2.临时表空间的创建、扩容
--创建临时表空间
create temporary tablespace user_temp tempfile 'd:\oracle\product\10.2.0\oradata\Test\xyrj_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
--临时表空间的扩容
ALTER TABLESPACE tablespace_name ADD TEMPFILE 'd:\oracle\product\10.2.0\oradata\Test\xyrj_temp.dbf1' SIZE 2G;
3.修改默认temp表空间为新的临时表空间:
alter database default temporary tablespace temp2;
alter user user_name temporary tablespace temp2;
4.删除表空间:
DROP TABLESPACE TABLESPACE_NAME INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
5.切换undo表空间
1、建立新的表空间undotbs3
create undo tablespace undotbs3 datafile '/u01/oracle/backup/undo03.dbf' size 30G;
2、切换到新的Undo表空间上
alter system set undo_tablespace=undotbs3 scope=both;
3、将原来的Undo表空间,设置为脱机
alter tablespace undo offline;
4、删除原来的undo 表空间
drop tablespace undo including contents and datafiles cascade constraints;
切换undo表空间一句话:新建undo几乎是任何时候都可以执行切换undo表空间命令,如果要删除历史undo需要等到该undo空间所有回滚段全部offline.千万别在尚有回滚段处于online状态,强制删除数据文件.
注意:如果只是drop tablespace undo 只是删除控制文件的记录,并不会物理删除文件,
且必须是在未使用的情况下才能进行删除undo。
查看表空间大小:
--查询表空间大小
SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/1024/1024/1024) T_SIZE FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME;
--查询表空间剩余大小
SELECT TABLESPACE_NAME,SUM(BYTES)/1024/1024/1024 T_SIZE FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME;
--查询临时表空间剩余大小
SELECT * FROM DBA_TEMP_FREE_SPACE ;
查看表的大小:
select segment_name,sum(bytes)/1024/1024 from user_segments group by segment_name;