oracle 事务读一致性(一)
摘要:最后学了oracle有关事务相关的东西,这块确实是比较难,但是既然看了,多少得学习点,在这点随便写写,这块主要是写的一致性读。oracle中通常情况下有三种读:第一种:错读(未提交读),就是读到另一个事物修改过的但没有提交的数据,没有实一致性读。第二种:不可重复读( 读失真)就是对一个事物前后两次读,读出来的值是不相等的,因为它在这两次读的间隔被别的事物修改或者删除,并且提交了。第三种读:幻想读 某个事务在两次读之间,有另一事务插入新的数据,并提交,而且插入的数据满足查询的条件,导致读到的数据不一样。oracle读一致性又分为:1.语句级读一致性(不可重复读)2.事务级一致性读语句性一致性读,
阅读全文
posted @
2012-03-08 21:25
无尽的缥缈
阅读(1717)
推荐(0) 编辑
oracle 序列
摘要:序列经常用了,但是很快就忘记了,今天通过网上或者自己知道的一些,总结了一下,在这写一下,为了自己以后复习。1.序列是什么序列SEQUENCE 是解决并发和性能问题,避免发生重复值。它是一个原子事物,取了值就已经生成一个不可再重复的数据,保证每个请求生成唯一的值。2.序列的特征(1) 序列会按自动递增或者递减生成一个唯一的号,它是整型。 (2) 序列是共享对象,不同的会话可以去读取该SEQUENCE. (3)它可以代替应用代码中实现唯一值的序列号。 (4)可以将序列的一部分值预分配到内从,这样就能更快的访问SEQUENCE.3.序列的语法INCREMENT BY N 是增长频率N,表示每次增长多
阅读全文
posted @
2012-02-29 22:17
无尽的缥缈
阅读(657)
推荐(0) 编辑
oracle 日期函数
摘要:上篇简单的介绍了一下add_months 函数,本篇博客再介绍下其它的几个日期函数。可以用下面语句来设置oracle日期的格式alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';可以查询语句格式select * from nls_session_parameters where parameter = 'NLS_DATE_FORMAT';下面首先介绍sysdate 它获取的是服务器端的时间,sysdate-n 这里的n指的是天比如SQL> select sysdate-1 from dual;
阅读全文
posted @
2012-02-19 10:40
无尽的缥缈
阅读(666)
推荐(0) 编辑
oracle add_months函数
摘要:add_months 函数主要是对日期函数进行操作,举例子进行说明add_months 有两个参数,第一个参数是日期,第二个参数是对日期进行加减的数字(以月为单位的)如:3个月以后的时间,可以用下列语句SQL> select add_months(sysdate,3) from dual; ADD_MONTHS(SYSDATE,3)---------------------2012-5-16 下午 02:30:473个月以前的时间,可以用下列语句SQL> select add_months(sysdate,-3) from dual;ADD_MONTHS(SYSDATE,-3)--
阅读全文
posted @
2012-02-16 14:39
无尽的缥缈
阅读(2901)
推荐(0) 编辑
oracle 约束constraint
摘要:写这篇的目的是为了自己以后更好的复习,很多都是参照网上的。oracle约束可以检查出不符合业务的需求Oracle约束按约束状态又可分为disable novalidate,disable validate,enable novalidate,enable validate. 其中disable/enable代表是否启用约束,validate/novalidate代表启用约束时是否对表中原有数据作检查。1.创建表 create table t1( id number, name varchar2(20)); insert into t...
阅读全文
posted @
2012-02-12 21:51
无尽的缥缈
阅读(447)
推荐(0) 编辑
oracle 清理和重建表空间
摘要:先声明一点,本篇文章是参照站长学院网站的,如有版权侵犯问题,立刻删除。一般正常情况下oracle是会自动释放临时表空间的,但在有些情况下tem表空间不会释放,出现满的情况,昨天在数据中心生产环境上,就出现这个问题。所以通过上网找资料,也写一下了。感觉站长学院的这边文章挺好的,在这写一个,方便自己以后阅读。方法一重启数据库,这种方法很多时候是不可行的,因为生产库,数据在随时变换的,根本不允许重启,这种方法虽然简单好用,但是缺少应用的机会。方法二修改一下TEMP表空间的storage参数,让Smon进程观注一下临时段,从而达到清理和TEMP表空间的目的。SQL>alter tablespac
阅读全文
posted @
2012-02-11 10:37
无尽的缥缈
阅读(4357)
推荐(0) 编辑
oracle查看系统文件的一些语句
摘要:这篇文章会慢慢的积累1.查看数据库用户占表空间的大小select owner,tablespace_name ,sum(bytes)/1024/1024 from dba_segments group by owner,tablespace_name;Select Owner,Tablespace_name,Segment_Name,Segment_Type,Sum(bytes)/1024/1024 sums From Dba_Extents Group By Owner,Tablespace_name,Segment_Name,Segment_Type2.查看表空间文件select * fr
阅读全文
posted @
2012-02-08 15:36
无尽的缥缈
阅读(266)
推荐(0) 编辑
oracle 闪回(例子)
摘要:oracle闪回是oracle很重要的特性,今天刚接触了一点,写点皮毛,以后再慢慢深入研究闪回表创建表语句create table emp11as select * from emp where 1=2删表语句drop table emp11其实emp11表删了,却在系统中出现一张新表以系统命名的,这就是oracle10G中对删表的处理,原表实际上并未完全删掉,相当于存在回收站中。如果我们需要恢复表emp11,用闪回是很方面的。可以用下列语句查出表存在的名称select * from tab;查询结果BIN$YqKHsrh1TMOUvzHmmaSgjQ==$0 TABLE EMP113 ...
阅读全文
posted @
2012-02-02 21:02
无尽的缥缈
阅读(311)
推荐(0) 编辑
oracle 和mysql的几点区别
摘要:本文属于转载文章,只为以后自己阅读方面,如有版权侵犯问题,立刻删除1.组函数用法规则mysql中组函数在select语句中可以随意使用,但在oracle中如果查询语句中有组函数,那其他列名必须是组函数处理过的,或者是group by子句中的列否则报错eg:select name,count(money) from user;这个放在mysql中没有问题在oracle中就有问题了。2.自动增长的数据类型处理MYSQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。ORACLE没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。CREA
阅读全文
posted @
2012-02-02 17:34
无尽的缥缈
阅读(431)
推荐(0) 编辑
oracle中删掉带锁的表
摘要:1.首先用这条语句查出带锁的的对象。 select object_name as 对象名称, s.sid, s.serial#, p.spid as 系统进程号 from v$locked_object l, dba_objects o, v$session s, v$process p where l.object_id = o.object_id and l.session_id = s.sid and s.paddr = p.addr;2.然后执行alter system kill session 'sid,serial#' immediate;这样就可以了当然这样操作完
阅读全文
posted @
2012-02-01 16:51
无尽的缥缈
阅读(389)
推荐(0) 编辑
oracle函数lpad的简单用法
摘要:刚看到以前在网上找的一些文摘,lpad这个函数平时不怎么用,但是今天测了一下还是比较好用的在,这个函数很有意思的,它的格式是lpad(String ,数字长度,字符串)。如果数字长度大于string的时候,那么在左边添加字符串直到添加的字符串加string的长度等于数据长度。(表达不好,以例子为证)如果数据长度小于string的时候,那么就从左边开始截取。如下例子所示SQL> select lpad('test',10,'a') from dual;LPAD('TEST',10,'A')-------------------
阅读全文
posted @
2012-01-19 11:58
无尽的缥缈
阅读(752)
推荐(0) 编辑
oracle查看编码以及修改编码
摘要:oracle的编码一直是个很重要的问题,以前也总结的写过,但都忘了,今天再在这写一下。首先查看oracle数据库的编码SQL> select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';PARAMETER--------------------VALUE--------------------NLS_CHARACTERSETAL32UTF8这其来源于props$,这是表示数据库的字符集。oracle客户端编码SQL> select * from nls_instance_par
阅读全文
posted @
2012-01-19 10:31
无尽的缥缈
阅读(4745)
推荐(0) 编辑
oracle 函数中的行转列,列转行
摘要:今天碰到一个行转列的问题,但是在网上看到很多的是列转行的,最后终于找到一个行转列的,在这里写一下,一来了方便自己看,二来了也方便有需要的朋友了参考下,我这里只是举个列子,具体还没深入研究。主要是两种方法:第一种:这是原数据,SQL> select * from s_student_result;NAME ENGLISH MATH PHYSISC CHINESE TESTDATE------------------------ ---------- ---------- ---------- ---------- -------------张三 70 80 90 90 12-12月-11李
阅读全文
posted @
2012-01-18 17:24
无尽的缥缈
阅读(881)
推荐(0) 编辑