




免费预览已结束,剩余91页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
oracle dba,jan-15-2000,oracle数据库培训教材,2,数据库管理员(dba),预备知识 sql语句 pl/sql 关系数据库基本原理 相关知识 unix nt 网络,jan-15-2000,oracle数据库培训教材,3,oracle数据库简介,当前主流数据库及其简介 oracle sysbase informix sql server db2 关系数据库概念简介 oracle数据库结构,jan-15-2000,oracle数据库培训教材,4,关系数据库简介,关系数据库元素 实体和联系 键(key) 数据完整性 sql语言,jan-15-2000,oracle数据库培训教材,5,关系数据库元素,jan-15-2000,oracle数据库培训教材,6,实体和联系,实体(entity):客观存在的并可相互区分的“事物” 实体通常成为表,表由行和列组成,每一行描述实体的一个示例,每一列描述实体的一个特征 实体在逻辑数据库设计时被确定 联系(relation):实体之间存在的对应或连接关系 一对一关系(1:1):表中的一行与相关表中的零行或多行相关 一对多关系(1:n):表中的一行与相关表中的零行或多行相关 多对多关系(n:m):表中的多行与相关表中的零行或多行相关 联系的实现:在关系数据库设计中,联系通常利用逻辑键来实现。,jan-15-2000,oracle数据库培训教材,7,键(key),主键 超键(super key):在一个关系中能唯一表示元组的属性集 侯选键( candidate key):一个属性集能唯一标识元组而又不含多余的属性 主键(primary key):被选用的侯选键 外键 公共键(common key):两个关系中具有相容(或相同)的属性或属性组 外键(foreign key):如果公共键是其中一个关系的主键,那么这个公共键在另一个关系中称为外键 组合键 组合键(composit key):由两个或两个以上属性(列)组成的键,jan-15-2000,oracle数据库培训教材,8,数据完整性(data intergrity),实体完整性 关系中的元组在组成主键的属性上不能有空值,也不能有重复值,否则就不能起到唯一标识元组的作用 域完整性 关系中的属性取值的正确性限制,包括数据类型、精度、取值范围、是否允许空值等 参照完整性 反映了实体之间存在的某种约束条件。要求外键的值不允许参照不存在的主键的值,它使主键和外键之间的值保持一致或相容,来维护数据库数据的一致性或相容性 业务规则 一般包括数据完整性、参照完整性、遵循组织的任一其他需求,以便保证业务的正确运行,jan-15-2000,oracle数据库培训教材,9,sql 语言(structure query language),数据操纵语言(dml) select delete insert update 数据定义语言(ddl) create 定义数据库实体结构 alter 修改数据库实体结构 drop 删除数据库实体 grant/revoke数据库对象的权限管理 数据控制语言(dcl) commit/rollback savepoint,jan-15-2000,oracle数据库培训教材,10,sql*plus,sql*net 字符集 sql*plus 数据库对象介绍,jan-15-2000,oracle数据库培训教材,11,tns tns是transparent network substrate(透明网络层)的缩写 如何配置tns使client同server建立联系 服务器上监听进程与listener.ora文件 客户机上tnsnames.ora文件 如何配置bde使delphi同oracle建立联系,jan-15-2000,oracle数据库培训教材,12,listener.ora,listener=(address_list=(address= (protocol=tcp) (host=00) (port=1521) ) ) sid_list_listener= (sid_list= (sid_desc= (sid_name=ora1) (oracle_home=/oracle/app/oracle/product/8.0.5) ) ),jan-15-2000,oracle数据库培训教材,13,tnsnames.ora,yy1 = (description= (address= (protocol=tcp) (host=00) (port=1521) ) (connect_data= (sid=ora1) ) ),jan-15-2000,oracle数据库培训教材,14,sql*plus,sql*plus常用命令介绍 dual空表的作用 sql 语句 sql常用函数介绍 sql*plus使用常用技巧,jan-15-2000,oracle数据库培训教材,15,sql*plus常用命令介绍,set(设置当前的sql*plus的系统环境): echo,heading,serverouput,timing,time,long,linesize,arraysize,autocommit,copycommit,pause show(显示当前的系统环境): user save存储当前的内容到某一文件: save 文件名 get读取某一文件的内容: get 文件名 run和/ (运行当前的文件或某一特定的文件): run可运行当前缓冲区中的内容也可运行某一特定的文件。 conn连接某一用户: conn username/passwordalias,jan-15-2000,oracle数据库培训教材,16,sql*plus常用命令介绍,disc从某一连接中退出: disc column格式化某一列的显示格式: column column_name format axxx desc查看某一对象的描述: desc object_name edit编辑当前缓冲区中的内容或某一特定的文件: edit 或ed list显示当前缓冲区中的内容: list或l spool把运行结果重定向: spool 某一文件,结束spool off,默认的扩展名为lst,jan-15-2000,oracle数据库培训教材,17,sql*plus常用命令,exit:退出当前的连接 和 :运行单独的脚本和在脚本中运行脚本 cre.sql cre.sql append:在当前的语句的末尾增加内容 append 或 a change:改变当前最后一行的内容,用特定的内容替换指定的内容。 c/student/teacher 清屏命令: shift+del(clear scr),jan-15-2000,oracle数据库培训教材,18,sql 语句,select: 作用: 根据where条件从表,视图,snapshot中获取数据。 语法: select distinct(all default) column_name(expt,*) from table(view,snapshot,subqueryselect list)dblink where (start with condition)(connect by condition) group by expr (having condition) union (union all,minus,intersect) order by (expr,position,c_alias) asc(desc) for update of (table,view snapshot) column nowait,jan-15-2000,oracle数据库培训教材,19,sql 语句,update: 作用: 该语句用于修改表或基表的view中的已存在的数据,如果要执 行该语句必须拥有update privilege。 语法: update table(view,snapshot)dblink t_alias set (column_arraay)=subquery2 or column=value or =subquery3 where condition,jan-15-2000,oracle数据库培训教材,20,sql 语句,insert: 作用: 该语句用于插入单条或一组记录到相应的表和基于单表的view, 如果要执行该语句必须拥有insert privilege。 语法: insert into schema.table(view or subquery1)dblink(column_name) values (column_values) (or subquery2) (as select from ),jan-15-2000,oracle数据库培训教材,21,sql 语句,delete: 作用: 该命令用于从表或基于单表的view中删除一些记录,如果要 执行该语句必须拥有delete privelege。 语法: delete from table(view) dblink alias where condition commit: rollback:,jan-15-2000,oracle数据库培训教材,22,sql 语句,create table: create table(column name) create table as select column name(*) from table_name copy from to replace (create ) alter table: drop table: create(alter/drop) index:,jan-15-2000,oracle数据库培训教材,23,常用sql函数,nvl:把空值用某一特定值进行替换 decode:作用是对特定的值进行选择,并指定一默认值 to_char:把某一数据类型转换成char型 to_date:把某一数据类型转换成date型,须考虑特定的数据格式 to_number:把某一数据类型转换成number型 ltrim:把某一char型数据的左边空格删除 rtrim:把某一char型数据的右边空格删除 instr:获取某些字符在某一字符串中的位置 substr:把某一字符串截取特定长度,得到另一字符串,jan-15-2000,oracle数据库培训教材,24,常用sql函数,lpad:把某一字符串按照一定位数进行特定字符的左扩展 rpad:把某一字符串按照一定位数进行特定字符的右扩展 chr:把某一10进制的的number转换成相应的char replace:把某一字符串的内容用某一特定的字符进行替换 add_months:把某一日期进行加一个月处理 count:对某一数据进行个数统计 sum:对某一number型数据进行相加处理 max:提取某一number型数据的最大值 min:提取某一number型数据的最小值,jan-15-2000,oracle数据库培训教材,25,其他,通配符: 完全通配符:%可匹配任意各字符。 部分通配符:_可匹配单个字符 伪列类型:currval和 nextval: 提取sequence中的当前值和下一值。在使用时应先使用nextval,才能使 用currval level: 对于select语句中的层次查询返回的层次 rowid: 数据的物理地址,类似于指针,由18位组成,blockid(8位).columnid(4 位).fileid(4位) rownum: 得到返回的行的个数,jan-15-2000,oracle数据库培训教材,26,sql*plus使用常用技巧,在sql*plus环境中如何进行交互式输入: 利用替代符& 如何利用sql生成sql脚本: spool的功能 如何在两个数据库中进行数据的复制: copy from to append,create,insert,replace,jan-15-2000,oracle数据库培训教材,27,数据库对象介绍,cluster database link function index table procedure package package body sequence synonym trigger view,jan-15-2000,oracle数据库培训教材,28,dba日常工作,数据库管理员(dba)职责: 数据库物理设计 数据库启动/关闭 数据库安装,配置 数据库存储管理 数据库安全管理 数据库故障检测 网络管理 数据库性能检测及优化 数据库备份与恢复,jan-15-2000,oracle数据库培训教材,29,定时检查alert.log文件 用utlbstat/utlestat产生数据库性能报告 对应用进行跟踪分析 * 对ops定时检测冲突情况 定时对数据库中的表和索引进行统计和分析 数据库用户和安全管理 数据库表空间管理 协助应用开发人员进行设计和分析 数据库故障处理(数据库补丁) .,jan-15-2000,oracle数据库培训教材,30,oracle数据库结构,sga(system global area),database buffer,share pool,redo buffer,用户进程,dbwr,smon,pmon,lgwr,arch,reco,lckn,dnnn,ckpt,data files,control files,redo log files,jan-15-2000,oracle数据库培训教材,31,oracle实例(instance),dbwr,lgwr,ckpt,smon,pmon,instance,sga,data buffer,redo log buffer,library cache,data dictionary cache,shared pool,control files,control files,control files,data files,control files,redo log files,alter file,parameter file,password file,user process,server process,pga,background process,arch,archived log files,jan-15-2000,oracle数据库培训教材,32,oracle server,control files,control files,user process,server process,client,server,pga,jan-15-2000,oracle数据库培训教材,33,user process,server process,select * from emp order by ename;,statement,handle,handle,results,ok,ok,parse,execute,fetch,dml语句执行过程,jan-15-2000,oracle数据库培训教材,34,dbwr,lgwr,ckpt,smon,pmon,instance,sga,data buffer,redo log buffer,library cache,data dictionary cache,shared pool,arch,control files,control files,control files,data files,control files,redo log files,server process,update emp set sal=sal*2 where empname=王海,1,3,4,5,2,dml语句执行过程,commit 语句执行过程,dbwr,lgwr,ckpt,smon,pmon,instance,sga,data buffer,redo log buffer,library cache,data dictionary cache,shared pool,arch,control files,control files,control files,data files,control files,redo log files,server process,user process,1,2,3,4,jan-15-2000,oracle数据库培训教材,36,系统管理工具,svrmgrl/svrmgrm sqldba orapwd sql*loader export/import oem,jan-15-2000,oracle数据库培训教材,37,svrmgrl常用命令,jan-15-2000,oracle数据库培训教材,38,启动与关闭数据库步骤,shutdown,nomount,mount,open,实例启动,打开实例 所需要的 控制文件,打开控制 文件中定 义的所有 文件,1,2,jan-15-2000,oracle数据库培训教材,39,oracel数据库启动,启动命令 startup force restrict pfile=filename exclusive | parallel | shared open recover database | mount | nomount 并行数据库启动步骤 - 启动dlm锁 - startup parallel - 启动监听进程,jan-15-2000,oracle数据库培训教材,40,oracle数据库关闭,关闭数据库命令 shutdown normal |transactional | immediate | abort 关闭数据库步骤 - 停止监听进程 - 查看系统中是否存在活动进程 - 用normal方式或shutdown immediate关闭数据库,jan-15-2000,oracle数据库培训教材,41,shutdown方式,jan-15-2000,oracle数据库培训教材,42,oracle安装配置,设置环境变量 nt oradmin80 -new -sid test -intpwd password -startmode auto -pfile inittest.ora unix oracle_home oracle_sid . . 数据库安装 参数设置,jan-15-2000,oracle数据库培训教材,43,创建数据库,spool crdbtest.lst startup nomount pfile=inittest.ora create database test maxlogfiles 10 maxlogmembers 5 maxdatafiles 100 maxloghistory 100 logfile group 1 (/dev/rdrd/drd4,/dev/rdrd/drd5) size 10m, group 2 (/dev/rdrd/drd6,/dev/rdrd/drd7) size 10m datafile /dev/rdrd/drd10 size 100m character set zhs16cgb231280;,jan-15-2000,oracle数据库培训教材,44,创建数据库 -创建数据字典,sql.bsq 创建数据库基表 catalog.sql 数据字典视图 catproc.sql pl/sql dbms*.sql & prvt*.plb 数据库包体/包头 pupbld.sql,jan-15-2000,oracle数据库培训教材,45,创建数据库-故障处理,监控日志文件 install.log make.log holdfile.log 常见安装问题解决,jan-15-2000,oracle数据库培训教材,46,控制文件管理,控制文件作用 控制文件信息 数据库名称 数据文件定位 重做日志文件定位 表空间名称 当前sequence号 checkpoint信息 备份信息 . 控制文件管理 备份 重建 保持控制文件的多个复本,jan-15-2000,oracle数据库培训教材,47,v$controlfile name v$parameter name(control_file) v$controlfile_record_section type records_size records_total records_used,控制文件,jan-15-2000,oracle数据库培训教材,48,数据库逻辑结构,database,tablespace,segment,extent,oracle block,o/s block,data file,logical,physical,jan-15-2000,oracle数据库培训教材,49,数据库表空间管理,表空间管理 create tablespace alter tablespace drop tablespace 回滚段管理 create rollback segment alter rollback segment drop rollback segment,jan-15-2000,oracle数据库培训教材,50,表空间管理,dba_tablespace dba_data_files dba_segments dba_extents dba_free_space dba_free_space_coalesced,jan-15-2000,oracle数据库培训教材,51,重做日志(redo log )文件,重做日志文件作用 归档模式 重做日志文件管理 - alter system switch logfile; - alter system checkpoint; - alter database add logfile - alter database add logfile member - alter database rename file - alter database drop logfile - alter database drop logfile member - alter datbase clear logfile - archive log list,jan-15-2000,oracle数据库培训教材,52,归档模式,data files,50,51,controlfile,100,101,t1,t2,without archiving,with archiving,data files,50,51,controlfile,100,101,t1,t2,51,51,51,51,51,51,99,52,jan-15-2000,oracle数据库培训教材,53,重做日志(redolog)文件,v$database v$instance v$thread v$log v$logfile,jan-15-2000,oracle数据库培训教材,54,数据库用户管理,用户管理 create user alter user drop user 用户权限 .profile,jan-15-2000,oracle数据库培训教材,55,数据库备份方案,数据库的备份方案有以下几种: 全部或部分卸出备份(exp) 增量卸出备份 冷备份 热备份 归档备份 整个文件系统的复制,jan-15-2000,oracle数据库培训教材,56,卸出备份(exp),exp help=y example: exp scott/tiger file=exp.dmp log=exp.log buffer=4096000 full=y/n indexes=y/n rows=y/n compress=y/n owner list of owner usernames tables list of table names grants export grants (y) inctype incremental export type indexes export indexes (y) constraints export constraints (y) consistent cross-table consistency statistics analyze objects (estimate),jan-15-2000,oracle数据库培训教材,57,归档备份(必须和冷/热备份结合使用),1.数据库必须运行在archive模式下 svrmgrl startup mount svrmgrl alter database archivelog; 2.冷/热备份 3.数据库控制文件备份,jan-15-2000,oracle数据库培训教材,58,数据库恢复,数据库恢复: 数据表空间/数据恢复 控制文件恢复 根据备份方案的不同,恢复也有以下两种方法: 1.数据imp(倒入) 2.表空间recover,jan-15-2000,oracle数据库培训教材,59,imp help=y example: imp scott/tiger file=exp.dmp full=y rows=y index=y log=imp.log 注意: 由于在imp的过程中,部分约束及角色将由于对象倒入的先后顺 序而丢失,必须用手工重新创建或进行第二次imp(不倒入数据) 对比imp.log和exp.log文件,观察是否存在数据未倒入,jan-15-2000,oracle数据库培训教材,60,表空间恢复,临时表空间: 临时表空间并不包含真正的数据,恢复的方法是删除临时表空 间并重建即可 系统表空间: 系统处于noarchivelog模式下或备份不可用,重建数据库 系统处于archivelog模式下,恢复步骤同用户表空间 回滚表空间: 删除回滚段,删除回滚表空间,重建回滚表空间及回滚段,jan-15-2000,oracle数据库培训教材,61,用户表空间: 错误现象:在启动数据库时出现ora-01157,ora-01110或操作系统级错误如ora-07360;在关闭数据库(使用shutdown 或shutdown immediate) 时出现错误ora-01116,ora-01110及操作系统级错误ora-07368 1.用户的表空间可以被轻易地重建 最近导出的对象是可用的或表空间中的对象可以被轻易地重建等. 在这种情况下,最简单的方法是offline并删除该数据文件,删除表 空间并重建表空间以及所有的对象并重建表空间及所有对象. 2. 数据库运行在archivemode下,恢复步骤为: 将备份回拷覆盖被损坏的数据文件;回拷(冷/热)备份后生成的 所有日志文件 svrmgrl recover datafile filename; svrmgrl alter database open resetlogs;,jan-15-2000,oracle数据库培训教材,62,控制文件的恢复: 1. 存在一个或多个控制文件可用 关闭数据库,复制可用的控制文件 2. 所有的控制文件均被破坏 重建控制文件: svrmgrl startup nomount svrmgrl cre.sql -重建控制文件脚本,jan-15-2000,oracle数据库培训教材,63,create controlfile reuse database “yy1“ noresetlogs noarchivelog maxlogfiles 32 maxlogmembers 2 maxdatafiles 256 maxinstances 8 maxloghistory 800 logfile group 1 /dev/rdrd/drd1 size 10m, group 2 /dev/rdrd/drd2 size 10m, group 3 /dev/rdrd/drd6 size 10m, datafile /usr/ora/db/system.dbf, /usr/ora/db/rbs.dbf, .; recover database alter database open;,jan-15-2000,oracle数据库培训教材,64,数据库优化,数据库优化工作重要性 数据库优化过程 数据库优化基础知识 数据库优化内容 数据库性能诊断工具 优化技巧及脚本 oracle技术热线,jan-15-2000,oracle数据库培训教材,65,数据库基础知识,oracle数据库系统数据存储的物理结构和逻辑结构 模式对象的组成 oracle数据库系统的进程以及内存结构构成 oracle锁的概念介绍 二阶段提交的概念 用户、角色、权限的概念的介绍 举例介绍oracle是如何处理一个事务,jan-15-2000,oracle数据库培训教材,66,oracle事务处理过程,首先必须有一台主机或数据库服务器运行一个oracle instance 工作站运行一个应用,它试图通过适当的sql*net驱动同服务器取得联系 如果该服务器也正在运行适当的sql*net驱动。服务器检测到应用的连接请求,开始为此用户进程创建一个专用的服务器进程 客户端的用户执行一个sql语句并提交此进程 服务器进程收到此sql语句,并开始检验在oracle的共享池中是否存在同样的sql语句。如果在共享池中发现该sql语句,服务器进程开始检验该用户是否对请求的数据有操作的权限,然后使用在共享池中的sql语句去执行该语句。如果该sql语句在共享池中不存在,就为此语句分配一个新的共享池区以便它能够被解析、执行 服务器进程从实际的数据文件或共享池中取回必须的数据 服务器进程在在共享池中修改数据。在上述所作的生效之后,dbwr后台进程把修改后的数据块永久的写入硬盘。在此事务提交成功之后,lgwr进程立即把此事务记录到在线的redo log file 如果此事务成功,服务器进程通过网络返回一个成功的信息给应用程序。如果该事务不成功,将返回一个适当的信息 在上述的事务过程中,其余的后台进程同样在运行,等待着条件符合而被触发。此外,数据库服务器还管理着其他用户的事务,并且在不同事务之间提供数据一致性,防止不同事务对相同数据操作,jan-15-2000,oracle数据库培训教材,67,数据库优化内容,数据库建库优化 数据库初始化文件 数据库空间优化 系统设计优化 sql语句优化 sga优化 i/o、cpu优化 系统性能瓶颈分析 常见问题分析,jan-15-2000,oracle数据库培训教材,68,数据库空间设计优化,表空间设计的原则为: 把由用户创建的其余表空间同system表空间进行分离 把系统的数据表空间同索引表空间分离 把操作频繁和不经常操作的表划分在不同的表空间中 分离用户数据和回滚段的数据以防止某个磁盘出现故障丢失数据 为特殊类型的数据库使用保留某个表空间 回滚表空间分配原则 临时表空间分配原则,jan-15-2000,oracle数据库培训教材,69,回滚段空间分配原则,一个事务的回退信息可以写到当前例程中正在被使用的任何的一个回滚段中 一个事务的所有回退信息只能写入一个回滚段中 多个事务的回退信息可以同时写入同一个回滚段中,甚至可以同时写入一个extent中 当回滚段的extent中的所有事务都被提交或回退了,此extent就可以被重新使用 一旦回滚段的某个extent被重新使用,在此extent中的所有信息都不在可用 在系统需要更多的空间时,如果回滚段的下一个extent中有活动事务,例程就会扩展此回滚段 select、insert、update、delete语句都可能会使数据库从多个回滚段去读数据 回滚段的头永远不会移入当前被rollback的事务为所占用的extent中 当回滚段的头进行扩展时,他是按顺序的,不会跳过环中的extent 如果回滚段的头不能使用下一个extent,它就会另外分配一个extent,并把它插入环中,jan-15-2000,oracle数据库培训教材,70,系统设计时作的优化,oracle 存储基本单位- block 建表参数 建索引参数 索引结构,jan-15-2000,oracle数据库培训教材,71,系统设计时作的优化-建表参数,jan-15-2000,oracle数据库培训教材,72,sql语句优化,oracle优化方式 cost_based(基于代价) rule_based(基于规则) 索引的使用 如何写高效的sql语句 写相同的sql语句,保证程序能够利用共享池的内容,加快程序的执行速度 写能够利用索引并且能够符合基于代价的优化条件的sql语句 尽量利用pl/sql的特性减少网络的传输 使用存储过程,以减少网络的传输和提高系统的编译速度,jan-15-2000,oracle数据库培训教材,73,无法使用到索引的sql语句,column1(=,=)column2 其中column1和column2在同一张表中 column is (is not) null column not in column !=expr column like %anything 在上述条件中不管column上是否有建索引,sql语句都不会利用索引。 expr是一个表达式,它用运算符或函数操作在该列上 例如:expr*column=anything not exists subquery 不包含未被索引的列的任何条件 在like表达式中如果模糊的列为数字或日期的话 在oracle内部的本身的数据转换,jan-15-2000,oracle数据库培训教材,74,数据库常见性能分析,表空间的剩余空间的问题 表的锁的问题 表的链接问题 索引的查找速度降慢问题 表操作速度降慢的问题,jan-15-2000,oracle数据库培训教材,75,性能检测工具,explain的使用介绍 explain plan的加强版 tkprof的使用介绍 utlbstat/ublestat使用介绍 第三方产品,jan-15-2000,oracle数据库培训教材,76,explain,explian plan作用 执行explain plan前期准备工作 explain 语法 explain plan (set statement id=text) for statement plan_table结构,jan-15-2000,oracle数据库培训教材,77,explain plan,select id,parent_id,position,operation,options,object_name,object_type,cost from plan_table; plan_table表的主要字段介绍: statement_id 该值由系统在执行explain plan时进行赋值 operation 表示该语句每一步要进行的操作 options 表示该语句每一步要进行的动作 object_name 表示语句中涉及到的数据库对象名 object_type 表示语句中涉及到的数据库对象类别 id 执行计划数的节点值 parent_id 执行计划的节点值的父节点值 position 表示对具有相同 parent_id的执行顺序 cost 执行该语句的代价,jan-15-2000,oracle数据库培训教材,78,tkprof,使用tkprof工具步骤: 1. svrmgrl utlxplan.sql 修改init.ora文件,设置timed_statistics=true 2. sql execute dbms_system.set_sql_trace_in_session(sid,serial#,true) 3. sql execute dbms_system.set_sql_trace_in_session(sid,serial#,false) 4. tkprof trc_file text_file sys=y/n explain=user/passwd,jan-15-2000,oracle数据库培训教材,79,tkprof,tkprof输出的文件中关键字含义: count 一个语句被语法分析、执行和取数的次数 cpu 对语句的所有语法分析,执行或取数调用的总cpu时间(以秒计) elapsed 对语句的所有语法分析,执行或取数调用的总耗费时间(以秒计) disk 对所有语法分析,执行或取数调用的,从磁盘数据文件上数据块物理 读的总数 query 对所有语法分析,执行或取数调用的,以一致方式检索的缓冲区总数, 对查询来说,通常用一致性方式检索缓冲区 current 以当前方式检索的缓冲区总数。对insert,update和delete语 句通常用当前方式检索缓冲区query和current的和是存取的缓冲区的 总数 rows 由sql语句处理的总行数。对于select语句而言,返回的行数出现 在取数的步骤,对update、delete和insert语句而言,处理的 行数出现在执行步骤,jan-15-2000,oracle数据库培训教材,80,example:在执行tkprof ora_1000.trc out.txt explain=sys/sys sys=no后输出如下: . select work_type_id from work_area w,staff_member s where w.work_area_id = :b1 and s.work_area_id = :b1 and s.staff_id = :b3 and s.sts = a call count cpu elapsed disk query current rows - - - - - - - - parse 0 0.00 0.00 0 0 0 0 execute 1 0.00 0.00 0 0 0 1 fetch 1 23.0 0.00 32230 22 2 43993 - - - - - - - - total 2 23.00 0.00 39930 22 2 43993 rows execution plan - - 0 select statement goal: choose 1 nested loops 43993 table access goal: analyzed (full) of staff_member 29 table access goal: analyzed (by rowid) of work_area 29 index goal: analyzed (unique scan) of sys_c007339 (unique) .,jan-15-2000,oracle数据库培训教材,81,utlbstat/utlestat: 设置timed_statistics=true svrmgrl utlbstat svrmgrl utlestat 系统将生成report.txt文本文件便于分析 优化技巧和常用脚本:,jan-15-2000,oracle数据库培训教材,82,oracle技术支持网站, /jonsonhuo /coug,jan-15-2000,oracle数据库培训教材,83,i. oerr error_type error_no,oracle提供了一个非常实用的故障判断命令oerr,格式:oerr ora error_no,使用该命令能够解决大多数使用oracle中所遇到的“故障”: example1: $ oerr ora 301 00301, 00000, “error in adding log file %s - file cannot be created“ / *cause: the creation of the log file failed / *action: check: 1) there is enough space on the device / 2) the name of the file is valid / 3) the device is online / 4) an io error occurred / consult associated errors for further information.,jan-15-2000,oracle数据库培训教材,84,example2 : $ oerr ora 1542 01542, 00000, “tablespace %s is offline, cannot allocate space in it“ / *cause: tried to allocate space in an offline tablespace / *action: bring the tablespace online or create the object in / other tablespace,jan-15-2000,oracle数据库培训教材,85,example 3: $ oerr ora 4031 04031, 00000, “unable to allocate %s bytes of shared memory (“%s“,“%s“,“%s “)“ / *cause: more shared memory is needed than was
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025安通长青(天津) 数据科技有限公司招聘备考试题及答案解析
- 2025贵州毕节市大健康集团有限公司第十三届贵州人才博览会招聘工作人员(第二批)停止接收简历备考试题及答案解析
- 2025广东惠州市惠东县九龙峰中心幼儿园招聘11人考试备考题库及答案解析
- 2025广西旅发南国体育投资集团有限公司招聘3人备考试题及答案解析
- 2025甘肃润华房地产开发有限责任公司招聘1人笔试备考题库及答案解析
- 生物多样性保护-第31篇-洞察及研究
- 种质资源创新-洞察及研究
- 食品营养标签监管-洞察及研究
- 生态系统服务权衡关系-洞察及研究
- 2025年度人防工程防护设备安装与培训合同
- 营养风险筛查与评估课件(完整版)
- 店长管理培训:店务管理
- 汉语言文学毕业设计开题报告范文
- 爱自己爱生命主题班会课件
- 国家职业技术技能标准 6-25-02-06 半导体分立器件和集成电路装调工 人社厅发20199号
- 景观设计投标书模板
- 室内消火栓使用培训课件
- 2015-2023年注册会计师考试《会计》真题合集(含答案及解析)共10套
- 幼儿园卫生保健新生家长会课件
- 我国糖尿病视网膜病变临床诊疗指南2022解读
- 人民音乐出版社小学6年级音乐上册全教案
评论
0/150
提交评论