随笔分类 - Oracle / Oracle体系结构
摘要:latch用来保护链的,同时限制了并发 硬解析(shared pool、library cache、latch) 图解: 绝大部分情况下,对于library cache来讲,它是以读的方式来持有latch; 对于硬解析来讲,还有一个shared pool,挂的是一个一个的chunk;当发生硬解析的时
阅读全文
摘要:解析 在oracle 11g里面,对于shared pool,都有哪些常见的等待事件(也就是异常的现象) 1、链的争用等待事件: library cache里面 在oracle 11g中:chain链争用,主要表现为library cache中的链的争用:library cache mutex X的
阅读全文
摘要:解析 shared pool 图解: library cache里面,暂时可以认为存储着: 1、SQL以及对应的执行计划(所占空间比较小); 2、存储过程、函数、触发器、包,它们编译后的对象(所占空间往往比较大,特别是包所占的比较大) 对于shared pool管理和研究的时候,row cache一
阅读全文
摘要:硬解析 清空shared pool: SQL> alter system flush shared_pool; System altered. 感知硬解析的存在 模拟一个硬解析,trace文件具体看递归SQL,以及需要访问的一些字典表 查询会话sid、serial#: SQL> select sid
阅读全文
摘要:解析 数据文件: 1、临时文件 2、系统文件(system file):(放着字典表,字典表里记录着数据(数据库自身的信息):数据库里有多少表,有多少列,数据库里有多少用户,用户之间的一些权限是什么,数据库有多少对象,对象的名字,还有表和索引的统计信息等等) 3、普通文件(放着一张张表) syste
阅读全文
摘要:物理读 查看IO状态(操作系统层面): [root@db11g ~]# iostat 1 100 -x Linux 2.6.32-431.el6.x86_64 (db11g) 02/06/2017 _x86_64_ (2 CPU) avg-cpu: %user %nice %system %iowa
阅读全文
摘要:物理读(physical read) 数据实际存储在磁盘上,将数据从磁盘上读取到内存里,就叫做物理读 将修改完的数据从内存写到磁盘,叫做物理写 一般我们关注的主要是物理读 IOPS(或者TPS):每秒读的次数(主要关注的) IO throughart:IO吞吐量(每秒多少M) 数据文件 数据文件分为
阅读全文
摘要:执行计划 execution plan 一个 SQL 语句select name from t where id=5;要能够执行的话,Oracle 需要解析,解析之后会生成执行计划 执行计划就是 Oracle 从 t 表里取数据的时候需要按哪个执行路径去走 第一种,全表扫描,使用 id=5 做fil
阅读全文
摘要:执行计划 一个SQL文本,经过解析,经过解析之后,oracle发现有很多种执行方案,然后oracle在这多种执行方案中,选出一种oracle认为最优的一种执行方案,来作为执行计划,然后oracle按照执行计划一步步去执行 因为oracle有多种的执行方案,但是,有的执行方案快,有的执行方案慢,有的执
阅读全文
摘要:表的访问方式 以t1表为例来看表的访问方式 首先创建了一个用户,建立了一张表t1,按照object_id列排序的: SQL> create user u1 identified by u1; -- 创建用户u1 User created. SQL> grant connect,resource,db
阅读全文
摘要:表访问方式 对于oracle数据库来说: 1、数据库里面就是一张一张的表,表里是一行行的数据 2、最核心的工作就是用户往数据库里存表 3、修改表里的数据,删除数据 4、访问表里的数据 对于oracle数据库来说,最核心的就是对表的操作(访问表) 表的两种访问方式 以select为例,看select如
阅读全文
摘要:客户端对监听的三种连接方式 1、专用服务器模式 专用服务器模式默认是启用的 专用服务器模式特点: 1、一个连接对应一个server process 好处:这个连接发送的SQL会被马上处理 坏处:即使这个连接空闲,这个server process还是存在,也需要占用资源,至少是内存资源 2、这种连接方
阅读全文
摘要:trace(跟踪)监听 有时候会出现这么一种情况:就是客户端连接不上监听,或者连接上监听以后有各种各样的故障,比如:连接慢、报错等等相关的信息,所以有时候需要对监听起一个trace(跟踪),看一下客户端对数据库监听的连接的一个情况 如果客户端连接监听连不上的一个排错过程 1、确认数据库是否启动 [o
阅读全文
摘要:监听的配置文件 2、tnsnames.ora文件 tnsnames.ora文件:客户端的 配置tnsnames.ora监听文件 1、使用netca命令 指定图像映射机器 [oracle@db11g admin]$ export DISPLAY=192.168.56.1:0.0 netca命令 [or
阅读全文
摘要:启动远程图形界面登录的工具 [root@db11g ~]# vncserver 监听 监听的启动 [oracle@db11g ~]$ lsnrctl start 判断监听是否启动 [oracle@db11g ~]$ netstat -tulnp | grep 1521 (Not all proces
阅读全文
摘要:oracle包含 1、软件 2、数据库 3、实例 4、监听(listener) 监听的特点 可以独立启动,就是说,数据库没有启动,监听可以启动;数据库启动,监听也可以不启动;数据库启动,监听也启动 监听和数据库是独立分开的 数据库的整个网络结构 图解: 1、数据库有数据库的名字:dbname;实例有
阅读全文
摘要:内存结构 1、shared pool 缓存着sql、sql执行计划 查询shared pool大小: select * from v$sga_dynamic_components; 2、buffer cache 缓存着数据文件里面的block 查看buffer cache里面的buffer: sel
阅读全文
摘要:进程结构 server process服务器进程 前台进程(foreground process):server process(服务器进程) 用户连接到数据库实例以后,暂时可以认为是:对每一个用户连接,oracle实例会启动一个进程,专门对这个连接会启动一个进程,这个进程它属于server pro
阅读全文
摘要:oracle数据库实例(instance) 数据库打开以后,会生成一个内存结构和一堆进程 内存和进程:就是oracle的实例instance oracle数据库实例结构: 用户是通过连接实例来访问数据库的 shared pool占整个内存的20% buffer cache占整个内存的80% redo
阅读全文
摘要:基本概念 一、数据库启动、监听启动、判断数据库是否可以连接的过程、感知实例的存在 虚拟机ip地址:192.168.56.12 这里需要修改一个地方:就是把本地主机Host-Only的ip地址修改为:192.168.56.1或者2,只要不和虚拟机的ip地址一样就行 虚拟机用户名和密码:root : r
阅读全文