oracle设置表的索引表空间

oracle中设置了索引后,索引本质也是存在一张表里的(索引表)。所以在为索引指定表空间时,不要将被索引的表和索引指向同一个表空间,这样可以避免产生IO冲突。使oracle能够并行访问存放在不同硬盘中的索引数据和表数据,提高查询速度。

准备工作:
我们有个用户hr2,数据表空间是users,临时表空间是temp,现在要指定索引表空间。

创建一个表空间文件:

create tablespace hr2_idx datafile '/u01/app/oracle/oradata/XE/hr2_idx.dbf' size 200m autoextend on next 32m maxsize 1024m extent management local;

hr2用户下有一个employees表:

select index_name, table_name, tablespace_name, uniqueness from user_indexes where table_name='EMPLOYEES';

INDEX_NAME		       TABLE_NAME		      TABLESPACE_NAME		     UNIQUENES
------------------------------ ------------------------------ ------------------------------ ---------
EMP_EMAIL_UK		       EMPLOYEES		      USERS			     UNIQUE
EMP_EMP_ID_PK		       EMPLOYEES		      USERS			     UNIQUE
EMP_DEPARTMENT_IX	       EMPLOYEES		      USERS			     NONUNIQUE
EMP_JOB_IX		       EMPLOYEES		      USERS			     NONUNIQUE
EMP_MANAGER_IX		       EMPLOYEES		      USERS			     NONUNIQUE
EMP_NAME_IX		       EMPLOYEES		      USERS			     NONUNIQUE


继续阅读oracle设置表的索引表空间

[转]oracle数据库类型简述

OLTP与OLAP简述

在通过DBCA来创建数据库的时候,一般会给你提供三种数据库模板(就是数据库类型):

一般用途:General Database

事务处理:Transaction Processing

数据仓库:Data Warehouse

定制数据库:Custom Database

下面就Ceneral Database,Transaction Processing,Data WareHouse,即一般用途,事务处理,数据仓库来分别比较说明:

事务处理的英文单词是Online Transaction Processing,简称OLTP,通常意义上是指那些短事务,高并发,读写频繁的数据库系统。数据仓库又被称为Online Analysis Processing,简称OLAP,是指那些长事务,低并发,多读而少写的数据库系统。

日常使用的系统一般是OLTP例如:银行系统、电子商务系统。并发量很大,事务执行时间短,用户的SQL往往可以重复使用。所以对于OLTP,非常看重内存缓存、SQL软解析、绑定变量,加快执行速度。

而OLAP模式,要读取的数据量巨大,一个表几十G或几百G?。此时内存的缓存已经没有用了(数据重用性不大),直接依赖磁盘的读写速度(磁盘阵列),还有使用分区技术和并行技术。

理论上说,oracle数据库中大多数参数在后期是可调的,但也有一些参数一旦创建后期无法调整,比如DB_BLOCK_SIZE,即块大小,在oracle数据库中是非常重要的一个参数,恰好这个参数在OLTP和OLAP两种类型应用中需求不一致,对于OLTP数据库,数据库常处于小数据量,频繁读写状态,对于这种系统一般不会将DB_BLOCK_SIZE设置太大,以免读写时I/O浪费;而对OLAP数据库,由于系统处于大量数据库的多读而少写状态,因此DB_BLOCK_SIZE设置较大,比如32K。也就是说两种数据库类型的某些层面从定义上是相对立的,如果你能确认你的数据库类型,可以选择Transaction Processing(事务处理)和Data Warehouse(数据仓库)。

至于General Databaes(一般用途)的选项,那是来唬外行的,绝对不建议选择,但是对于一些初学者来说可以试着玩玩,没什么问题的。不多对于业务类型不是特别清除的,想对oracle数据库有一定了解的建议选择Custom Database(定制数据库)来玩玩。