Inventory Oracle安装工具OUI用来管理Oracle安装目录的
 
Oracle的参数文件,启动后按照下面的顺序读取参数文件,如果读取失败,启动数据库 失败:
1  $ORACLE_HOME/dbs/SPFILE.ORA
2  $ORACLE_HOME/dbs/spfile.ora
3  $ORACLE_HOME/dbs/init.ora
 
数据库的nomount阶段
1 读取参数文件
2 分配共享内存
3 启动进程
 
Mount阶段
1 读取控制文件
2 进行校验
 
oracle的控制文件包括:
1 数据库的物理结构
2 数据文件
3 REDO LOG
 
在线日志文件:解决了数据库实例突然宕机或服务器宕机的系统恢复问题
 

后台进程:

1 DBWR 数据库写入操作
2 LGWR 日志写入程序
3 CKPT 检查点
4 SMON 系统监控
5 PMON 进程监控
6 ARCH 归档
7 RECO 恢复
8 LCKn 封锁
9 Dnnn 调度进程
10 Snnn 服务器
 

DB Cache

1 DB Cache 是以bock为单位组织的缓冲区,不同大小的BLOCK对应不同的缓冲区参数
2 DB Cache的命中率越高,访问性能就越好
3 Cache中的数据块通过散列算法实现
4 每个链上的buffers数量,最佳的情况是每个链上只有一个buffer
5 DBWR进程控制脏数据写入
6 在DB Cache,同一个数据块中可能存在多个版本的数据
7 大表的扫描,热块冲突都可能导致闩锁的争用
 
引入tch计数器,避免LRU链上频繁移动
 
LRU链上搜索达到最大深、LRU-W上没有足够的clean buffers都会触发标记位,使得DBWR进程讲脏数据写入磁盘
 
几个重要的数据链:
1 LRU list普通的LRU链
2 LRU-AUX list 被确认的clean的链,包括DBWR已经写回文件的 数据块和干净快
3 LRU-XO list 重用对象链
4 LRU-XR list CKPT搜索这些BUFFER,将脏数据写入该链,再由DBWR写入磁盘
 
闩锁争用:
1 热块冲突
2 数据库在某个时间段出现大量的数据块扫描、热链
 
使用keep pool存放大表,可以降低物理读,改善cache命中率
 
使用owi观点和时间模型分析,帮助分析数据库性能
 
DB cache命中率低,意味着更多的物理IO、更多的闩锁使用、较低的效率。RAC中,更多的实例间通信消息
 
DB cache调优,注意 free buffere waits \ writes complete waits两个性能指标
 

SGA包括:

1 数据结构部分 fixed size 
2 数据块缓冲区 database buffers
3 redo log缓冲区 redo buffers
4 共享池 variable size
 
永久使用的共享内存:进程信息数据、会话信息数据、特殊用途的内存段
 
随着共享池碎片化加剧:产生ORA-4031错误
1 加大初始的分配值
2 每次扩展一个组
 
共享池内部结构:
1 PERMANENT
2 FREEABLE
3 RECERATEABLE
4 FREEABLE WITH MARK
 
通过内部视图 X$KSMSP监控共享池碎片的情况
 
较大的共享池会带来一定的系统开销
共享池闩锁竞争也会增加
定期刷新共享池会有助于保持共享池性能的稳定
 
共享池相关闩锁的平均等待时间、超时的次数---判断共享池碎片化程度
 
游标:一个父游标,多个子游标
 
用户的不同,通过一个SQL得到的结果就不同,因此不能共享;执行计划不同,也不可以共享
 
硬解析:执行SQL时,SQL已经不再共享池中,会产生硬解析。首先分配共享池空间,创建父游标,创建子游标
软软解析:父游标存在,子游标也存在
软解析:父游标存在,子游标不可共享
 
游标共享技术ACS
 
游标不会马上关闭,会先放在游标缓存中,等待回话完成后,在关闭
 
OPEN_CURSORS会话打开的游标数量
SESSION_CACHED_CURSORS回话缓冲,主要功能:将会话中的常用的SQL放入UGA中的会话缓冲区中,以便下次调用
 
CURSOR_SPACE_FOR_TIME 当父游标被打开的时候,所有子游标及其相关联的对象全部被锁住,从而确保游标相关的信息都是一致的

