SCN(System Chang Number)作为oracle中的一个重要机制,在数据恢复、DataGuard、Streams复制、RAC节点间的同步等各个功能中起着重要作用。理解SCN的运作机制,可以帮助你更加深入地了解上述功能。在理解SCN之前,我们先看下oracle事务中的数据变化是如何写入数据文件的: 1、事务开始; 2、在buffer cache中找到需要的数据块,如果没有找到,则从数据文件中载入buffer cache中; 3、事务修改buffer cache的数据块,该数据被标识为“脏数据”,并被写入log buffer中; 4、事务提交,LGWR进程将log bu... Read More
1.临时表的特点 (1)多用户操作的独立性:对于使用同一张临时表的不同用户,oracle都会分配一个独立的 Temp Segment,这样就避免了多个用户在对同一张临时表操作时发生交叉,从而保证了多个用户操作的并发性和独立性; (2)数据的临时性:oracle根据你创建临时表时指定的参数,自动将数据truncate掉。2.临时表的类型 (1)会话级(OnCommitPreserveRows) (2)事务级(OnCommitDeleteRows)3.使用场景 (1)存放数据分析的中间数据。 (2)对于一个电子商务类网站,不同消费者在网站上购物,就是一个独立的 sessio... Read More
(1)索引唯一扫描(index unique scan) (2)索引范围扫描(index range scan) (3)索引全扫描(index full scan) (4)索引快速扫描(index fast full scan) (5)索引跳跃扫描(index skip scan) Read More
(1)快速块清除(fastblockcleanout),当事务修改的数据库全部保存在buffer cache并且修改数据块的数据量没有超过cache buffer的10%,快速清除事务信息。(2)延迟块清除(delayedblock cleanout)当修改的数据块的阀值超过10%或者本次事务相关的数据块已经被刷出了buffer cache,oracle会下次访问此block时再清除事务信息。 Read More
一、B-Tree索引(1). 选择索引字段的原则:在WHERE子句中最频繁使用的字段联接语句中的联接字段选择高选择性的字段(如果很少的字段拥有相同值,即有很多独特值,则选择性很好)Oracle在UNIQUE和主键字段上自动建立索引在选择性很差的字段上建索引只有在这个字段的值分布非常倾斜的情况下才有益(在这种情况下,某一,两个字段值比其它字段值少出现很多)不要在很少独特值的字段上建B-TREE索引,在这种情况下,你可以考虑在这些字段上建位图索引.在联机事务处理环境下,并发性非常高,索引经常被修改,所以不应该建位图索引不要在经常被修改的字段上建索引.当有UPDATE,DELETE,INSETT操. Read More
1.物理读:从disk到buffer cache。其产生的主要原因是:(1) 在数据库高速缓存中不存在这些块(2) 全表扫描(3)磁盘排序2.oracle中读写disk的单位是block。而用户需要的是其中几行或几列,从buffer cache中提取行(列)的过程,就是逻辑读(1)当前读:读取block中的最新数据(2)一致读:为保证一致性,buffer cache中的block 都会有最后一次修改时的scn, 当某个进程读取block时,把进程的scn与block的scn比较 进程的scn >= block的scn 则直接读取block 进程的scn < block的scn 则从 Read More
1v$mystat,v$sesstat,v$sysstat是用来分别统计用户级,会话级,系统级信息的。SID NUMBERSTATISTIC# NUMBERVALUE NUMBER2.与v$statname连用STATISTIC# NUMBER NAME VARCHAR2(64) CLASS NUMBER 3.v$statname.class的对应值1- User2- Redo4- Enqueue8- Cache16- OS32-... Read More
1.show parameter sql_tracevalue是false表示系统当前不会产生trace文件2.使产生trace文件alter session set sql_trace = true;3.执行一些sql语句后.停止产生trace文件alter session set sql_trace=false;4.查看trace文件路径和名称select value from v$parameter where name='user_dump_dest'D:\DataBase\oracleInstall\diag\rdbms\orcl\orcl\traceselectus Read More
dbms_stats.gather_table_stats统计表,列,索引的统计信息(包含该表的自身-表的行数、数据块数、行长等信息;列的分析--列值的重复数、列上的空值、数据在列上的分布情况;索引的分析-索引页块的数量、索引的深度、索引聚合因子).dbms_stats.gather_table_stats( ownname VARCHAR2, tabname VARCHAR2, partname VARCHAR2, estimate_percent NUMBER, ... Read More
1.分页select t2.*from (select rownum row, t1.* from your_table where rownum ?2.查看oracle数据库的某个表上已经建立了那些索引select index_name from dba_indexes where table_name='your_table';3.如果表中有数据后给表增加约束会出现“无效的alter table选项”错误alter table emp add constraint emp_pk primary key(empno);改为:alter table emp modify(emp Read More