a. 表空间是Oracle数据库中最大的逻辑存储结构,它与操作系统中的数据文件向对应,用于存储数据库中用户创建的所有内容。 b. 在Oracle中,表空间可以分为基本表空间、临时表空间、大文件表空间、非标准数据块表空间以及撤销表空间等。 c. 基本表空间一般是指用户使用的永久性表空间,用于存储用户的永久性数据; 临时表空间用于存储排序或者汇总过程中产生的临时数据; 大文件表空间用于存储大型数据如:LOB; 非标准表空间用于在一个数据库实例中创建数据块大小不同的表空间; 撤销表空间用于存储事务的撤销数据,在数据恢复是使用;
创建表空间(需要记住是creat以及数据文件这两部分,后面的选项都有默认值): create [temporary|undo] tablespace tablespace_name (如用temporary表示创建临时表空间;undo表示撤销表空间;默认是基本表空间) [datafile|tempfile 'file_name' size size_t k|m [reuse] size指定表空间初始大小. a.如果创建的是基本表空间,就为这个表空间指定一个数据文件,使用datafile选项;如果文件已经存在是否重用。 b.如果创建是一个临时表空间,就为这个就为这个表空间指定一个数据文件,使用tempfile选项;如果文件已经存在是否重用。 [autoextend off|on 指定数据文件是否可以自动扩展:on表示可以,off表示不可以; [ next number k|m maxsize unlimited | number k|m] 如果autoextend on,则通过next指定可以自动扩展的大小和上限等 ][,...]] [mininum extent number k|m] 指定表空间中盘区可以分配到的最小大小 [blocksize number k] 该选项只有在创建持久表空间时才用; [online|offline] online表示创建的表空间是立即可用的。默认是online. [logging|nologging] logging 表示在创建表空间时,将生成日志记录; [force logging] 迫使oarcle记录表空间数据对象创建修改过程的日志信息。如果指定了它,就不用考虑指定[logging|nologging]选项。 [default storage storage_t] 用来设置保存在表空间中的数据对象默认存储参数。 [compress|nocompress] 用来指定是否通知oracle执行压缩. [permannent|temporary] 表示临时或永久保存数据对象 [extent management dictionary | local 表示说创建的表空间采用"数据字典"还是"本地化"方式管理; oracle9i后都采用本地化管理方式. [autoallocate | uniform size number k|m]] 如果采用"本地化",就会设置此项;autoallocate表示表空间内盘区大小由系统自动分配;uniform表示表空间内创建的盘区大小是均等; [segment space management auto|manual]; 设置表空间中段的管理方式,手动还是自动;
sys/system 用户可以执行如下sql查询当前oracle存有的表空间。 select tablespace_name from dba_tablespaces; SQL> select tablespace_name from dba_tablespaces; TABLESPACE_NAME ------------------------------ SYSTEM SYSAUX UNDOTBS1 TEMP USERS EXAMPLE 已选择6行。
SQL> create tablespace myspace 2 datafile 'D:\app\SQLTest\Self\test.dbf' 3 size 5M 4 autoextend on 5 next 5M 6 maxsize 100M 7 / 表空间已创建。 SQL> select tablespace_name from dba_tablespaces; TABLESPACE_NAME ------------------------------ SYSTEM SYSAUX UNDOTBS1 TEMP USERS EXAMPLE MYSPACE 已选择7行。