为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 51cto下载-吕海波ocm课堂笔记

51cto下载-吕海波ocm课堂笔记

2018-11-19 22页 doc 47KB 28阅读

用户头像

is_196623

暂无简介

举报
51cto下载-吕海波ocm课堂笔记51cto下载-吕海波ocm课堂笔记一、OCM考试介绍1、OCM考试环境与注意事项场景0:手动建库(60分钟),不算分场景1:网络和空间管理(120分钟)空间管理:只有创建表空间-----------------第一天上午结束场景2:GC(120分钟)重点场景3:备份恢复(60分钟)场景4:DW(数据泵与物化视图)(90分钟)-----------------第一天结束场景5:数据库管理(120分钟)场景6:性能调优(120分钟)-----------------第二天上午结束场景7:RAC搭建(100分钟)场景8:DG搭建和...
51cto下载-吕海波ocm课堂笔记
51cto下载-吕海波ocm课堂笔记一、OCM考试介绍1、OCM考试环境与注意事项场景0:手动建库(60分钟),不算分场景1:网络和空间管理(120分钟)空间管理:只有创建空间-----------------第一天上午结束场景2:GC(120分钟)重点场景3:备份恢复(60分钟)场景4:DW(数据泵与物化视图)(90分钟)-----------------第一天结束场景5:数据库管理(120分钟)场景6:性能调优(120分钟)-----------------第二天上午结束场景7:RAC搭建(100分钟)场景8:DG搭建和切换(60分钟)(最大性能模式,同步传Redo)-----------------第二天结束2、谈阿里巴巴的数据解决:Oracle与MySQL、Hadoop的适用场景(1)、Oracle、HadoopOracle:集中Hadoop:分布。人多势众,横向扩展能力强。钱多,拼机器数量。:Hbase,SQLForHadoop:OLTP对高可用有较高要求RAID200500G*6,RAID5,500G*5=2.5T*200台=500T200*5万=1000万20*500G=10T/2=50THadoop:数据师、Hadoop运维工程师数据分析师:高,数学建模。低,写Java代码,完成建模。Hadoop运维工程师:高,源码级。写个Hbase低,纯运维。(2)、Oracle与MySQLMySQL:线程,充分利用单台主机所有CPU、内存资源。不适合太大的数据库。100G以内。Oracle:多进程。MySQL,一定要分表。分表的方式License:分布式事务,两段式提交MySQL:源码级:普通运维线程:一个人的左右手。一个进程多个线程,相当于一个人,多只手。进程:相多于多个人。OLTP:淘宝的评价一个人:心最齐N个人:心不齐Oracle相比MySQL的,唯一的缺陷:价格、开源大机3、如何提高Oracle技能:成为Oracle技术大师之路重视原理,学习原理的方法:验证二、手动建库与参数设置1、如何快速手动创建数据库2、Oracle初始化参数介绍(如何设置内存大小等)128G内存:SGA多大64G,32G:SGA128G,(1)、OLTP内存的分配SGA:60G工作区(WorkArea,排序、HashJoin、位图连接):10GOracle服务器进程:5M-10M,processes参数*10M,5000*10M=50GOS系统自用:8G128G-10G-50G-8G=60G256G-10G-50G-8G=(2)、大页SGA:128G128G/4k=33,554,432块(三千多万),每个Oracle进程页表大小:320M每个页,有一个页表项(大概10个字节),记录页的状态、位置在大页下,页表只占.625MLinux,每个进程页表独立,有各自的页表。1000进程*320M=***G设置了大页,但没被Oracle使用:(1)、SGA_MAX_SIZE超过了大页(2)、没有设置内存锁内存:是进程活动的舞台startupif(有大页)在大页中分配SGAelse-----------------------1.11下午----------------四、空间管理1、解析数据文件中空间如何被使用(1)、表空间A表空间中有1、2、3、4个数据文件10M的T1表:A.在某一个文件当中分得10MB.每一个文件各分配2.5M表从数据文件中分配空间单位:区。R1_1R1_2R1_3R2_1R2_2R2_3creatediskgroupdg1....diskR1_1,R2_1,R1_2,R2_2,R1_3,R2_3;012345AU:分配单元1Mcreatediskgroupdg1....diskR1_1,R1_2,R1_3,R2_1,R2_2,R2_3;01234513429170945吕海波2、理解区的意义表从数据文件中分配空间单位:区(1)、系统管理区大小区大小:段的前1M空间:区大小8个块64K,前16个区。之后64M之前:区大小1M,128个块之后:区大小8M段:64M前。(2)、大、小区的优缺点小区:优点省空间:缺点大区:缺点浪费空间、和在分配和回收时多耗用一点点CPU:优点:全扫描段时减少I/O的次数减少分配的次数。扫描段时也会减少的次数吧段头的8M块:大块、小块。BufferPinLock8M区,存储中使用8M的StripeSize。8MAU,3、I/O的类型:超过1M的区有意义吗OS、硬件驱动:最大IO大小1M。读一个8M的区,包含8个1M的I/O,很有可能,这8次I/O,是顺序IO。读8个1M的区,至少8次随机I/O。4、区中空间的使用:ASSM原理测试区大小1M,块大小8K。一个区128块插入一行,行被插入到哪里,在ASSM表空间下:行被随机插入L3选择L2,不随机在L2中,根据PID进行HASH,得到一个随机值,根据此值选择L1.在L1中,„„„„„„„„„„„„„„„„,根据此值选择数据块。128129130131L1L1L2L301c000820000000111007130L2Hintforinserts:0x01c00082SecondLevelBitmapblockDBAs--------------------------------------------------------DBA1:0x01c00082DBA1:0x01c000XXDBA1:0x01c000XXDBA1:0x01c00082DBA1:0x01c00082DBA1:0x01c00082IDNAME------------------------------1AAAAAA2BBBBBB4DDDD3CCCCC会不会(1)、文件头I.纯文件头:第一块II.位图区(本地管理的位图区)2-8,其中第2个块是位图ls-lFrtocp_ora_4923.trcocp_m000_7660.trc后台进程的DUMP文件:实例名_进程名_SPID.XXX服务器进程的DUMP文件:实例名_ORA_SPID.XXXFirst:8111111101111111111111111111111111111111„„„„0truncatetablet2;127-2=125/2=6个块/2:10G---------------------------------------------01-12上午-------------------------------GDB不用装了《Solaris动态跟踪指南》insertintot2values(2,'BBB');忽略解析(1)、找段头selectheader_file,header_blockfromdba_segemntswheresegment_name='T2'andowner='LHB';seg$(2)、在L3(第一个L3块就是段头)中,读取:L2Hintforinserts:0x01c00102,确定L2块为7号文件,258号块就算L3中有多个L2,每次都只会到L2Hintforinserts所指定的L2的读取L1(3)、到L2中读取L1信息。根据进程的PID号,计算HASH值,根据此HASH值选择某一个L1。假如选择了:0x01c00100(7号文件,256号块)(4)、到L1中查找可用数据块目前的L1是:0x01c00100(7号文件,256号块)。根据进程的PID号,计算HASH值,根据此HASH值选择某一个数据块。unformatted格式化:-----------------------以上复习-----------------------一个L1中,是否是固定有64个1、L1中数据块的状态:Unformat75-100%50-75%25-50%0-25%FULLMetadata用3个二进制位表示81927000272:75-100%free--------------------------------------------5、被忽略的参数:Pctfree设置为多少合适pctfreepctused(ASSM中已经不再使用)日志型什么样的值是不好的,容易引起竞争的24%20%(1)、altertablet2pctfree24;(新分配的块)(2)、插入多行,使用76%的空间,8192-200beginforiin1..3loopinsertintot2values(1,'BBB');endloop;end;/(3)、确认行的位置不好的Pctfree,会造成L1块的BuffersBusyWaits。(BufferPinLock竞争)exitsqlplus/assysdbaaltersystemcheckpoint;altersystemdumpdatafile7block256;6、ASSM能支持多大的并发为什么一个L1中64个数据块,可否调节,为什么不使用另一个L1?altertable...allocateextent(...);sqlpluslhb/a<流程
:1)、LogBuffer2)、LogFile3、LGWR什么时候写1)、commit的时候2)、数据达到1M的时候3)、每3秒4)、满1/3logbuffer5)、手动触发的日志切换(altersystemswitchlogfile)6)、(说成DBWR写脏块到数据文件前更全面点)(检查点)4、LGWR被触发时,写什么(DSI405):已经提交、或已经满的LogBuffer块因为LogFile文件的块大小512字节,所以LogBuffer的Buffer大小也是512字节(在11G后可调)5、LogBuffer1)、顺序使用6、LogFile格式updatevagesetname='ZZZZZ'whereid=1andrownum=1;(只修改一行568字节)commit;问题:产生几条Redo:因为是两条命令,所以产生两条RedoRECORD(1)、REDORECORD:一条命令,如果修改的块不多,产生一条Redo记录(RedoEntries)(2)、一条RedoRecord,包含若干个“CHANGE#”(Redo矢量)DBA:0x00c00090000000001100000000003,144:_SYSSMU2_2230626112$,段头RedoRecordChange#1:OP:5.2事务开始,修改回滚段中的事务表(slt:0x001csqn:0x00000fce)Change#2:OP:5.1回滚段块的后映像CHANGE#3:OP:11.5表块的后映像(OBJ:17822,DBA:0x0140016f,ITL变成什么,0号行、1号列、新值:5a5a5a...)Seq、wrap(中山路2号,张三)7、原文件格式(1)、512字一个块,每个块前16字节为块头8、LogBuffer(1)、多个进程可以同时向一个LogBuffer中的Buffer写Redo数据吗,答案:可以(2)、如何避免多个进程覆盖对方的数据划分地盘:排他。靠谁控制:Latch,redoallocationlatch。if(Getredoallocation成功){当前位置=当前位置+568;释放redoallocation}(3)、Server进程向LogBuffer中拷贝Redo数据时,也需要保护:redocopylatch.(4)、if(Getredoallocation成功){if(判断logBuffer是否有空间){当前位置=当前位置+568;}else{不能得到LogBuffer中的空间,先释放redoallocation,抛出Logbufferspace等待事件。}释放redoallocation}Logbufferspace:LGWR写太慢或Redo数据太多。加大LogBuffer(不建义使用,原因要重启数据库)。(5)、多个LogBuffer:10G后,只要Cpu_count参数值在2之上,LogBuffer就有两个。IMMEDIATE_GETS:非等待模式GETS:WillingWaitingMode三、调试Oracle入门1、LatchMissWhere:Why:对Latch审请失败原因一种描述。1。。。。2。。。。setlinesize1000colKSLLWNAMfora30colKSLLWLBLfora20colKSLLASNAMfora40selecta.addr,b.addr,a.KSLLWNAM,a.KSLLWLBL,b.KSLLASNAMfromx$ksllwa,x$kslwscbwherea.indx=b.indxanda.indx=to_number('&aa','xxxxxxxx');十六进制版:setlinesize1000colKSLLWNAMfora30colKSLLWLBLfora20colKSLLASNAMfora40selecta.addr,b.addr,a.KSLLWNAM,a.KSLLWLBL,b.KSLLASNAMfromx$ksllwa,x$kslwscbwherea.indx=b.indxanda.indx=to_number('&aa','xxxxxxxx');selectaddr,namefromv$latchwhereto_number(addr,'XXXXXXXXXXXXXXXX')=19127200328;查询Latch的Where&Whensetlinesize1000colKSLLWNAMfora30colKSLLWLBLfora20colKSLLASNAMfora40selecta.addr,b.addr,a.indx,to_char(a.indx,'xxxxxxxxxxx'),a.KSLLWNAM,a.KSLLWLBLfromx$ksllwa,x$kslwscbwherea.indx=b.indxandb.KSLLASNAM='&ln';sys@OFFERT>descGV$LATCH_MISSESNameNull?Type-------------------------------------------------------------------------------INST_IDNUMBERPARENT_NAMEVARCHAR2(50)x$kslwsc.ksllasnamWHEREVARCHAR2(64)x$ksllw.ksllwnamNWFAIL_COUNTNUMBERx$kslwsc.kslnowtfSLEEP_COUNTNUMBERx$kslwsc.kslsleepWTR_SLP_COUNTNUMBERx$kslwsc.kslwscwslLONGHOLD_COUNTNUMBERx$kslwsc.kslwsclthgLOCATIONVARCHAR2(64)x$ksllw.ksllwnamsys@OFFERT>descx$ksllwNameNull?Type-------------------------------------------------------------------------------ADDRRAW(8)INDXNUMBERINST_IDNUMBERKSLLWNAMVARCHAR2(64):试图获得Latch的位置,V$LATCH_MISSES.LOCATION列。KSLLWLBLVARCHAR2(64):V$视图中没有此列,“Why”meaningforsomeof“where”maybeguessedfromksllwlblcolumnofx$ksllw.sys@OFFERT>descx$kslwsc;NameNull?Type-----------------------------------------------------------------------------ADDRRAW(8)INDXNUMBERINST_IDNUMBERKSLNOWTFNUMBERv$latch_misses.NWFAIL_COUNT列,no-wait获得Latch失败的次数。KSLSLEEPNUMBERv$latch_misses.SLEEP_COUNT,请求闩导致睡眠的次数KSLWSCWSLNUMBERv$latch_misses.WTR_SLP_COUNT,等待着睡眠的次数KSLWSCLTHGNUMBERv$latch_misses.LONGHOLD_COUNT,Numberoftimessomeoneheldalatchfortheentiredurationofsomeoneelse'ssleepKSLLASNAMVARCHAR2(50):Latch的名字x$ksuprlat,上层视图:GV$LATCHHOLDER,有一个V$中没有的列:KSUPRLMD,持有Latch的模式。selectksuprpidpid,ksuprsidsid,ksuprlatladdr,ksuprlnmname,ksuprlmd,ksulawhy,ksulawhr,ksulagtsgetsfromx$ksuprlat;2、断点单步执行反汇编查看寄存器查看内存已知函数名的时,让Oracle的执行,停在某个函数处,然后查看这个函数参数或参数所指向的内存。关于反汇编,参看:《深入理解计算系统》只看第三章:程序的计算机级表示当发生函数调用时,参数被放在%esi、%edi、等寄存器中。(edi/rdi:第一个参数,esi/rsi:第二个参数)DSI,通过LatchMiss四、DTrace入门1、BEGIN{printf("helloworld,www.MythData.com");exit(0);}end{}2、探针:触发器intmyadd(inta,intb);main(){inta,b,c=0,i;a=10;b=20;for(i=0;i<=3;i++)c=myadd(a,b);callqprintf("c=%d\n",c);}intmyadd(inta,intb){if(tri==true){执行触发器代码;}intrt;rt=a+b;returnrt;}进程探针:调用函数触发器模型名:模块名:函数名:探针名sskgslcas:调用CbcLatch的函数pid进程号:::entrypid进程号:::returnpid1234mdb:断点:sskgslcas:b::step:c::quit$r----------------------------------BufferCache:Buffer,多个进程不可以同时写。BufferBusyWaits。00000000h:002200000000C0FF0000000000000000;."....?........00000200h:01220000010000002700000000805829;."......'....[code]3802023800001010h:38020000050000000AD0360001000000;8........?.....00001020h:00000000000000000000010002000000;................00001030h:020000000ACF360009D036000000FFFF;.....?..?...
/
本文档为【51cto下载-吕海波ocm课堂笔记】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索