oracle系列培训ppt课件_第1页
oracle系列培训ppt课件_第2页
oracle系列培训ppt课件_第3页
oracle系列培训ppt课件_第4页
oracle系列培训ppt课件_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、鑫诺通讯技术tannerOracle 根底.目录Oracle 体系架构 初步认识Oracle的组成, oracle架构的根底知识 Oracle 开发 运用Oracle进展开发,如建立Oracle衔接,PL/SQL的运用等.相关的开发工具运用 PowerDesign,PL/SQL Developer等工具的运用.1.Oracle 体系架构StrategyChallengers Forward324数据库与实例1.1数据库与实例区别实例是一组后台进程和内存数据库是磁盘上存储的数据的集合,它是物理的,而实例是逻辑的,数据库封锁后实例就消亡了.实例一次只能翻开一个数据库数据库可以由一个和多实例翻开(R

2、AC)用户只能经过实例与数据库打交道1.1.1数据库的启动过程NOMOUNT 读取初始化参数(init.ora,pfile,spfile),并且分配物理内存,经过初始化参数定位到控制文件(control file),启动后台进程.MOUNT 读取并翻开控制文件,并确认到database的构造信息。 OPEN 一切文件被翻开,并确认database形状 1.1.2数据库的封锁方法封锁数据库,经过shutdown命令shutdown 命令格式shutdown normal | transactional | immediate | abort ;*normal:a:阻止任何用户建立新的衔接b:等待

3、衔接的用户自动断开,正在衔接的用户可以继续任务,甚至提交新的实务。c:一旦一切的用户断开衔接,才进展封锁,卸载数据库,并终止实例。影响:等很久。 * transactional:a:阻止任何用户建立新的衔接,同时阻止产生新的事务。b:等待未提交的实务,提交终了后,切断用户的衔接。c:一旦一切的用户断开衔接,才进展封锁,卸载数据库,并终止实例。影响:最好的封锁数据库的方式。 * immediate:a:阻止任何用户建立新的衔接,同时阻止产生新的事务。b:任何未提交的实务都会被回滚。c:Oracle不再等待用户自动断开衔接,而是直接封锁、卸载数据库,并终止实例。影响:有些实务不会提交胜利。重启之后

4、不需求恢复动作。无损伤。 * abort:a:阻止任何用户建立新的衔接,同时阻止产生新的事务。b:立刻终了当前正在执行的sql语句。c:任何未提交的实务都不会被回滚。d:立刻断开一切用户衔接,封锁、卸载数据库,并终止实例。影响:关的是快,但是会呵斥数据信息丧失,下一次启动会需求恢复动作。不要运用此方法。1.2.1数据库组成表示图1.2数据库的组成Oracle数据库由控制文件、参数文件、数据文件、重做日志文件、归档文件、口令文件等组成.1.2.2参数文件指定控制文件位置 Oracle 从参数文件中读取控制文件的名字和位置。 默许的数据库优化的设置 保管各种数据库各种设置,可以经过 show pa

5、rameter 命令来查看.指出归档日志的目的 show parameter log_archive_dest_1;1.2.3控制文件 包含维护和验证数据库完好性的必要信息一个数据库至少需求一个控制文件,通常数据库有多个控制文件. 通常控制文件包含以下内容: 数据库称号 一切数据库文件和重做日志文件的完好途径名 数据库的创建时间和日期 当前的日志序列号 相关的校验点信息 /quote还有rman备份信息撤销段的开头和结尾 查看控制文件内容: Alter session set events immediate trace name CONTROLF level 101.2.4数据文件表空间 表

6、是建立在表空间下,表空间是逻辑的数据库存储构造,位于储存层次的顶层,它对应着一个或多个数据文件,如新建一个表空间: CREATE TABLESPACE TBS_sltt NOLOGGING DATAFILE D:oracleTBS_slt.ORA SIZE 20M; 逻辑构造 从物理的角度讲数据文件 由操作系统的块构成,而 从逻辑角度讲,数据文件 由: 段,区段,块构成存放表,索引,数据字典,回滚段等数据库对像的地方1.2.5重做日志文件在线重做日志文件 假设是数据库所在的主机掉电,就可以用在线重日志来恢复数据库到掉电前的那个时辰。他在Oracle中的每个操作几呼都会写入在线重做日志文件. 例

