




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录第一部分: oracle体系架构. 4第一章:实例与数据库. 41、oracle 网络架构及应用环境. 42、oracle 体系结构. 43、 sga. 54 oracle的进程: 95 pga. 126、用户与oracle服务器的连接方式. 12第二章:实例管理及数据库的启动/关闭. 142.1 实例和参数文件. 142.2 数据库启动与关闭:. 162.3 告警日志:alert_sid.log. 182.4 口令文件. 192.5 添加scott 案例. 21第三章:控制文件. 223.1 控制文件的功能和特点:. 223.2 控制文件的内容. 223.3 控制文件多元化. 243.4
2、 控制文件的重建与备份. 243.5 控制文件手工恢复. 25第四章: redo 日志. 264.1 redo (重做) log 的功能:数据recovery. 274.2 redo log 特征:. 274.3 redo 日志组. 274.4 如何添加日志组. 274.5 如何添加日志组的成员. 294.6 如何查看日志信息. 304.7 redo 日志成员重命名或迁移. 31第五章: 归档日志 archivelog. 405.1 归档和非归档的区别. 405.2 查看归档模式:. 415.3 设置归档模式. 415.4、归档日志的路径及命名方法. 415.5 在liunx下查看归档进程.
3、435.6 日志归档:. 44第六章 日志挖掘 log miner. 456.1 log miner的作用:. 456.2 有两种日志挖掘方法 针对dml和ddl,整理如下 :. 45第七章: 管理undo. 497.1 undo作用. 497.2 undo 的管理模式:. 497.3 undo 表空间管理. 497.4 查看当前正在使用的undo tablespace. 507.5 切换undo. 517.6 删除undo tablespace. 527.7 undo block的4种状态. 527.8 关于undo_retention 参数. 537.9 undo 信息的查询. 547.1
4、0 system表空间的undo. 557.11 测试:模拟数据库open下的undo损坏和修复。. 55第八章 检查点(checkpoint) 598.1 什么是checkpoint. 598.2 checkpoint主要2个作用:. 608.3 checkpoint分类. 608.4 设置合理的mttr参数. 638.5 局部检查点的触发条件:. 64第九章 实例恢复机制. 64第二部分 oracle的存储架构. 65第十章 数据字典. 6510.1 数据字典. 6510.2 动态性能表(v$). 66第十一章: oracle的存储架构. 6711.1 tablespace(表空间)特点.
5、 6711.2 segment(段). 7311.3 extent(区). 7511.4 block(数据块). 7911.5 临时表空间. 8411.6 如何调整表空间的尺寸(表空间的大小等同它下的数据文件大小之和). 8811.7 oracle的resumable功能. 90第十二章: oracle中表的几种类型. 9012.1 分区表及其种类(10g) 9012.2 索引组织表. 9512.3 簇表(cluster table):. 9612.4 临时表:. 9712.5 只读表 (11g新特性). 97第十三章: 数据库审计audit. 9813.4 审计的对象:. 9913.5 举例
6、:. 99第十四章: 数据装载 sql loader. 101第十五章: oracle 网络. 10515.1 oracle net 基本要素:. 10515.2 客户端链接:. 10615.3 lisenter 注册:. 106第三部分: 管理oracle数据库. 111第十六章:oracle asm 管理(ppt-ii:602-636) 11116.1 什么是asm. 11116.2 系统级的磁盘管理. 11116.3 asm和lsm的比较. 11116.4 asm体系结构. 11216.5 在linux上创建asm实例的范例. 114第十七章:逻辑备份与恢复. 12417.1 传统的导入
7、导出exp/imp:. 125第十八章 物化视图. 133第一部分: oracle体系架构第一章:实例与数据库 1、oracle 网络架构及应用环境看ppt,oracle结构的基本单元、术语2、oracle 体系结构 1)oracle server :database + instance 2)database:data file 、control file 、 redolog file 3)instance: an instance access a database /一个实例访问一个数据库 4)oracle memory: sga + pga 5)instance : sga + bac
8、kgroud process /sga+后台进程 6)sga组成:sga 在一个instance只有一个sga,sga为所有session共享,随着instance启动而分配,instance down ,sga被释放。 /system groble areas3、 sga3.1 sga的6个组件:1) shared pool共享池是对sql、pl/sql程序进行语法分析、编译、执行的内存区域。共享池由库缓存(library cache),和数据字典缓存(data dictionary cache)组成。共享池的大小直接影响数据库的性能。关于shared pool中的几个重要概念library
9、 cache: sql和plsql的解析场所,存放着所有编译过的sql语句代码,以备所有用户共享。sql语句解析过程:硬解析:1)分析:包括sql语句的语法和语义检验,并检查所执行活动的对象权限。2)优化:oracle优化程序在评估了几种备选方案后,得出如何以最低成本(cost )处理相应语句的最终方案。软解析:3)执行:oracle执行这个执行计划。(这个成本最低的执行计划也包括访问路径,也存在库缓存中)4)取数据:只用于select语句,这个步骤在非查询语句中不需要。data dictionary cache: 存放重要的数据字典信息,以备数据库使用2) database buffer c
10、ache用于存储从磁盘数据文件中读入的数据,所有用户共享。服务器进程(server process)将读入的数据保存在数据缓冲区中,当后续的请求需要这些数据时可以在内存中找到,则不需要再从磁盘读取。数据缓冲区中被修改的数据块(脏块)由后台进程dbwr将其写入磁盘。数据缓冲区的大小对数据库的读取速度有直接的影响。考点:服务器进程对数据文件执行读操作,而dbwn负责对数据文件执行写操作。db buffer中的几个cache参数: db_cache_size /指定标准块大小内存空间,比如标准块是8k,lru 默认数据块放到default cache db_nk_cache_size /指定非标准块
11、大小内存空间,比如2k、4k、16k、32k。 db_keep_cache_size /keep 存放经常访问的小表或索引等 db_recycle_cache_size /与keep相反,存放偶尔做全表扫描的大表的数据注意:2.1)keep cache和recycle cache是可选的。全部buffer cache的大小就是以上参数的总合。即没有分配到keep cache和recycle cache的任何数据库对象都将分配给default cache。说的更清楚些就是default, keep, recycle 相互独立,对于某一个对象(表)来说,它只能属于它们之中的一种。sql alter
12、 table scott.emp1 storage(buffer_pool keep);sql select segment_name,buffer_pool from dba_segments where segment_name=emp1;segment_name buffer_- -emp1 keep2.2)default_cache_szie和标准块default block是配套的,如果default block是8k, db_cache_size这个参数将代替db_8k_cache_size。如果要建立非标准块的表空间,先前要设定db buffer中的与之对应的nk_cache_s
13、ize。09:50:46 sql alter system set db_16k_cache_size=8m; /改参数,先把db buffer里的16k cache建上。09:50:49 sql create tablespace tbs_16k datafile /u01/oradata/timran11g/tbs16k01.dbf size 10m blocksize 16k;09:51:29 sql select tablespace_name,block_size from dba_tablespaces;tablespace_name block_size- -system 819
14、2undotbs1 8192sysaux 8192temp 8192users 8192example 8192tbs_16k 163842.3)查看buffer cache命中率:18:28:20 sqlselect (1-(sum(decode(name, physical reads,value,0)/(sum(decode(name, db block gets,value,0)+sum(decode(name,consistent gets,value,0) * 100 hit ratio from v$sysstat;hit ratio-97.68119233)redo log b
15、uffer日志条目(redo entries )记录了数据库的所有修改信息(包括dml和ddl),用于数据库恢复,日志条目首先产生于日志缓冲区。日志缓冲区较小,它是以字节为单位的,它极其重要。18:29:04 sql show parameter log_buffername type value- - -log_buffer integer 7057408*考点:日志缓冲区的大小是不变的,启动时就是固定值,只能手动设置,不能由sga自动管理!如果想让它是一个最小值,这样可以做:18:30:24 sql alter system set log_buffer =1 scope=spfile;
16、/修改动态参数文件,下次启动有效。18:31:20 sql startup force18:31:35 sql show parameter log_buffer;name type value- - -log_buffer integer 2927616 /这就是最小值了4) large pool(可选)为了进行大的后台进程操作而分配的内存空间,与shared pool管理不同,主要用于并行查询,rman备份恢复、以及共享连接方式等。5) java pool(可选)为了java虚拟机及应用而分配的内存空间,包含大量java代码。6) stream pool(可选)为了stream应用而分配的
17、内存空间。stream技术是为了在不同数据库之间共享数据,因此,它只对使用了stream数据库特性的系统是重要的。3.2 sga的自动管理从oracle10g有了sga自动管理,有关的pool可以动态自动调整a)sga_max_size:sga最大物理空间b)sga_target: sga实际可达最大空间,sga_target0时就使能了sga的自动管理。c)granules(颗粒):组成oracle内存的最小单位 sga_max_size 1g ,16m20:12:30 sql select name ,bytes/1024/1024 size(m) from v$sgainfo; /在or
18、acle里查看sga分配情况name size(m)- -fixed sga size 1.2401123redo buffers 1.84765625buffer cache size 56shared pool size 152large pool size 4java pool size 12streams pool size 4shared io pool size 0granule size 4maximum sga size 403.089844startup overhead in shared pool 40free sga memory available 1724 orac
19、le的进程:三种process: 1)user process、 2)server process 、3)background processuser process:属于客户端的process,一般分为三种形式,1)sql*plus, 2)应用程序,3)web方式(oem)客户端请求,sqlplus是客户端命令,oracle不容许user process直接访问oracle server。*考点:由user process造成的会话终止,系统将自动回滚这个会话上的处于活动状态的事务。如果windows作为客户端:可以通过查看任务管理器看到sqlplus用户进程:c:documents and
20、 settingstimransqlplus sys/systemtimran11g as sysdbalinux作为客户端时可以使用ps看到sqlplus关键字:oracletimran $ ps -ef |grep sqlplusoracle 2353 2325 0 17:02 pts/0 00:00:00 rlwrap sqlplus / as sysdbaoracle 2354 2353 0 17:03 pts/1 00:00:00 sqlplus as sysdbaoracle 2603 2445 0 17:25 pts/2 00:00:00 grep sqlplusserver p
21、rocess:这是服务器端的进程,user process不能直接访问oracle,必须通过相应的server process访问实例,进而访问数据库。oracletimran $ ps -ef |grep localoracle 2399 2354 1 17:03 ? 00:00:04 oracletimran11g (description=(local=yes)(address=(protocol=beq)oracle 2503 1 0 17:05 ? 00:00:00 oracletimran11g (local=no)oracle 2512 2445 0 17:07 pts/2 00
22、:00:00 grep localoracletimran $/注意:在linux下看到的server process, (local=yes)是本地连接,(local=no)是远程连接。backgroud process :非常重要!有许多后台进程,先掌握六个。查看方法 ps 、vprocess、vbgprocess-查看后台进程oracletimran $ ps -ef |grep ora_oracle 2617 1 0 01:26 ? 00:00:00 ora_pmon_timranoracle 2619 1 0 01:26 ? 00:00:00 ora_psp0_timranoracl
23、e 2621 1 0 01:26 ? 00:00:00 ora_mman_timranoracle 2623 1 0 01:26 ? 00:00:00 ora_dbw0_timranoracle 2625 1 0 01:26 ? 00:00:00 ora_lgwr_timranoracle 2627 1 0 01:26 ? 00:00:00 ora_ckpt_timranoracle 2629 1 0 01:26 ? 00:00:00 ora_smon_timranoracle 2631 1 0 01:26 ? 00:00:00 ora_reco_timranoracle 2633 1 0 0
24、1:26 ? 00:00:00 ora_cjq0_timranoracle 2635 1 0 01:26 ? 00:00:01 ora_mmon_timranoracle 2637 1 0 01:26 ? 00:00:00 ora_mmnl_timranoracle 2639 1 0 01:26 ? 00:00:00 ora_d000_timranoracle 2641 1 0 01:26 ? 00:00:00 ora_s000_timranoracle 2645 1 0 01:26 ? 00:00:00 ora_p000_timranoracle 2647 1 0 01:26 ? 00:00
25、:00 ora_p001_timranoracle 2649 1 0 01:26 ? 00:00:01 ora_arc0_timranoracle 2651 1 0 01:26 ? 00:00:00 ora_arc1_timranoracle 2653 1 0 01:26 ? 00:00:00 ora_arc2_timranoracle 2655 1 0 01:26 ? 00:00:00 ora_qmnc_timranoracle 2661 1 0 01:26 ? 00:00:00 ora_q000_timranoracle 2663 1 0 01:26 ? 00:00:00 ora_q001
26、_timranoracle 2676 1 0 01:29 ? 00:00:00 ora_j000_timranoracle 2678 2486 0 01:29 pts/2 00:00:00 grep ora_六个后台进程(background process)smon:系统监控进程 在实例崩溃之后,oracle会自动恢复实例。另一个作用是整理数据文件的自由空间,将相邻区域结合起来。释放不再使用的临时段。pmon:进程监控进程 process monitor(监控session)清理出现故障的进程。 释放所有当前挂起的锁定。释放故障进程使用的资源。dbwr: 数据写入进程 1、将修改后的缓冲区(
27、脏buffer)数据写入数据文件中。写脏块。 2、释放data buffer空间。 注意:以下几种情况发生时 dbwr都会写 1)ckpt发生,2)脏块太多时,3)db_buffer自由空间不够时,4)延迟发生,5)表空间redo only/offline/backup等考点:commit时dbwn有何举动?答案是:它什么也不做!lgwr:写日志条目,从redo log buffer到redo logfile (必须在dbwr写脏块之前写入日志) 负责将日志缓冲区中的日志条目写入日志文件。 系统有多个日志文件,该进程以循环的方式将数据写入文件。 注意:以下5个状况发生时, lgwr都会写 1)
28、commit, 2)三分之一满,3)1m满,4)3秒, 5)先于dbwr写而写(先记后写,即dbwn正好要执行写入前)ckpt:生成检查点, 通知或督促dbwr写脏块 完全检查点:保证数据一致性。增量检查点:不断更新控制文件中的检查点位置,当发生实例崩溃时,可以尽量缩短实例恢复的时间,。arcn:归档模式下,发生日志切换时,把当前日志组中的内容写入归档日志,作为备份历史日志。考点:lgwr负责对联机日志文件写操作,arcn负责读取联机日志文件。其他进程与日志文件不接触。11g里又强调了其他几个后台进程,它们都和数据库性能有关,有关内容将在053课程介绍:mmon: oracle自我监视和自我调
29、整的支持进程(与awr有关)mmnl:mmon的辅助进程(与ash有关)mman:内存自动管理,10g时推出,11g得到加强,在11g里这个进程负责oracle内存结构(sga+pga)的自动调整。cjqn: 与job队列有关5 pga属于oracle内存结构,存放用户游标、变量、控制、数据排序、存放hash值。与sga不同,pga是独立的,非共享从oracle9i开始有了pga 的自动管理: workarea_size_policy =auto ; pga_aggregate_target 0由于是pga的自动管理 hash_area_size,sort_area_size 这两个参数现在已
30、经不用了。6、用户与oracle服务器的连接方式6.1 专用连接模式(dedicated server process):对于客户端的每个user process,服务器端都会出现一个server process,会话与专用服务器之间存在一对一的映射。对专用连接来说,用户在客户端启动了一个应用程序,例如sql*plus,就是在客户端启动一个用户进程;与oracle服务器端连接成功后,会在服务器端生成一个服务器进程,该服务器进程作为用户进程的代理进程,代替客户端执行各种命令并把结果返回给客户端。用户进程一旦中止,与之对应的服务器进程立刻中止。专用连接的pga的管理方式是私有的。现在,大多情况下,
31、oracle缺省采用专用连接模式。6.2 共享连接模式(shared server process):多个user process共享一个server process。它通过调度进程(dispatcher)与共享服务器连接,共享服务器实际上就是一种连接池机制(connectionpooling),连接池可以重用已有的超时连接,服务于其它活动会话。但容易产生锁等待。此种连接方式现在已经很少见了,但是在ocp11g考试中有几个考点与其有关: 用户进程1 用户进程2 用户进程3 . |-| . | . . | . | . . 调度进程1. 调度进程2 . | | . . |- -| . . | |
32、. . | | . 调度响应队列1 | | 调度响应队列2 . 公共请求队列 . . | . . | . . 服务器进程 . . | . .|.*考点:1)所有调度进程共享一个公共的输入队列,但是每个调度进程都有与自己响应的队列。2)在共享服务器中会话是在sga中的(uga)存储信息,而不像专用连接那样在pga中存储信息,这时的pga的存储结构为堆栈空间。6.3 驻留连接池模式(database resident connection pooling,简称drcp):适用于必须维持数据库的永久连接。结合了专用服务器模式和共享服务器模式的特点,它提供了服务器连接池,但是放入连接池的是专用服务器。
33、它使用连接代理(而不是专用服务器)连接客户机到数据库,优点是可以用很少的内存处理大量并发连接(11g新特性,特别针对apache的php应用环境)。第二章:实例管理及数据库的启动/关闭2.1 实例和参数文件 1、instance 功能:用于管理和访问database。 2、init parameter files :管理实例相关启动参数 。位置:$oracle_home/dbs 3、pfile :静态参数文件。1)文本文件,可以通过编辑器进行修改参数。 2)修改参数必须关闭实例,下次重启实例才生效。命名方式:init+sid.ora 4、spfile :动态参数文件。 1)二进制文件,不可以通
34、过编辑器修改。 2)linux 下strings可以查看命名方式: spfile+sid.ora修改动态参数文件方式:alter system set 参数=值 默认是第三种alter session set 参数=值第一种scope=memory 参数修改立刻生效,但不修改spfile文件。第二种scope=spfile 修改了spfile文件,重启后生效。第三种scope=both 前两种都要满足。如果不写scope,即缺省,那就是第三种。*考点:如果不将scope=spfile,将无法更改静态参数。通过查看v$parameter ,可以确定那些参数可以在memory修改,制定scope1
35、0:38:35 sql desc v$parameter;name null? type- - -num numbername varchar2(80)type numbervalue varchar2(512)display_value varchar2(512)isdefault varchar2(9)isses_modifiable varchar2(5)issys_modifiable varchar2(9)isinstance_modifiable varchar2(5)ismodified varchar2(10)isadjusted varchar2(5)isdeprecated
36、 varchar2(5)description varchar2(255)update_comment varchar2(255)hash number其中:issys_modifiable参数:对应alter system 命令,即系统级修改10:38:35 sql select distinct issys_modifiable from v$parameter;issys_modifiable-immediate /对应scope=memoryfalse /只能scope=spfile,即修改spfile文件,下次启动才生效。deferred /其他session有效isses_modi
37、fiable参数:对应alter session命令,即session级修改10:38:35 sql select distinct isses_modifiable from v$parameter;isses_modifiable-true /表示可以修改false /表示不能修改10:38:35 select isses_modifiable,issys_modifiable from v$parameter where lower(name)=log_buffer;isses_modifiable issys_modifiable- -false false这个结果表示 log_buf
38、fer参数在session方式不能改,在system方式memory不能改,both当然也不行,只能是spfile下次有效。 5、startup时读取参数文件,找到$oracle_home/dvs目录,顺序是优先spfile启动,没有spfile 才从pfile启动。pfile和spfile可以相互生成:sqlcreate pfile from spfilesqlcreate spfile from pfile(使用spfile启动后不能在线生成spfile,ora-32002: 无法创建已由实例使用的 spfile)*考点:如果使用pfile启动,设置scope=spfile将失败!可以通过
39、当前内存参数生成pfile和spfile(11g新特性):sqlcreate pfile from memory;sqlcreate spfile from memory;有了spfile,pfile一般留做备用,特殊情况也可以使用pfile启动,命令如下:10:38:35 sql startup pfile=$oracle_home/dbs/inittimran.ora10:38:35 sql show parameter spfilename type value- - -spfile string /u01/app/oracle/product/10.2.0 /db_1/dbs/spfileprod.ora/如果value有值,说明数据库启动时读的是spfile2.2 数据库启动与关闭:2.2.1启动分为三个阶段1)nomount阶段:读取init parameter10:38:35 sql select status from v$instance; (这条命令很实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字化教育的商业前景与市场机遇分析
- 教育政策东西方理念的碰撞与融合
- 基于人工智能的教育机器人商业价值探索
- 抖音商户直播分享按钮优化制度
- 江西省广丰县联考2024年化学九年级第一学期期末统考模拟试题含解析
- 贵州省仁怀市2024年化学九年级第一学期期末学业质量监测模拟试题含解析
- 苏州卫生职业技术学院《地理专业英语》2023-2024学年第一学期期末试卷
- 2024年湖北省武汉武昌区四校联考化学九年级第一学期期末达标测试试题含解析
- 2025届潮安龙湖中学九上化学期末达标检测试题含解析
- 公共图书馆服务提升实施方案评估报告-2025年图书馆服务创新案例分析
- 校园清廉建设活动方案
- 检查检验结果互认工作管理制度
- 光伏电站安全生产管理制度汇编
- 农村小学生科技活动方案
- 2025年健身与体育专业知识与实务考试试题及答案
- 精神科护理进修总结
- 3.6.3关门车课件讲解
- 抑郁病诊断证明书
- 维克多高中英语3500词汇
- HY∕T 081-2005 红树林生态监测技术规程
- 第9分册并联电容器组运维细则(国网上海)
评论
0/150
提交评论