【每日一摩斯】-【序列】-续-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 详细说明: 现在这年头谍战片.警匪片动不动就用摩斯密码来传递信息,一方面可以用来耍帅,另外一方面好像不插 ...
随机推荐
- android MIPI屏 导航栏丢失
/**************************************************************************** * android MIPI屏 导航栏丢失 ...
- ↗☻【编写可维护的JavaScript #BOOK#】第9章 将配置数据从代码中分离出来
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...
- spinner 设置文本框中的字体颜色
onItemSelected(AdapterView parent, View v, int position, long id) { TextView v1 = (TextView)v; v1.se ...
- SGU 390-Tickets(数位dp)
题意:有标号l-r的票,要给路人发,当给的票的编号的各数位的总和(可能一个人多张票)不小k时,才开始发给下一个人,求能发多少人. 分析:这个题挺难想的,参考了一下题解,dp[i][sum][left] ...
- 安装GNS3-0.8.6-all-in-one时language里没有选项
初次安装使用GNS3,安装的版本是GNS3-0.8.6-all-in-one,本人也是菜鸟,安装时都是一路 Next,结果安装后运行出现了这样的问题,如图 language里是没有选项的,解决方法 把 ...
- PC端使用opencv获取webcam,通过socket把Mat图像传输到android手机端
demo效果图: PC端 android端 大体流程 android端是服务器端,绑定IP和端口,监听来自PC端的连接, pc端通过socket与服务器andorid端传输图片. 主要代码 andro ...
- VirtualBox Headless启动虚拟机
习惯了在Windows上来学习和娱乐,所以不能切换到Linux系统. 为了Linux编程,我首先尝试了wubi在Windows上安装双系统,但是发现本来启动很快的Windows8安装了双系统之后,系统 ...
- Android UI -- 布局介绍(布局包括FrameLayout, LinearLayout, RelativeLayout, GridLayout)
首先介绍常用布局类 FrameLayout 最简单的布局管理器. 这个布局管理类有几个特性: 添加组件默认在左上角的. 如果添加多个组件会叠加到一起,并且都在左上角.(可以通过一gravity属性改变 ...
- Log Explorer使用说明
一.介绍 Log Explorer主要用于对MSSQLServer的事物分析和数据恢复.你可以浏览日志.导出数据.恢复被修改或者删除的数据(包括执行过update,delete,drop和trunca ...
- 一些常被你忽略的CSS小知识
1.CSS的color属性并非只能用于文本显示 对于CSS的color属性,相信所有Web开发人员都使用过.如果你并不是一个特别有经 验的程序员,我相信你未必知道color属性除了能用在文本显示,还可 ...