oracle系列培训.pptx

上传人:lil****205 文档编号:92220008 上传时间:2023-06-01 格式:PPTX 页数:45 大小:20.28MB
返回 下载 相关 举报
oracle系列培训.pptx_第1页
第1页 / 共45页
oracle系列培训.pptx_第2页
第2页 / 共45页
点击查看更多>>
资源描述

《oracle系列培训.pptx》由会员分享,可在线阅读,更多相关《oracle系列培训.pptx(45页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、鑫 诺 通 讯 技 术 有限公司Oracle 基础培训专用目录vOracle 体系架 构 初步 认识Oracle 的 组 成,oracle 架 构 的基 础 知 识 vOracle 开 发 使用Oracle 进 行 开 发,如建立Oracle 连 接,PL/SQL 的使用等.v 相 关 的 开 发 工具使用 PowerDesign,PL/SQL Developer 等工具的使用.培训专用1.Oracle 体系架 构StrategyChallengers Forward 324数据库与实例培训专用1.1 数据库与实例区别v 实例是一组后台进程和内存v 数据库是磁盘上存储的数据的集合,它是物理的,

2、而实例是逻辑的,数据库关闭后实例就消亡了.v 实例一次只能打开一个数据库v 数据库可以由一个和多实例打开(RAC)v 用户只能通过实例与数据库打交道培训专用1.1.1 数据库的启动过程vNOMOUNT 读取初始化参数(init.ora,pfile,spfile),并且分配物理内存,通过初始化参数定位到控制文件(control file),启动后台进程.vMOUNT 读取并打开控制文件,并确认到database 的结构信息。vOPEN 所有文件被打开,并确认database 状态 培训专用1.1.2 数据库的关闭方法v 关闭数据库,通过shutdown 命令shutdown 命令格式shutdo

3、wn normal|transactional|immediate|abort;*normal:a:阻止任何用户建立新的连接b:等待连接的用户主动断开,正在连接的用户可以继续工作,甚至提交新的实务。c:一旦所有的用户断开连接,才进行关闭,卸载数据库,并终止实例。影响:等很久。*transactional:a:阻止任何用户建立新的连接,同时阻止产生新的事务。b:等待未提交的实务,提交完毕后,切断用户的连接。c:一旦所有的用户断开连接,才进行关闭,卸载数据库,并终止实例。影响:最好的关闭数据库的方式。*immediate:a:阻止任何用户建立新的连接,同时阻止产生新的事务。b:任何未提交的实务都会

4、被回滚。c:Oracle 不再等待用户主动断开连接,而是直接关闭、卸载数据库,并终止实例。影响:有些实务不会提交成功。重启之后不需要恢复动作。无伤害。*abort:a:阻止任何用户建立新的连接,同时阻止产生新的事务。b:立即结束当前正在执行的sql 语句。c:任何未提交的实务都不会被回滚。d:立即断开所有用户连接,关闭、卸载数据库,并终止实例。影响:关的是快,但是会造成数据信息丢失,下一次启动会需要恢复动作。不要使用此方法。培训专用1.2.1 数 据 库组 成示意 图1.2 数 据 库 的 组 成Oracle 数据库由控制文件、参数文件、数据文件、重做日志文件、归档文件、口令文件等组成.培训专

5、用1.2.2 参数文件v 指定控制文件位置 Oracle 从参数文件中读取控制文件的名字和位置。v 默认的数据库优化的设置 保存各种数据库各种设置,可以通过 show parameter 命令来查看.v 指出归档日志的目标 show parameter log_archive_dest_1;培训专用1.2.3 控制文件 包含维护和验证数据库完整性的必要信息一个数据库至少需要一个控制文件,通常数据库有多个控制文件.通常控制文件包含以下内容:1.数据库名称 2.所有数据库文件和重做日志文件的完整路径名 3.数据库的创建时间和日期 4.当前的日志序列号 5.相关的校验点信息/quote6.还有rma

6、n 备份信息7.撤销段的开头和结尾 8.查看控制文件内容:Alter session set events immediate trace name CONTROLF level 10培训专用1.2.4 数据文件v 表空间 表是建立在表空间下,表空间是逻辑的数据库存储结构,位于储存层次的顶层,它对应着一个或多个数据文件,如新建一个表空间:CREATE TABLESPACE TBS_sltt NOLOGGING DATAFILE D:oracleTBS_slt.ORA SIZE 20M;v 逻辑结构 从物理的角度讲数据文件 由操作系统的块构成,而 从逻辑角度讲,数据文件 由:段,区段,块 构成存

7、放表,索引,数据字典,回滚段等数据库对像的地方培训专用1.2.5 重做日志文件v 在线重做日志文件 如果是数据库所在的主机掉电,就可以用在线重日志来恢复数据库到掉电前的那个时刻。你在Oracle 中的每个操作几呼都会写入在线重做日志文件.例如:向表中插入一行,插入的最终结果就会写入在线重做日志。v 归档重做日志 如果包含数据文件的磁盘驱动器损坏,oracle 就会使用归档重做日志文件恢复到 适当的时间点。要使用归档日志文件数据库必须以归档模式运行:Alter Database Archivelog;v 归档模式/非归档 OLTP(在线交易)系统宜采用归档模式,OLAP(在线分析)如数据仓库宜采

8、用非归档模式 重做日志文件是至关重要的,它是数据库的事务日志,万一实例或介质出现失败就可以用重做日志文件来恢复。培训专用1.2.6 重做日志的工作原理重做日志是多组的,在线重做日志可以循环重复使用,而归档重做日志可以无限扩展,可以通过以下命令查看重做日志:selectgroup#,memberfromv$logfileorderbygroup#;培训专用1.3 实例组成(内存结构)1.3.1 实 例 组 成 概 要 图可通过以下脚本查看数据库中SGA 的组件:select component,current_size from v$sga_dynamic_components;培训专用1.3.

9、2 SGA 组成v 共享池(Shared pool)共享池就是缓存程序的地方如:当运行一个Sql 查询语句后,你的SQL 语句就缓存在共享池中,下一次运行 时Oracle 不再从磁盘重新读取,如果1000 个会话都在执行相同的代码,那么只会加载这个代码的一个副本,这样以来速度就快多了。v 块缓冲区高速缓存(DataBase Buffer Cache)Oracle 将数据快写入到磁盘前和从磁盘读取数据块之后都会把数据块存储在块缓冲区高速缓存中。v 大池(Large Pool)当共享池不能处理的大块内存就放在大池中处理。v JAVA 池(JAVA Pool)支持在数据库中运行Java。v 流池(S

10、tream Pool)它设计为数据库共享/复制工具培训专用1.3.2 SGA 组成v 重做日志缓冲区(Redo log Buffer)暂存写入到在线重做日志前的数据:写入重做日志的条件:每3 秒一次 提交Commit;要求LGWR 切换日志文件 重做缓冲区1/3 已满,或者包含了1M 的缓存重做日志培训专用v 后台进程是在实例启动时自动地建立。一个ORACLE 实例可以有许多后台进程,但它们不是一直存在。主要的后台进程的名字为:1.DBWR 数据库写入程序 2.LGWR 日志写入程序 3.CKPT 检查点进程 4.SMON 系统监控 5.PMON 进程监控 6.ARCH 归档进程 7.RECO

11、 分布式数据库恢复 1.3.3 后台进程培训专用1.3.4 SCN(系统变更号)Scn 用来标识数据库在某个时刻提交的版本,同时Scn 是数据的内部时钟v Scn 的获取方式:select dbms_flashback.get_system_change_number from dual;v Scn 的改变 通常发生一个事务并且提交,scn 即增加,但不一定是连贯的v Scn 普遍存在于控制文件,数据文件,重做日志文件等中v Oracle 依据scn 来实现一致性读()培训专用1.3.5 检查点 检查点可以看成数据库的事件,它存在的根本意义在于减少数据库崩溃的恢复时间.v 取得检查点selec

12、t dbid,name,checkpoint_change#from v$database;v 检查点的工作原理 当检查点完成后,检查点之前修改过的数据都己经写回磁盘,重做日志文件中相应重做记录对于崩溃实例恢复已不再有用培训专用1.3.6 断电崩溃数据库实例的恢复过程v 断电过程示意思图Log1log2log3最后完成检查点的位置(100000)数据库崩溃的位置100100最后完成检查点时检查点计数值:数据库崩溃时的位检查点计数值:控制文件重做日志文件 数据文件100000100100 100100100000100000 100000培训专用1.3.4 系统架构图培训专用1.4 数据字典v1

13、.X$表这一部分表是Oracle 数据库的运行基础,在数据库启动时由Oracle 应用程序动态创建。v 2.GV$和V$视图除了一些特例以外,每个V$视图都有一个对应的GV$视图存在。v3.GV_$,V_$视图和V$,GV$同义词这些视图是通过catalog.ql 创建。Oracle 通过数据字典来管理和展现数据库信息,这些信息至关重要。正确理解这部分内容有助于加强我们的oracle 学习能力。培训专用2.Oracle 开 发v 读取一致性v 数据库特性v 绑定变量的使用vPL/sql 开发培训专用2.1 读取一致性Oracle 从不阻塞读,它通过回滚段(undo segment)来保证数据的

14、正确性。模 拟银 行ATM 的交易 过 程SelectSum(account_balance)fromAccounts;Result:1250Oracle 事务隔离等级.READ COMMIT;(一个事务只可以读取该事务开始之前提交的数据。).SERIABLE;.READ UNCOMMIT:.REPEATABLE READ;假设查询分为七个时间点完成:t1:查询事务完成第一行累加s=500t2:转账事务开始将第一行的账户转账400 元到第4 行账户上 第四行账户余额变为500 元.T7:查询事务累加结果1250?会不会多出400 元?培训专用2.1 读取一致性培训专用2.2 数据库特性v2.2

15、.1 序列 创建序列:createsequenceSEQ_AREAminvalue1maxvalue9999999999startwith1incrementby1cache20cycle;得到下一个值:selectseq_area.nextvalfromdual 序列的使用:(定义主键)insert into tbl_tbname(column1,)values(seq_area.nextval,);培训专用2.2.2 递归SQL(层 次化 查询)selectrpad(*,2*level,*)|enamefromempstartwithmgrisnullconnectbypriorempno

16、=mgr;selectrpad(*,2*level,*)|enamefromempstartwithename=SMITHconnectbypriormgr=empno(反向搜索)培训专用2.3 绑 定 变 理的使用使用绑定变量:declare-Local variables hereiinteger;beginforiin1.10000loopexecuteimmediateinsertintoXvalues(:x)usingi;endloop;end;不使用绑定变量:declare-Local variables hereiinteger;beginforiin1.10000loopexe

17、cuteimmediateinsertintoXvalues(|i|);endloop;end;使用绑定参数可以在程序运行时动态决定一些参数的值。下面比较不使用绑定参数和使用绑定参数时的情况。培训专用2.3 绑 定 变 理的使用实际编程中的例子(JAVA):StringHQL=fromContentswherelogdate=+beginDate+00:00:00andlogdate?;/声明hql 语句,命名参数用“?”代替Queryquery=session.createQuery(hql);/创建查询query.setParameter(0,李晓梅);/绑定参数query.setPara

18、meter(1,newInteger(20);Listlist=query.list();/执行查询在HQL 语句中用问号“?”代替命名参数。此时setParameter()函数的第一个参数指定参数的位置(position),0 为HQL 查询语句中的第一个参数,1 为第二个参数,以此类推。培训专用2.4 PL/SQL 开 发v SQL 语句(DDL,DML)vPL/SQL 开发 1.存储过程 2.包 3.函数 4.游标 5.事务 6.异常处理 7.触发器培训专用3.相关开发工具的使用v3.1 Oracle 客户端的使用(Net Manager)v 3.2 物理建模(PowerDesign)建

19、模,生成脚本,反向工程,生成数据字典v3.3 PL/SQL 开发工具(PL/SQL DEVELOPER)导出数脚本,导出数据,Debug,代码帮助,美化,培训专用二ORACLE 高效设计v 优化的方法:1.对操作系统的资源调整2.对Oracle 数据库系统级调整3.对用户系统的设计优化(数据库设计)架构师4.对程序实现方法的优化程序员/系统分析师5.对程序中与优化程序员培训专用数据库设计v 用户系统的数据库物理建模v 对用户表的索引v 分区表的使用v 正确使用数据类型与优化v 绑定变量v 使用数据特性与内置函数v v 高效的v 高效的培训专用性能工具包v EXPLAIN PLAN(执行计划)v

20、 AUTOTRACEv TKPROFv RUNSTATSv STATSPACKv DBMS_PROFILER培训专用EXPLAIN PLAN(执行计划)v 执行$ORACLE_HOME/RDBMS/ADMIN 下的UTLXPLAN.SQLv Delete from plan_table;v EXPLAIN PLAN for statement;v 执行$ORACLE_HOME/RDBMS/ADMIN 下的UTLXPLS.SQLv 阅读查询计划v explain plan forselect ename,dname,grade from scott.emp,scott.dept,scott.sa

21、lgrade where emp.deptno=dept.deptno and emp.sal between salgrade.losal and salgrade.hisal培训专用AUTOTRACEv 控制AUTOTRACE 输出:1。SET AUTOTRACE OFF 此为默认值,即关闭Autotrace2。SET AUTOTRACE ON 产生结果集和解释计划并列出统计3。SET AUTOTRACE ON EXPLAIN 显示结果集和解释计划不显示统计4。SET AUTOTRACE TRACEONLY 显示解释计划和统计,尽管执行该语句但您将看不到结果集5。SET AUTOTRACE

22、 TRACEONLY STATISTICS 只显示统计培训专用AUTOTRACEv 了解AutoTrace 的输出查询计划的报告部份:Cost:CBO 赋予查询计划的每个步骤的成本。Card:特定的查询计划步骤将输出的记录行数的估计。Byte:CBO 预测的每一个计划步骤将返回数据字节数量。培训专用AUTOTRACEv 了解AutoTrace 的输出统计信息部份:Recursive calls:为执行你的语句所运行的语句数。Db block gets:用当前方式从缓冲区高速缓存读取的总块数。Consistent gets:在缓冲区高速缓存一个块被请求进行一致性读取的次数。一致性读取可能需要读取

23、撤消(回退)的信息,这些信息也计算在内。Physical reads:从数据文件到缓冲区高速缓存物理读取的数目。Redo size:该语句在执行过程中所产生的重做信息的字节数。bytes sent via SQL*Net to client:从服务器发送到客户机的总字节数。bytes received via SQL*Net from client:从客房机接收的字节数。SQL*Net roundtrips to/from client:从客房机发送和接收的sql*net 消息总数,包括从多行的结果集中提取的返回信息。Sort(Memory):在用户会话存储器(排序区)中进行的排序,通过Sor

24、t_Area_size 参数控制。Sort(Disk):由于排序超过用户的排序区尺寸而使用磁盘(临时表空间)的排序Rows processed:显示受影的行数(可能是增删改查或Merge 语句)培训专用TKPROFv 1.alter system set timed_statistic=true;v 2.查看要关注的用户的SID 和Serial#v select sid,serial#from v$session where username=FIN_WEI;v 3.执行:v exec sys.dbms_system.set_sql_trace_in_session(143,781,true)

25、;v 过一伙再执行:(其间要有操作)v select*from emp start with empno=7839 connect by prior empno=MGR;v exec sys.dbms_system.set_sql_trace_in_session(143,781,false);v 4.查看跟踪文件所在的目录v select name,value from v$parameter where name=user_dump_destv 或者show parameter user_dump_dest;v 5.查询当前生成的跟踪文件v select spid from v$proce

26、ss where addr=v(select paddr from v$session where sid=143);v 关闭跟踪文件v.在命令行中输入:v tkprof c:orclxin_ora_22744.trc v c:trace.txt培训专用TKPROF读懂报告1.查询和执行统计v 分析(parse)此阶段是Oracle 在共享池中找到的该查询(软分析)或创建该查询计划的新计划(硬分析)的所在。v 执行(Execute)此阶段是由Oracle 在该查询的open 或Execute 所做的工作。v 提取(Fetch)Select 语句在此工作。所处理的语句将经历以上三个阶段报告项部的

27、标题:v 计数(count):查询在此阶段执行的次数。v CPU:该查询在此阶段的量(毫秒)v 占用时间(Elapse):花费在此阶段的挂钟时间。v 磁盘(Disk):查询在此阶段执行物理的次数。v 查询(Query):检索一致方式时执行逻辑的次数。v 当前(Current):到目前为止检索块时所执行的逻辑的次数。v 行(Rows):此阶段中被处理或受影响的行数。培训专用TKPROF读懂报告查询环境Misses in library cache during parse:1Optimizer mode:RULEParsing user id:54 库高速缓存:优化模式:受分析的用户:培训专用T

28、KPROF读懂报告查询计划Rows Row Source Operation1 TABLE ACCESS BY INDEX ROWID HIST_HEAD$(cr=3 pr=0 pw=0 time=67 us)1 INDEX RANGE SCAN I_HH_OBJ#_INTCOL#(cr=2 pr=0 pw=0 time=33 us)(object id 257)cr:培训专用培训专用鑫 诺 通 讯 技 术 有限公司赵 洪 鑫谢谢!培训专用演讲完毕,谢谢观看!培训专用内容总结鑫诺通讯技术有限公司。当共享池不能处理的大块内存就放在大池中处理。JAVA 池(JAVA Pool)。()。t2:转账事务开始将第一行的账户转账400 元到第4 行账户上。对用户系统的设计优化(数据库设计)架构师。Rows processed:显示受影的行数(可能是增删改查或Merge 语句)。占用时间(Elapse):花费在此阶段的挂钟时间。演讲完毕,谢谢观看培训专用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com