ORACLE UNDO 《深入浅出ORACLE第七章》
如果说Redo是用来保证在故障时事务可以被恢复,那么Undo则是用来保证事务可以被回退或者撤销。
在修改操作中,对于回退段的操作存在多处,在事务开始时,首先需要在回滚段表空间获得一个事务槽,分配空间,然后创建前镜像,此后事务的修改才能进行,Oracle必须以此来保证事务是可以回退的。
如果用户提交了事务,Oracle会在日志文件记录提交,并且写出日志,同时会在回滚段中把该事务标记为已提交;如果用户回滚事务,则Oracle需要从回滚段把前镜像数据读取出来,修改数据缓冲区,完成回滚,这个过程本身也要产生Redo,所以回退这个操作是很昂贵的。
在Oracle性能优化中,有一个性能指标称为平均事务回滚率(Rollback per transaction),用来衡量数据库的提交与回滚效率。可以在Statspack中找到这个指标。
该参数计算公式为:
Round(User rollbacks/(user commits+user rollbacks),4)*100%
其中user commits和user rollbacks数据来自系统的统计信息,可以从v$sysstat视图中得到,
SQL> select name,value from v$sysstat
2 where name in ('user commits','user rollbacks');
NAME VALUE
---------------------------------------------------------------- ----------
user commits 5
user rollbacks  
相关文档:
最近在项目报表中需要一个查询语句,用来统计符合某一列条件的其它几列的个数
比如有下面一个表结构:
需要在列D后面增加一列,统计在列A不为空,并且列B、C、D不为空的个数
经过自己试验,查找帮助,总算实现了上面的查询。
&nb ......
容易得说,经过dbms_random包调用随机数的步骤大体有4种:
一、dbms_random.normal
这个函数不带参数,会回到normal distribution的一个number门类,之所以大抵随机数会在-一到一其间。
简略测试了一下子,发作100000次最大能到五上下:
SQL> declare
二 i number:=零;
三 j number:=零;
四 begin
五 for ......
概述
在oracle安装目录$HOME/network/admin下,,经常看到sqlnet.ora tnsnames.ora listener.ora这三个文件,除了tnsnames.ora,其他两个文件详细的用途很多人都不太了解。
sqlnet.ora 用在oracle client端,用于配置连接服务端oracle的相关参数.
tnsnames.ora 用在oracle client端,用户配置连接数据库的别名参数,就像系 ......
The following are number examples for the to_char function.
to_char(1210.73, '9999.9')
would return '1210.7'
to_char(1210.73, '9,999.99')
would return '1,210.73'
to_char(1210.73, '$9,999.00')
would return '$1,210.73'
to_char(21, '000099')
would return '000021'
The following is a list ......
将表空间和数据文件从一个位置移动到另一个位置的操作方法
一. OFFLINE
OFFLINE 分为ALTER DATABASE 与 ALTER TABLESPACE OFFLINE,
他们的区别参看blog:http://blog.csdn.net/tianlesoftware/archive/2009/11/29/4898800.aspx
按数据文件来:
1.先将相应的数据文件 offl ......