【面试虐菜】—— Oracle知识整理《DBA的思想天空》的更多相关文章

  1. 【面试虐菜】—— Oracle知识整理《收获,不止Oracle》

    普通堆表不足之处:     表更新有日志开销     表删除有瑕疵     表记录太大检索较慢     索引回表读开销很大     有序插入难有序读出   DELETE产生的undo最多,redo也最 ...

  2. 【面试虐菜】—— Apache知识整理

    Apache性能调优1 Apache 部分:1. 移除不用的模块.2. 使用 mod_disk_cache NOT mod_mem_cache .3. 扁平架构配置mod_disk_cache.4.  ...

  3. 【面试虐菜】—— MongoDB知识整理

    为什么我们要使用MongoDB? 特点: 高性能.易部署.易使用,存储数据非常方便.主要功能特性有: 面向集合存储,易存储对象类型的数据. 模式自由. 支持动态查询. 支持完全索引,包含内部对象. 支 ...

  4. 【面试虐菜】—— Oracle中CHAR、VARCHAR的区别

    1.CHAR. CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不足的自动用空格填充,所以在读取 ...

  5. Oracle知识整理

    1.自带三种登录方式: Scott/tiger   sys/manager   system/manager 2.基本的操作 1)  建数据库 create tablespace 表空间的名称 dat ...

  6. 【面试虐菜】—— Jboss调优

    吐血整理了以前Jboss以及JVM在生产环境下的调优参数,各种不同的案例,都是来自网友杜撰.整合后,希望对广大使用jboss作为生产应用服务器的朋友有所帮助. JBOSS参数调优 配置deploy/j ...

  7. 【面试虐菜】—— LVS负载均衡

    Load Balancer(负载均衡器): Load Balancer是整个集群系统的前端,负责把客户请求转发到Real Server上.Load Balancer通过Ldirectord监测各Rea ...

  8. 【面试虐菜】—— JAVA面试题(3)

    1 throws与throw的区别 解析:throws和throw是异常处理时两个常见的关键字,初级程序员常常容易正确理解throw和throws的作用和区别,说明已经能比较深入理解异常处理.Thro ...

  9. 【面试虐菜】—— JAVA面试题(1)

    今天参加笔试,里面有设计模式,和一些基础题! 印象最深的是:什么不是Object的函数,我蒙的finalize,哎,无知! 还问了,接口与抽象类的不同,还有多线程的实现方式!下面基本都有. 另外还问了 ...

随机推荐

  1. PHP漏洞全解(八)-HTTP响应拆分

    本文主要介绍针对PHP网站HTTP响应拆分,站在攻击者的角度,为你演示HTTP响应拆分. HTTP请求的格式 1)请求信息:例如“Get /index.php HTTP/1.1”,请求index.ph ...

  2. PHP mysql_real_escape_string() 函数

    定义和用法 mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符. 下列字符受影响: \x00 \n \r \ ' " \x1a 如果成功, ...

  3. Ubuntu14.04强化之conky——Harmattan主题

    一共有17个主题,四种模式,两种天气模式,支持摄氏度和华氏度. This conky comes with 17 themes: Cards Elementary Elune Flatts Metro ...

  4. IDEA如何打包可运行jar的一个问题。

    转自http://bglmmz.iteye.com/blog/2058785 背景: 有时候,我们会用IDEA来开发一些小工具,需要打成可运行的JAR包:或者某些项目不是WEB应用,纯粹是后台应用,发 ...

  5. FFT初步学习小结

    FFT其实没什么需要特别了解的,了解下原理,(特别推荐算法导论上面的讲解),模板理解就行了.重在运用吧. 处理过程中要特别注意精度. 先上个练习的地址吧: http://vjudge.net/vjud ...

  6. MySQL 性能调优的10个方法

    Mysql的优化方面,一般我们很少去考虑它,即使想到优化一般也更多是程序级别的,比如不要写过于消耗资源的SQL语句,但是除此以外,在整个系统上其实仍然有很多可以优化的地方. 1. 选择合适的存储引擎: ...

  7. Android 图片从网页中获取并动态加载到listview中

    实现功能: 效果图: 代码:这里

  8. VC C运行时库(CRTL)的几个版本及选用

    分类: Windows 2008-12-23 10:01 987人阅读 评论(0) 收藏 举报ciostreammfclibrary多线程import最近做项目碰到了一个关于在动态库中使用MFC以及在 ...

  9. MFC窗口重绘

    Invalidate()与 UpdateAllViews()有什么分别 Invalidate()是让程序重画窗口. UpdateAllViews()是在DOC/VIEW结构中, 当一个视图的数据改变后 ...

  10. cmd for 用法

    1:for命令及变量 基本格式: FOR /参数 %variable IN (set) DO command [command_parameters] %variable:指定一个单一字母可替换的参数 ...