7、如:向表中插入一行,插入的最终结果就会写入在线重做日志。归档重做日志 假设包含数据文件的磁盘驱动器损坏,oracle就会运用归档重做日志文件恢复到 适当的时间点。要运用归档日志文件数据库必需以归档方式运转: Alter Database Archivelog;归档方式/非归档 OLTP在线买卖系统宜采用归档方式, OLAP在线分析如数据仓库宜采用非归档方式 重做日志文件是至关重要的,它是数据库的事务日志,万一实例或介质出现失败就可以用重做日志文件来恢复。1.2.6重做日志的任务原理重做日志是多组的,在线重做日志可以循环反复运用,而归档重做日志可以无限扩展,可以经过以下命令查看重做日志: sel

8、ect group#, member from v$logfile order by group#;1.3实例组成内存构造1.3.1实例组成概要图可经过以下脚本查看数据库中SGA的组件:select component,current_size from v$sga_dynamic_components;1.3.2 SGA组成共享池Shared pool) 共享池就是缓存程序的地方如: 当运转一个Sql查询语句后,他的SQL语句就缓存在共享池中,下一次运转 时Oracle不再从磁盘重新读取,假设1000个会话都在执行一样的代码,那么只会加载这个代码的一个副本,这样以来速度就快多了。块缓冲区高速

9、缓存DataBase Buffer Cache Oracle将数据快写入到磁盘前和从磁盘读取数据块之后都会把数据块存储在块缓冲区高速缓存中。大池Large Pool 当共享池不能处置的大块内存就放在大池中处置。JAVA池JAVA Pool 支持在数据库中运转Java。流池Stream Pool 它设计为数据库共享/复制工具1.3.2 SGA组成重做日志缓冲区Redo log Buffer 暂存写入到在线重做日志前的数据:写入重做日志的条件:每3秒一次提交Commit;要求LGWR切换日志文件重做缓冲区1/3已满,或者包含了1M的缓存重做日志后台进程是在实例启动时自动地建立。一个ORACLE实例

10、可以有许多后台进程,但它们不是不断存在。主要的后台进程的名字为: 1.DBWR 数据库写入程序 2.LGWR 日志写入程序 3.CKPT 检查点进程 4.SMON 系统监控 5.PMON 进程监控 6.ARCH 归档进程 7.RECO 分布式数据库恢复 1.3.3后台进程1.3.4SCN(系统变卦号)Scn用来标识数据库在某个时辰提交的版本,同时Scn是数据的内部时钟Scn的获取方式:select dbms_flashback.get_system_change_number from dual;Scn的改动 通常发生一个事务并且提交,scn即添加,但不一定是衔接的Scn普遍存在于控制文件,数

11、据文件,重做日志文件等中Oracle根据scn来实现一致性读() 1.3.5 检查点 检查点可以看成数据库的事件,它存在的根本意义在于减少数据库解体的恢复时间.获得检查点select dbid,name,checkpoint_change# from v$database;检查点的任务原理 当检查点完成后,检查点之前修正正的数据都己经写回磁盘,重做日志文件中相应重做记录对于解体实例恢复已不再有用1.3.6 断电解体数据库实例的恢复过程断电过程表示思图 Log1 log2 log3最后完成检查点的位置(100000)数据库解体的位置100100最后完成检查点时检查点计数值:数据库解体时的位检查点

12、计数值:控制文件重做日志文件数据文件1000001001001001001000001000001000001.3.4系统架构图1.4数据字典1.X$表这一部分表是Oracle数据库的运转根底,在数据库启动时由Oracle运用程序动态创建。 2.GV$和V$视图除了一些特例以外,每个V$视图都有一个对应的GV$视图存在。3.GV_$,V_$视图和V$,GV$同义词这些视图是经过catalog.ql创建。 Oracle经过数据字典来管理和展现数据库信息,这些信息至关重要。正确了解这部分内容有助于加强我们的oracle学习才干。 2. Oracle 开发读取一致性数据库特性绑定变量的运用PL/sq

13、l开发2.1读取一致性Oracle从不阻塞读,它经过回滚段undo segment)来保证数据的正确性。模拟银行ATM的买卖过程Select Sum(account_balance) from Accounts; Result:1250Oracle 事务隔离等级.READ COMMIT;(一个事务只可以读取该事务开场之前提交的数据。).SERIABLE;.READ UNCOMMIT:.REPEATABLE READ;假设查询分为七个时间点完成:t1:查询事务完成第一行累加 s=500t2:转账事务开场将第一行的账户转账400元到第4行账户上 第四行账户余额变为500元.T7:查询事务累加结果1

14、250?会不会多出400元?2.1读取一致性2.2数据库特性2.2.1序列 创建序列: create sequence SEQ_AREA minvalue 1 maxvalue 9999999999 start with 1 increment by 1 cache 20 cycle; 得到下一个值: select seq_area.nextval from dual 序列的运用: (定义主键) insert into tbl_tbname(column1,) values (seq_area.nextval,);2.2.2递归SQL层次化查询select rpad(*,2*level,*)|

