如何阅读Oracle文档,oracle 文档
oracle 怎么有步骤的学习一下呀,或者有些入门的资料
确定发展方向,初级阶段搞实施和搞开发所学的技能是不同的,后期搞调优的话又需要融会贯通。
创新互联是一家专业提供措勤企业网站建设,专注与网站建设、做网站、H5技术、小程序制作等业务。10年已为措勤众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。
如果只是考证,按照考纲来准备就可以了。
建议如果有时间可以通读下oracle的联机文档,看几遍就是半个专家了。
如何直接阅读Oracle中的trace文件
oracle10g的话在oracle的主目录下面 有admin文件夹。进入之后有数据库名的文件夹。再进入。在bdump和udump下面就是trace文件。
oracle如何读取数据
Oracle读取数据的最大限制取决于操作系统和Oracle对多块读IO的限制。在物理上来说,一个SQL语句要读取某个记录,必须将该记录读取到DB CACHE中,然后才能从DB CACHE中获取,这种访问我们一般称为物理读(READ),如果这个数据已经存在于DB CACHE中,那么前台进程可以直接从DB CACHE中读取数据,这样的读取成为逻辑读(GET),如果要读取的数据已经被修改,需要从UNDO中读取前映像来获取一致性的数据,那么会从UNDO中取出前映像,和当前的数据块一起形成一个一致性读块(CR BLOCK),然后再从CR BLOCK中读取数据,这种访问方式称为一致性读(CR GET)。 从逻辑上讲, Oracle读取数据通过三种途径:全表扫描( Full Table Sacn,FTS )、引扫描、通过ROWID直接访问。在阅读SQL执行计划的时候,可以通过 TABLE ACCESS子句来查看Oracle访问某个表的方法,一般来说,对于大型的表来说,如果出现 TABLE ACCESS FULL 的提示,是需要加以重视的,一般情况下,对于大表的全表扫描应该是尽量避免的。下面是一个简单的执行计划:Query Plan----------------------------------------- SELECT STATEMENT [CHOOSE] Cost=1234 TABLE ACCESS FULL LARGE [:Q65001] [ANALYZED]查看SQL的执行计划的时候,最右边的,最上面的操作是首先被执行的,上面的例子只有一个操作,就是对表“LARGE”进行全表扫描。当这个步骤执行完毕后,就会将结果集返回给上面一层的语句,上面的例子就是 SELECT STATEMENT 这个语句,一般来说 SELECT STATEMENT 是整个执行计划的顶层。 [CHOOSE]表明这个SQL语句的OPTIMIZER_GOAL ,在这个提示的右侧是COST数据,如果COST是有实际值的,那么说明使用了CBO优化器,如果COST没有实际值,那么说明使用了RBO优化器。比如: SELECT STATEMENT [CHOOSE] Cost=COST只是一个相对的值,只是优化器用来分析访问路径的优劣的,相同的SQL, COST越小的执行计划,起执行效果越好,开销越小。而不同的SQL ,其COST值是没有可比性的。 [:Q65001]指明这部分操作被采用并行查询的方式执行,
如何阅读oracle数据块的dump文件
dump出Oracle block后,可以看到事物槽,包含有事物槽号(ITL),XID,UBA,FLAG,LCK,SCN。
本文主要讨论FLAG标记的规则,其中FLAG在block中占用1个字节大小。
data block的dump信息中ITL中的xid:0x000c.011.000000e6是由undo信息组成的:xidusn.xidslot.xidsqn(wrap#)
data block的dump信息中ITL中的uba:0x00800554.00d6.28是由uba(undo block address).UBASQN.UBAREC
我们知道FLAG各种标记位代表不同意思,以下为不同标记位代表不同意思:
—- = transaction is active, or committed pending cleanout
C— = transaction has been committed and locks cleaned out
-B– = this undo record contains the undo for this ITL entry
–U- = transaction committed (maybe long ago); SCN is an upper bound
—T = transaction was still active at block cleanout SCN
看上面的标记位有一定的规律可循,以下为测试过程,其中07代表锁的行数
BBED modify 0×0700
Itl Xid Uba Flag Lck Scn/Fsc
0×01 0×0023.02f.0000004e 0×0280073e.0010.2b –U- 3 fsc 0×0000.0811d995
0×02 0×0029.02d.0000004d 0×028008c5.0010.37 —- 7 fsc 0×0a00.0811d8b7
1.事务开始时,需要在回滚段事务表上分配一个事务槽(alter system dump undo header '回滚段名称');
2.在数据块头部获取一个ITL事务槽,该事务槽指向回滚段头的事务槽(alter system dump datafile .. block ..);
3.在修改数据之前,需要记录前镜像信息,这个信息以UNDO RECORD的形式存储在回滚段中,回滚段头指向该记录
(通过回滚段头事务表的信息,alter system dump datafile .. block ..查看回滚记录);
4.锁定修改行,修改行锁定位(lb-lock byte)指向ITL事务槽,可以dump数据块查看;
5.数据修改可以进行;
当前文章:如何阅读Oracle文档,oracle 文档
转载注明:http://scyanting.com/article/hdgjih.html