临时表空间主要用途是在数据库进行排序运算[如创建索引、order by及group by、distinct、union/intersect/minus/、sort-merge及join、analyze命令]、管理索引[如创建索引、IMP进行数据导入]、访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理。
当临时表空间不足时,表现为运算速度异常的慢,并且临时表空间迅速增长到最大空间(扩展的极限),并且一般不会自动清理了。
如果临时表空间没有设置为自动扩展,则临时表空间不够时事务执行将会报ora-01652 无法扩展临时段的错误,当然解决方法也很简单:1、设置临时数据文件自动扩展,或者2、增大临时表空间
1、创建用户表空间:
CREATE TABLESPACE test_data //创建表空间test_data
LOGGING
DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEST_DATA01.DBF' //创建的数据文件
SIZE 32M //初始大小
AUTOEXTEND ON //数据文件自动扩容
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
2、删除表空间,同时删除数据文件:
drop tablespace test_data including contents and datafiles;
3、创建用户临时表空间:
CREATE TEMPORARY TABLESPACE test_temp
TEMPFILE 'D:\oracle\product\10.2.0\oradata\orcl\test_temp01.dbf'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
4、创建用户并指定表空间:
CREATE USERxiaoming IDENTIFIED BY xm123 //创建用户xiaoming,设置密码为xm123
DEFAULT TABLESPACE TEST_DATA //指定默认表空间为test_data
TEMPORARY TABLESPACE TEST_TEMP; //指定临时表空间为test_temp
指定默认表空间以后,用户xiaoming创建的表都在这个表空间下,除非额外指定;当然,要给用户xiaoming授权才能创建表。
如果觉得《Oracle删除表空间的同时删除数据文件》对你有帮助,请点赞、收藏,并留下你的观点哦!