15、ename from emp start with mgr is null connect by prior empno=mgr;select rpad(*,2*level,*)|ename from emp start with ename =SMITH connect by prior mgr=empno反向搜索2.3绑定变理的运用运用绑定变量:declare - Local variables here i integer;begin for i in 1.10000 loop execute immediate insert into X values(:x) using i;end

16、loop; end;不运用绑定变量:declare - Local variables here i integer;begin for i in 1.10000 loop execute immediate insert into X values(|i|); end loop; end;运用绑定参数可以在程序运转时动态决议一些参数的值。下面比较不运用绑定参数和运用绑定参数时的情况。 2.3绑定变理的运用实践编程中的例子JAVA: String HQL=from Contents where logdate=+beginDate+ 00:00:00 and logdate?; /声明hql语

17、句,命名参数用“?替代 Query query=session.createQuery(hql); /创建查询 query.setParameter(0,李晓梅); /绑定参数 query.setParameter(1,new Integer(20); List list=query.list(); /执行查询在HQL语句中用问号“?替代命名参数。此时setParameter()函数的第一个参数指定参数的位置position,0为HQL查询语句中的第一个参数,1为第二个参数,以此类推。2.4 PL/SQL开发SQL语句DDL,DML PL/SQL开发 1.存储过程 2.包 3.函数 4.游标

18、5.事务 6.异常处置 7.触发器3.相关开发工具的运用3.1 Oracle客户端的运用Net Manager3.2 物理建模PowerDesign 建模,生成脚本,反向工程,生成数据字典3.3 PL/SQL开发工具PL/SQL DEVELOPER 导出数脚本,导出数据,Debug,代码协助,美化,二ORACLE高效设计优化的方法:对操作系统的资源调整对Oracle数据库系统级调整对用户系统的设计优化数据库设计架构师对程序实现方法的优化程序员/系统分析师对程序中与优化程序员数据库设计用户系统的数据库物理建模对用户表的索引分区表的运用正确运用数据类型与优化绑定变量运用数据特性与内置函数高效的高效

19、的性能工具包EXPLAIN PLAN执行方案AUTOTRACETKPROFRUNSTATSSTATSPACKDBMS_PROFILEREXPLAIN PLAN执行方案执行$ORACLE_HOME/RDBMS/ADMIN下的UTLXPLAN.SQLDelete from plan_table;EXPLAIN PLAN for statement;执行$ORACLE_HOME/RDBMS/ADMIN下的UTLXPLS.SQL阅读查询方案explain plan forselect ename, dname, grade from scott.emp, scott.dept, scott.salgr

20、ade where emp.deptno = dept.deptno and emp.sal between salgrade.losal and salgrade.hisalAUTOTRACE控制AUTOTRACE 输出:1。SET AUTOTRACE OFF此为默许值,即封锁Autotrace2。SET AUTOTRACE ON产生结果集和解释方案并列出统计3。SET AUTOTRACE ON EXPLAIN显示结果集和解释方案不显示统计4。SET AUTOTRACE TRACEONLY显示解释方案和统计,虽然执行该语句但您将看不到结果集5。SET AUTOTRACE TRACEONLY

21、STATISTICS 只显示统计AUTOTRACE了解AutoTrace的输出查询方案的报告部份:Cost:CBO赋予查询方案的每个步骤的本钱。Card:特定的查询方案步骤将输出的记录行数的估计。Byte:CBO预测的每一个方案步骤将前往数据字节数量。AUTOTRACE了解AutoTrace的输出统计信息部份:Recursive calls:为执行他的语句所运转的语句数。Db block gets:用当前方式从缓冲区高速缓存读取的总块数。Consistent gets:在缓冲区高速缓存一个块被恳求进展一致性读取的次数。一致性读取能够需求读取吊销回退的信息,这些信息也计算在内。Physical

22、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):在用户会话存储器排序区中进展的排序,经过Sort_Area_size参数控制。Sort(Disk):由于排序超

23、越用户的排序区尺寸而运用磁盘暂时表空间的排序Rows processed:显示受影的行数(能够是增删改查或Merge语句)TKPROF1. alter system set timed_statistic=true;2. 查看要关注的用户的SID和Serial# select sid,serial# from v$session where username=FIN_WEI;3. 执行:exec sys.dbms_system.set_sql_trace_in_session(143,781,true); 过一伙再执行:其间要有操作select * from emp start with empno=7839 connect by prior empno=MGR;exec sys.dbms_system.set_sql_trace_in_session(143,781,false);4.查看跟踪文件所在的目录select name,value from v$parameter where name=user_dump_dest或者show parameter user_dump

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论