CREATE TABLESPACE LOG_DATA DATAFILE
'/ocfs_data/mxdell/log_data01.dbf' SIZE 4001M AUTOEXTEND OFF,
'/ocfs_ctrl_redo/mxdell/log_data2.dbf' SIZE 2048064K AUTOEXTEND OFF
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL UNIFORM. SIZE 20M
BLOCKSIZE 16K
SEGMENT SPACE MANAGEMENT AUTO -- ASSM
FLASHBACK ON;
----------------------
CREATE TABLE DFMS.EDIBTO850_MAIN
(
CONTROLNUMBER VARCHAR2(40 BYTE) NOT NULL,
ISA06 VARCHAR2(50 BYTE),
CREATE_TIME DATE DEFAULT sysdate
)
TABLESPACE LOG_DATA
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 10M
NEXT 20M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;
解释:
-- create ablespace 中的flashback on 及 flashback off .
对于crate tablesapce中的FLASHBACK ON,默认情况下创建tablespace就是
启动flashback, 指定将tablespace放在FLASHBACK模式下,Oracle会为这个
tablespace保存闪回日志数据,那么在做FLASHBACK DATABASE 的时候,能够
应用到此表空间上,如果我们不设置flashback模式,默认是FLASHBACK ON.
指定FLASHBACK OFF将使对应的tablespace不在FLASHBACK模式下,Oracle将
不会为它保存任何的闪回日志数据,在做FLASHBACK DATABASE之前,我们必
须先将这个表空间中的数据文件offline或者drop他们,或者还有一种方式
就是,你可以将整个tablespace offline, 在以上任何一种情况下,数据库
不删除存在的闪回日志 。
-- create table
log_data表空间启用了ASSM, 那么建表的时候,没有明确指定pctused, 默认
pctused是0,pctfree默认还是10,INITRANS 1, MAXTRANS 255 表示表的数据
块头部最小和最大的ITL槽(Interested Transaction List), 一般为了优化ITL,
可以设置INITRANS为3或4即可(足够)。关于ITL可以参考下面的链接。PCTINCREASE
在autoallocate下起作用,表示下一个extent大小为前一个的(1+pctincrease%)倍 ,
在uniform. size设置的tablespace下不起作用,Oracle 建议使用PCTINCREASE
的零设置 .
http://space.itpub.net/35489/viewspace-671133
BUFFER POOL -----
包括DEFAULT、KEEP、RECYCLE三个POOL,其大小分别对应三个参数:DB_CACHE_SIZE,
DB_KEEP_CACHE_SIZE, DB_RECYCLE_CACHE_SZIE,这三个POOL相互独立,没有包含的关系。
语法如下:
create/alter table ...... storage(buffer_pool keep);
default -- 普通的buffer cache .
recycle -- 通常将偶尔访问的大表放入recycle pool中,这样做是为了防止它的一次访问
就将那些频繁使用且应该长时间留在buffer cache中的对象清除出内存。
keep -- 当表被读入的时候,放入keep pool,keep pool 中的数据会尽量长时间的保留,
保留的时间长短依据keep pool的负载而定。对于放入KEEP POOL中的表数据,要么全表放
入,要么全表都out,不会只放入一部分数据。通常将经常访问的对象放入keep pool中。
KEEP POOL 及 CACHE 参数的联系及区别 -----
create/alter table ...... cache;
设置表为cache时,当全表扫描时,将对象数据放入default pool的LRU热端(备注:
如果是nocache,则放入LRU冷端,很快就会被age out),cache适合频繁使用的小
表, 如果有太多的表cache, LRU链表会很拥挤,LRU机制也会受影响,所以该把表
放入keep pool,而且cache子句也不适合大表,因为有可能这个大表会占据整个
LRU链表。
当BUFFER_POOL和CACHE同时使用时,KEEP比NOCACHE有优先权。BUFFER_POOL用来指
定存贮的缓冲池,而CACHE/NOCACHE指定存储的方式。建表时候不注明的话,NOCACHE
是默认值。
CACHE
For data that is accessed frequently, this clause indicates that the blocks
retrieved for this table are placed at the most recently used end of the
least recently used (LRU) list in the buffer cache when a full table scan
is performed. This attribute is useful for small lookup tables.
NOCACHE
For data that is not accessed frequently, this clause indicates that the
blocks retrieved for this table are placed at the least recently used end
of the LRU list in the buffer cache when a full table scan is performed.
NOCACHE is the default for LOB storage.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-671249/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/35489/viewspace-671249/