【每日一摩斯】-【序列】-续-RAC and Sequences (853652.1)
一个简单的sequence有什么可以说的呢?如果再这样认为就大错特错了。。。
也许以下几点高人们都很清楚,但至少对于我来说,之前是陌生的,或者说是忽略的。
1、CREATE SEQUENCE seq;,不带任何参数,那么默认建立的SQL语句是:
-- Create sequence
create sequence SEQ
minvalue 1
maxvalue 999999999999999999999999999
start with 21
increment by 1
cache 20;
这里显示的start with是21,increment by是1,cache是20。
黄勇大师的解释是“Looks like the reverse-engineered sequence definition takes "start with" (1 by default) as "start with" value before the sequence is ever used, but takes "increment by" x "cache" + "start with" after it's used once or a few times.”
序列在未使用之前,序列使用"start with(默认是1)"作为起始点,在使用一次或几次之后,序列就会用"increment by "x" cache和"start with"来计数与取值了。
2、序列的定义,包括从dba_sequences中看到的内容,都是存储在Shared Pool的Data Dictionary中。
3、官方未公布的sys.v$_sequences表也会记录一些关于sequence的信息,这些都是从Shared Pool中获得的。
4、dba_sequences中的last_number字段,指高水位线,或者更准确地应该叫存储于Shared Pool中最大的序列值。
5、使用cache的序列,可能会出现断层,原因就是cache的值被purge了。像flush shared pool这种操作就可能purge缓存cache。例如当Shared Pool满了,新的对象(例如SQL)又来了,此时旧的对象就会被aged out,或者使用的ASSM,buffer cache需要更多的SGA空间,因此shrink了Shared Pool。
序列出现断层的原因可能有:
ROLLBACK。
PMON进程执行清理。
元数据置换出row cache(也就是Data Dictionary)。
实例关闭。
示例:
SQL> create sequence seq_1;
Sequence created.
SQL> select seq_1.currval from dual;
select seq_1.currval from dual
*
ERROR at line 1:
ORA-08002: sequence SEQ_1.CURRVAL is not yet defined in this session
SQL> select seq_1.nextval from dual;
NEXTVAL
----------
1
SQL> select seq_1.nextval from dual;
NEXTVAL
----------
2
...
SQL> select seq_1.nextval from dual;
NEXTVAL
----------
20
SQL> SELECT last_number FROM dba_sequences WHERE sequence_name='SEQ_1';
LAST_NUMBER
-----------
21
【每日一摩斯】-【序列】-续-RAC and Sequences (853652.1)的更多相关文章
- 【每日一摩斯】-Index Skip Scan Feature (212391.1)
INDEX Skip Scan,也就是索引快速扫描,一般是指谓词中不带复合索引第一列,但扫描索引块要快于扫描表的数据块,此时CBO会选择INDEX SS的方式. 官方讲的,这个概念也好理解,如果将复合 ...
- 【每日一摩斯】-Troubleshooting: High CPU Utilization (164768.1) - 系列6
如果问题是一个正运行的缓慢的查询SQL,那么就应该对该查询进行调优,避免它耗费过高的CPU资源.如果它做了许多的hash连接和全表扫描,那么就应该添加索引以提高效率. 下面的文章可以帮助判断查询的问题 ...
- 【每日一摩斯】-Shared Pool优化和Library Cache Latch冲突优化 (1523934.1)-系列3
减轻Shared Pool负载 Parse一次并执行多次 在OLTP类型的应用中,最好的方法是只让一个语句被解析一次,然后保持这个cursor的打开状态,在需要的时候重复执行它.这样做的 ...
- 【每日一摩斯】-Troubleshooting: High CPU Utilization (164768.1) - 系列5
Oracle(用户)进程 以下这些操作都是需要消耗大量CPU资源的:解析大型查询,存储过程编译或执行,空间管理和排序. 下面这几篇文章可以帮助采集关于使用高CPU资源的进程的更多信息: Note:35 ...
- 【每日一摩斯】-Troubleshooting: High CPU Utilization (164768.1) - 系列4
Jobs (CJQ0, Jn, SNPn) Job进程运行用户定义的以及系统定义的类似于batch的任务.检查Job进程占用大量CPU资源的方法,就像检查用户进程一样. 可以根据以下视图检查Job进程 ...
- 【每日一MOS】-RAC and Sequences (853652.1)
序列有四种组合: a. CACHE + NOORDER b. CACHE + ORDER c. NOCACHE + NOORDER d. NOCACHE + ORDER 即使在单例配置下,当有大量的s ...
- Javascript实现摩斯码加密解密
原文地址 作者:liaoyu 摩尔斯电码是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母.数字和标点符号,是由美国人萨缪尔·摩尔斯在1836年发明. 每一个字符(字母或数字)对应不同的 ...
- [LeetCode] Unique Morse Code Words 独特的摩斯码单词
International Morse Code defines a standard encoding where each letter is mapped to a series of dots ...
- python实现的摩斯电码解码\编码器
代码地址如下:http://www.demodashi.com/demo/14743.html 详细说明: 现在这年头谍战片.警匪片动不动就用摩斯密码来传递信息,一方面可以用来耍帅,另外一方面好像不插 ...
随机推荐
- 函数buf_LRU_free_from_common_LRU_list
/******************************************************************//** Try to free a clean page fro ...
- 获取QQ所有的表情包,包括emoji,动态gif
获取QQ所有的表情包,包括emoji,动态gif,代码如下. <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xht ...
- OK335xS LAN8710 phy driver hacking
/******************************************************************** * OK335xS LAN8710 phy driver h ...
- Java [leetcode 25]Reverse Nodes in k-Group
题目描述: Given a linked list, reverse the nodes of a linked list k at a time and return its modified li ...
- SharePoint2010 自定义代码登录方法
转:http://yysyb123.blog.163.com/blog/static/192050472011382421717/ SharePoint2010 自定义代码登录方法 (自定义Form验 ...
- 也用 Log4Net 之走进Log4Net (四)
转载地址:http://www.cnblogs.com/dragon/archive/2005/03/24/124254.html 我是转的别人的内容,我觉得他写的非常好,所以我把其中三分之二转了过来 ...
- UVA 1637 Double Patience
题意:36张扑克,平分成9摞,两张数字一样的可以拿走,每次随机拿两张,问能拿光的概率. 解法:记忆化搜索,状态压缩.一开始我想在还没拿的时候概率是1,然后往全拿光推···样例过不去···后来觉得推反了 ...
- HttpListener supports SSL only for localhost? install certificate
1.Start-All Programs - 2.execute below lines on that ‘Developer Command Prompt..’ tool makecert -n & ...
- 如何把本机Sql Sever数据库转移到虚拟主机sql数据库
不少站长的网站都是asp+access的网站 因为操作access数据库的网站非常简单,甚至你对数据库不懂都可以 但如果是mssql数据库的网站,有些新手朋友就不知道该怎么弄了 在这里给大家做个简 ...
- Jquery 操作xml 文档的方法
需求: 页面上有两个下拉框,显示游戏大区 和游戏服务器,当游戏大区改变时,游戏服务器也跟着改变 界面部分html代码 <tr class="tkSigUser"> &l ...