create user yangkai identified by yk123 default tablespace test01 temporary tablespace temp;
-
Microsoft Windows XP [版本 5.1.2600]
-
(C) 版权所有 1985-2001 Microsoft Corp.
-
-
C:\Documents and Settings\Administrator>sqlplus /nolog
-
-
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 4月 9 22:20:08 2015
-
-
Copyright (c) 1982, 2010, Oracle. All rights reserved.
-
-
SQL> conn /as sysdba;
-
已连接。
-
-
SQL> create tablespace test datafile 'c:\test01.dbf' size 10m uniform size 32k;
-
-
create tablespace test datafile 'c:\test01.dbf' size 10m uniform size 32k
-
*
第 1 行出现错误:
ORA-03249: 自动段空间管理的表空间大小
都应至少具有 5 个块
-
SQL> create tablespace test datafile 'c:\test01.dbf' size 10m uniform size 64k;
-
-
表空间已创建。
-
-
SQL> alter database datafile 'c:\test01.dbf' autoextend on next size 50m maxsize
-
1g;
-
alter database datafile 'c:\test01.dbf' autoextend on next size 50m maxsize 1g
-
*
-
第 1 行出现错误:
-
ORA-02493: NEXT 子句中的文件增量大小无效
-
-
-
SQL> alter database datafile 'c:\test01.dbf' autoextend on next 50m maxsize 1g;
-
-
-
数据库已更改。
SQL>alter tablespace test add datafile 'c:\test001.dbf' size 10m uniform size 64k;----这部分多余,因为是add
*
第 1 行出现错误:
ORA-00933: SQL 命令未正确结束
SQL> alter tablespace test add datafile 'c:\test001.dbf' size 10m;
表空间已更改。
SQL>
-
-
SQL> create tablespace temp datafile 'c:\temp.dbf' size 50 uniform size 64k;
-
create tablespace temp datafile 'c:\temp.dbf' size 50 uniform size 64k
-
*
-
第 1 行出现错误:
-
ORA-01543: 表空间 'TEMP' 已存在----本来就有的临时表空间
-
-
SQL> create tablespace tempyk datafile 'c:\temp.dbf' size 50m uniform size 64k;
-
-
表空间已创建。
-
-
SQL> create user yangkai01 identified by yk123 default tablespace test temporary
-
tablespace tempyk;
-
create user yangkai01 identified by yk123 default tablespace test temporary tabl
-
espace tempyk
-
*
-
第 1 行出现错误:
-
ORA-10615: Invalid tablespace type for temporary tablespace
-
-----因为我指定的是临时表空间,而tempyk表空间的类型不是临时表空间,所以会出错。应该创建一个类型为临时类型的表空间或者使用默认的临时表空间。
-
-
SQL> drop tablespace 'tempyk' including contents and datafiles;
-
drop tablespace 'tempyk' including contents and datafiles
-
*
-
第 1 行出现错误:
-
ORA-02216: 需要表空间名
-
-
-
SQL> drop tablespace TEMPYK including contents and datafiles;
-
-
表空间已删除。----删除表空间及其数据文件
-
-
SQL> create temporary tablespace tempyk datafile 'c:\temp.dbf' size 50m uniform
-
size 64k;
-
create temporary tablespace tempyk datafile 'c:\temp.dbf' size 50m uniform size
-
64k
-
*
-
第 1 行出现错误:
-
ORA-25139: CREATE TEMPORARY TABLESPACE 的选项无效
-
-
-
SQL> create temporary tablespace tempyk tempfile 'c:\temp.dbf' size 50m uniform
-
size 64k;
-
-
表空间已创建。
-
-
SQL> create user yangkai01 identified by yk123 default tablespace test temporary
-
tablespace tempyk;
-
-
用户已创建。----指定了数据表空间和临时表空间
-
-
SQL> grant dba,resource,connect to yangkai01;
-
-
授权成功。
-
-
SQL> revoke dba from yangkai01;
-
-
撤销成功。
-
-
SQL> create table TESTYK
-
2 (
-
3 pid NUMBER,
-
4 pname VARCHAR2(64)
-
5 )
-
6 tablespace USERS
-
7 pctfree 10
-
8 initrans 1
-
9 maxtrans 255;
-
-
表已创建。
-
-------这里创建的表,是系统的默认表空间users。
-
SQL>
Temporary tablespace是oracle里临时表空间,临时表空间主要用途是在数据库进行排序运算、管理索引、访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理。当oracle里需要用到sort的时候,PGA中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序,同时如果有异常情况的话,也会被放入临时表空间,正常来说,在完成Select语句、create index等一些使用TEMP表空间的排序操作后,Oracle是会自动释放掉临时段的。
PCTFREE:为一个块保留的空间百分比,表示数据块在什么情况下可以被insert,默认是10,表示当数据块的可用空间低于10%后,就不可以被insert了,只能被用于update;即:当使用一个block时,在达到pctfree之前,该block是一直可以被插入的,这个时候处在上升期。
PCTUSED:是指当块里的数据低于多少百分比时,又可以重新被insert,一般默认是40,即40%,即:当数据低于40%时,又可以写入新的数据,这个时候处在下降期。
假设你一个块可以存放100个数据,而且PCTFREE 是10,PCTUSED是40,则:不断的向块中插入数据,如果当存放到90个时,就不能存放新的数据,这是受pctfree来控制,预留的空间是给UPDATE用的。