文档介绍:Oracle中表空间,SGA相关目录Oracle中表空间(tablespace) 1创建表空间: 2删除表空间及文件: 2如何将表,索引移动到表空间? 2查询表空间信息? 2如何查看各个表空间使用情况? 2如何监控表空间的I/O比例? 3如何知道表在表空间中的存储情况? 3如何知道索引在表空间中的存储情况? 3表空间不够的错误处理 4事务要求的回滚段空间不够 4Oracle系统全局区SGA 5数据库的键取用问题 6Oracle中表空间(tablespace)表空间是Oracle内部定义的一个概念,是为了统一Oracle物理和逻辑上的结构而专门建立的,从物理上来说,一个表空间是由具体的一个或多个磁盘上数据文件构成的(至少1对1,可以1对多),从逻辑上来说一个表空间是由具体的一个或多个用户模式下的表,索引等等里面的数据所构成的。因此从用户的角度来看是不应该看到磁盘上物理的数据文件的,其从小到大的视角是这样的关系:字段值-->记录值-->表数据-->用户-->表空间-->Oracle而从一个OracleDBA的视角来看应是这样的关系:数据文件-->表空间-->Oracle综合一下,也就是说在Oracle中表不可能单独存在,一定隶属于某一个用户,而某一用户的数据必定存在于某个表空间中。当然,上面我是用最通俗的语言介绍的。实际上来说中间还存在很多技术术语和概念,比如说SEGMENTS,EXTENTS,BLOCK等等。   Oracle表空间,底层以data_file文件形式存放,可以定义一个数据库能打开多少个数据文件,一个表空间可以有1到多个数据文件,一个数据文件只能隶属于一个表空间。建表时:;,分区表可以建在多个表空间上。 创建表空间:SQL>createtablespacehistdbdatafile'D:\oracle\product\\oradata\orcl\'size200mautoextendonnext10mmaxsizeunlimited;SQL>alterdatabasedatafile'D:\oracle\product\\oradata\orcl\'autoextendon;  DATAFILE:表空间数据文件存放路径。SIZE:起初设置为200M。UNIFORM:指定区尺寸为128k,如不指定,区尺寸默认为64k。,可随意命名。AUTOEXTENDON/OFF表示启动/停止自动扩展表空间。alterdatabasedatafile'D:\oracle\product\\oradata\orcl\'resize500m;//手动修改数据文件大小为500M。删除表空间及文件:delete只能删除数据,还占着表空间,用truncate命令,但truncate没有条件。用DROP可删除表空间及数据文件。DROPTABLESPACEhistdbINCLUDINGCONTENTSANDDATAFILES;如何将表,索引移动到表空间?ALTERTABLETABLE_NAMEMOVETABLESPACE_NAME;如何将索引移动表空间?