Oracle 隔离级别
隔离级别(isoation level)
隔离级别定义了事务与事务之间的隔离程度。
隔离级别与并发性是互为矛盾的:隔离程度越高,数据库的并发性越差;隔离程度越低,数据库的并发性越好。
ANSI/ISO SQ92标准定义了一些数据库操作的隔离级别:
未提交读(read uncommitted)
提交读(read committed)
重复读(repeatabe read)
序列化(seriaizable)
通过一些现象,可以反映出隔离级别的效果。这些现象有:
更新丢失(lost update):当系统允许两个事务同时更新同一数据是,发生更新丢失。
脏读(dirty read):当一个事务读取另一个事务尚未提交的修改时,产生脏读。
非重复读(nonrepeatabe read):同一查询在同一事务中多次进行,由于其他提交事务所做的修改或删除,每次返回不同的结果集,此时发生非重复读。(A transaction rereads data it has previousy read and finds that another committed transaction has modified or deeted the data. )
幻像(phantom read):同一查询在同一事务中多次进行,由于其他提交事务所做的插入操作,每次返回不同的结果集,此时发生幻像读。(A transaction reexecutes a query returning a set of rows that satisfies a search condition and finds that another committed transaction has inserted additiona rows that satisfy the condition. )
下面是隔离级别及其对应的可能出现或不可能出现的现象
Dirty Read
NonRepeatabe Read
Phantom Read
Read uncommitted
Possible
Possible
Possible
Read committed
not possible
Possible
Possible
Repeatabe read
not possible
not possible
Possible
Seriaizabe
not possible
not possible
not possible
ORACE的隔离级别
ORACE提供了SQ92标准中的read committed和seriaizabe,同时提供了非SQ92标准的read-ony。
read committed:
这是ORACE缺省的事务隔离级别。
事务中的每一条语句都遵从语句级的读一致性。
保证不会脏读;但可能出现非重复读和幻像。
seriaizabe:(串行执行事务,并发性最小)
简单地说,seriaizabe就是使事务看起来象是一个接着一个地顺序地执行。
仅仅能看见在本事务开始前由其它事务提交的更改和在本事务中所做的更改。
保证不会出现非重复读和幻像。
Seriaizabe
相关文档:
用date型字段进行数据检索时需要注意:数据格式化!
此数据格式化不同于用SimpleDateFormat("yyyy-MM-dd")对象进行格式化,而是用Oracle的内置函数to_date()
或标识符date来格式化。
例如:
有个字段是date数据,我想查询某某年度的数据。
错误写法:s ......
Oracle OFS FS10755 报错问题的解决方法
在某些情况下,重装或重配 OFS 时,比如验证群集,或移动群集组时,会报 FS10755 错, 错误信息如下:
Oracle OFS error - FS10755: Error Creating the OracleFsWorker COM object After Oracle OFS installed, the verification could not pa ......
SQL中的单记录函数
一、字符函数
1.ASCII
返回与指定的字符对应的十进制数;
SQL> select ascii(’A’) A,ascii(’a’) a,ascii(’0’) zero,ascii(’ ’) space from dual;
A A ZERO SPACE
--------- --------- --------- ---------
65 97 48 32
......
一、设置初始化参数 job_queue_processes
sql> alter system set job_queue_processes=n;(n>0)
job_queue_processes最大值为1000
查看job queue 后台进程
sql>select name,description from v$bgprocess;
二,dbms_job package 用法介绍
包含以下子过程:
......
数据字典dict总是属于Oracle用户sys的。
1、用户:
select username from dba_users;
改口令
alter user spgroup identified by spgtest;
2、表空间:
select * from dba_data_files;
select * from dba_tablespaces;//表空间
select tablespace_name,sum(bytes), sum(b ......