-----创建临时表空间-----
create temporary tablespace zhangmingchaotemp tempfile 'd:\oracle\zhangmingchaotemp.dbf'
-----初始化大小-----
size 50m
-----自动增长-------
autoextend on
-----每次扩展50m,无限制增长-----
next 50m maxsize unlimited
-----本地管理表空间--------
extent management local;
-----创建数据表空间-----
ceate tablespace zhangmingchaodata logging datafile 'd:\app\zcm\oradata\orcl\zhangmingchao.dbf'
size 50m autoextend on next 50mm maxsize 2048m
extent management local;
----创建用户并制定临时表空间和数据表空间----
create user zcm identifide by zcm default tablespace zhangmingchaodata temporary tablespace zhangmingchaotemp;
----删除表空间(含物理位置)
alter tablespace zhangmingchaodata offline;
drop tablespace zhangmingchaodata including
contents and datafiles;
ora-01536
超出表空间 ‘xxx’ 的空间限额
解决方案:
1.alter user 你的用户名 quota 2g on 你建表的表空间的名字;(有限制)
2.alter user 你的用户名 quota unlimited on 你建表的表空间的名字;(无限制)
知识总结:
表空间的大小与用户的配额大小是两种不同的概念,表空间的大小是指实际的用户表空间的大小,而配额大小指的是用户指定使用表空间的的大小。把表空间文件增大,还是出现这个问题,用户在使用表空间的同时使用空间的限额,如果超出限制,就算有空的地方,也不会让用户使用
视图:
1.dba_ts_quotas : DBA_TS_QUOTAS describes tablespace quotas for all users.
2.user_ts_quotas : USER_TS_QUOTAS describes tablespace quotas for the current user. This view does not display the USERNAME column.
查看用户的表空间的限额
select * from dba_ts_quotas;
max_bytes
字段就是了。-1
是代表没有限制,其它值多少就是多少了.
用户表空间限额的创建与更改:
1.创建用户时,指定限额
CREATE USER SKATE IDENTIFIED BY SKATE_PWD
DEFAULT TABLESPACE SKATE_TS
TEMPORARY TABLESPACE temp
QUOTA 3M ON SKATE_TS
PASSWORD EXPIRE;
2.更改用户的表空间限额:
A:GRANT UNLIMITED TABLESPACE TO skate;
这种方式是全局性的,不对用户做表空间限额控制。
B:alter user skate quota unlimited on skate_ts;
这种方式是针对特定的表空间的.
- 可以分配自然也可以回收:
A:revoke unlimited tablespace from skate;
B:alter user skate quota 0 on SKATE_TS;