讲解Oracle创建表时Storage参数具体含义
http://www.souzz.net/html/database/ORACLE/38170.html
本文通过图表和实例的阐述在Oracle数据库创建新表时Storage的参数具体含义。 图表阐述 可用于:表空间、回滚段、表、索引、分区、快照、快照日志 建议PCTINCREASE参数设置为0,可使碎片最小化,使每一个Extent都相同(等于NEXT值) 一旦建立了某个对象,它的INITIAL和M
本文通过图表和实例的阐述在Oracle数据库创建新表时Storage的参数具体含义。
图表阐述
可用于:表空间、回滚段、表、索引、分区、快照、快照日志
建议PCTINCREASE参数设置为0,可使碎片最小化,使每一个Extent都相同(等于NEXT值)
一旦建立了某个对象,它的INITIAL和MINEXTENTS参数不能修改(Oracle 816中可修改MINEXTENTS参数)
对于NEXT和PCTINCREASE的任何修改都只影响后来分配的那些Extent
在分配一个新Extent时,系统直接按NEXT的值分配一个Extent,
然后用公式:前一NEXT值*(1+PCTINCREASE/100) 计算出下一个应该分配的Extent的大小,
并把计算结果保存到相关数据字典的NEXT_EXTENT列上,做为下一个应该分配的Extent的大小。
CREATE TABLE test(a number)
STORAGE(
INITIAL 100K
NEXT 100K
MINEXTENTS 2
MAXEXTENTS 100
PCTINCREASE 100);
解释:
初始给test表分配两个Extent,
第一个Extent是100K,因INITIAL=100K;
第二个Extent是100K,因NEXT=100K;
如果因表内数据增长,需要分配第三个Extent,因PCTINCREASE是100,则
第三个Extent是200K=100K+100K;
第四个Extent是400K=200K+200K。
可通过数据字典表DBA_TABLES、ALL_TABLES、USER_TABLES查看参数设置情况,如:
select table_name,initial_extent,next_extent,
min_extents,max_extents,pct_increase from user_tables;
TABLE_NAME INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE
---------- -------------- ----------- ----------- ----------- ------------
TEST 106496 212992 2 100 100
相关文档:
两种时间转换格式
plsql>
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;
select date‘'2005-01-01’ from dual;
按规定格式 获得系统时间 如下:
select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual
or
select to_char(sysdate,'yyyy-MM-dd) from dual
or
se ......
(一)实现分页及性能
Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。
分页查询格式:
SELECT * from
(
SELECT A.*, ROWNUM RN
from (SELECT * from TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21
其中最内层的查询SELECT * from TABLE_NAME表示不进行翻页的原始查询语句。ROWNUM & ......
虽然自己学习Java也还一段时间了,也连过一些数据库,比如说mysql,那已是好长之前的事了,但是呢,Oracle我就从未连过,尽管我学习Oracle也有一段时间了,嘿嘿,今天就尝试了一盘,真的觉得,所有的东西,都要自己尝试才行啊。
首先是写好了连接: ......
Oracle提供Wrap工具,可以用于加密你的Package等.
不过需要注意的是,加密后的代码无法解密,你需要保管好你的源代码。
以下是个例子:
1.源代码
create or replace function get_rowid
(l_rowid in varchar2)
return varchar2
is
ls_my_rowid varchar2(200);
rowid_type number;
ob ......
刚才在EYGLE的博客中看到一篇帖子,讲的是DELETE的操作流程,很简短,同时也精辟。
===================================================================================
Oracle中,一个Delete操作的流程
删除(DELETE)
1.Oracle读Block到Buffer Cache(如果该Block在Buffer中不存在)
2.在redo log buffer中记录delet ......