当前位置: 首页 > news >正文

泰州网站制作seo排名是什么意思

泰州网站制作,seo排名是什么意思,义乌市建设银行网站,天津做网站找哪家公司刚开始学习oracle,记录一下自己的学习笔记,如有错误,还望各位大牛多多指教。首先先上一张oracle体系结构中相对比较重要的图,如下当我们输入一条简单的命令时候,例如第一次输入update table_name t set t.a30;当我们执…

刚开始学习oracle,记录一下自己的学习笔记,如有错误,还望各位大牛多多指教。

首先先上一张oracle体系结构中相对比较重要的图,如下

iaAjEn.png

当我们输入一条简单的命令时候,例如第一次输入update table_name t set t.a=30;当我们执行这一条sql的时候,我们这一条sql现在share pool(共享池)中的Data Dictionary cache(数据字典缓冲区)中进行语义语法分析,语法解析就是分析sql语句是否有问题,语义解析就是分析是否存在语句中相对应的表以及列,分析完之后将在Library Cache(库高速缓存)产生相对应得执行计划,这一个操作记录也会缓存到Redo Log Buffer中,相对于更新的数据也会更新到Datebase Buffer Cache的脏块中,当我们点击commit的时候,将会触发LGWR,将日志缓冲区写到日志文件中,但是commit时并不会触发DBWn,不会把相对应更新的数据写到DBWn中,而这个时候数据库down了,Data Dictionary cache更新的数据也会丢失,这时候我们是通过Redo Log files通过SMON恢复Redo Log Buffer中缓存的操作记录,Date files以及Control files还原Database Buffer Cache的相关内容。下面稍微详细的介绍下后台几个进程相关的功能以及相对应的触发机制:

LGWR 日志写入进程( Log Writer)

LGWR

日志写入进程负责将重做日志缓冲区的日志条目写入磁盘上的联机重做日志文件。

当运行 DML或 DDL语句时, 服务器进程首先要将事务的变化记载到重做日志缓冲区, 然后才会写入数据高速缓冲区, 并且重做日志缓冲区的内容将会被写入联机重做日志文件, 以避免系统出现意外带来的数据损失( 如果操作系统断电, 内存中的重做日志缓冲区的内容会丢失, 而存在磁盘上的联机日志文件则不会丢失) , 这项任务由 LGWR 来完成。

重做日志缓冲区是一个循环结构, LGWR 将重做日志缓冲区中的重做记录写入联机重 做日志文件后, 相应的缓冲区内容将被清空, 保证 Oracle 有空闲的重做日志缓冲区可以写入。

在出现以下情况时 LGWR 会开始工作:

在 DWBR 进程将脏缓冲区写入数据文件之前。

//预写协议

在重做日志记录达到缓冲区的三分之一。

日志缓冲区记录的日志多于 1M。

每隔 3 秒钟。

//重做日志缓冲区是循环使用的, 要腾出足够的空间给新的记录使用

提交事务( 执行 Commit) 。

//提交事务相当于确定保存修改, 不存入日志文件就有丢失的可能

官方文档中LGWR开始工作的情况:

A user commits a transaction (see “Committing Transactions”on page 10-10).

用户提交了事务

An online redo log switch occurs.

发生联机重做日志切换

Three seconds have passed since LGWR last wrote.

自LGWR最后一次写入已经过了3秒/每隔3秒

The redo log buffer is one-third full or contains 1 MB of buffered data.

重做日志缓冲区达到1/3满或者已缓存了1MB的数据

DBWn must write modified buffers to disk.

DBWn必须将修改的缓冲区写到磁盘

Oracle 总是先记载数据变化到重做日志缓冲区, 然后才修改数据高速缓存。 与之类似, 在后台进程 DBWn将脏缓冲区写入到数据文件之前, 首先要由后台进程 LGWR 将重做日志缓冲区写入到重做日志中。 与数据高速缓存相比, 重做日志缓冲区相对要小得多, 但写入频率高的多, Oracle 必须要确保重做日志缓冲区总有足够的空间容纳新事务, 因此每隔 3秒钟或重做日志缓冲区已有三分之一填满时 LGWR 会自动工作。

另外, Oracle 采用了快速提交机制, 当执行 COMMIT操作时, 并不是将“脏缓冲区”数 据写入到数据文件中, 而是将重做日志缓冲区的内容写入到重做日志文件中, 以确保数据库完整性。 此时即使系统出现意外情况( 如掉电、 系统崩溃等) , 因为被提交事务已经记载到了存放在磁盘上的联机重做日志文件中, 将来在重新启动数据库时系统会自动进行实例恢复, 并将事务所修改数据写入到数据文件中, 从而避免了数据丢失。

DBWn数据库写入进程( Database Writer)

数据库写入进程负责将数据库高速缓冲区( 脏缓冲区) 的内容写入到数据文件。

尽管有一个数据库写进程(DBW0 ) 适用于大多数系统, 但数据库管理员可以配置额外的进程( DBW0-DBW9, 最多10 个进程) , 以提高写入性能, 通过设置初始化参数DB_WRITER_PROCESSES 来完成。 如果你的系统修改数据严重,这些额外的 DBWn进程在单处理器系统不是非常有用。

当数据库高速缓冲区的块被修改, 它被标记为脏缓冲区并添加到以 SCN( SystemChange Number, 系统更改号, 这里可以看做“时间”) 为顺序的 LRUW( LRUWriter) 列表。

同时, 这个顺序与重做日志缓冲区的顺序一致。

在出现以下情况时 DBWn进程会开始工作:

系统发出检查点指令。

//同步数据, 详见检查点进程( CKPT) 。

脏缓冲区个数达到指定阈值。

服务进程搜索一定数目的数据块后, 不能找到自由缓冲区。

数据写入计时时间到。

//客户端执行 SELECT\INSERT\UPDATE\DELETE语句时, 都需要访问数据库高速缓冲区。 如果是第一次访问, 必须要将数据由数据文件读取到数据库高速缓冲区, 所以 Oracle 必须要确保数据高速缓存总是存在足够的“自由缓冲区”以容纳新数据。 当 DBWn进程将脏缓冲区的数据块写入到数据文件后, Oracle 将把“脏缓冲区”标记为“自由缓冲区”。 因此, 为了保证有足够“自由缓冲区”来存放新的数据块, 需要 DBWn进程工作。

表空间脱机或进入只读状态。

执行删除或截断表操作。

执行 ALTER TABLESPACE … BEGIN BACKUP命令 alter systemflush buffer_cache/checkpoint

//需要同步数据, 原理同检查点。

CKPT检查点进程( Checkpoint)

CKPT检查点进程的作用是执行一个“检查点”, 同步数据库的所有数据文件、 控制文件和重做日志文件。 当执行检查点时, 系统促使 DBWn将数据缓冲区中数据的变化写入数据文件, 同时完成对数据文件和控制文件的更新, 记录下当前数据库的结构和状态。 在执行一个检查点之后, 数据库处于一个完整状态。 在数据库发生崩溃后, 可以将数据库恢复到上一个检查点。

Oracle 数据库在执行涉及数据变化的语句时, 会针对任何修改生成一个顺序递增 SCN( SystemChange Number) 值, 并且会将 SCN 值连同事务的变化一起记载到重做日志缓冲区。 在数据文件、 控制文件头部以及重做日志文件中都记载有该值。 Oracle 通过比较各种文件的 SCN 值, 确定文件是否损坏、 系统是否异常, 最终确定系统是需要进行实例恢复还是介质恢复。 在发出检查点时, 数据文件、 控制文件和重做日志的 SCN 值完全一致。

进程 CKPT在以下情况下会开始工作:

发生日志切换。

关闭实例(SHUTDOWN ABORT除外)。

手工执行检查点操作。

由初始化参数 LOG_CHECKPOINT_INTERVAL和LOG_CHECKPOINT_TIMEOUT强制发出。

SMON 系统监控进程( SystemMonitor)

SMON 系统监控进程主要作用是强制对数据库进行恢复操作。 在实例启动时, 如果上一次数据库是非正常关闭, 并且重做日志文件和控制文件的 SCN 值是不同的, Oracle 将自动在重新打开数据库之前, 通过执行重做日志文件的记录, 来同步所有数据文件、 控制文件和重做日志文件, 确保所有数据库文件的一致性, 然后才打开数据库。

如果检查点进程一例中, 第四步完成后发生系统掉电、 崩溃, 那么数据会不会丢失呢?

当然不会。 我们知道, 系统掉电, 导致内存中的数据( 数据库高速缓冲区) 的数据丢失。 那么自然上例中的第五步无法完成( 无法从数据库高速缓冲区写入数据文件) , 但是由于此时已写入联机日志文件。 因此, 此时数据将从联机日志文件中更新, 而更新的数据量是多少, 自然就是由 SCN 决定。 这一过程我们成为“实例恢复”。 该过程不需要数据库管理员手工干预, 由 SMON 进程自动完成。

该进程还负责在启动实例时清理临时段和合并区( Extent) 碎片等工作。 所以 SMON进程的工作归纳如下:

进行实例恢复

合并数据文件的自由空间

释放数据文件的临时段

PMON 进程监控进程( Process Monitor)

PMON 进程监控进程负责对失败的用户进程或服务进程进行恢复。 当用户进程连接到Oracle 服务器时, Oracle 将在服务器端分配相应的服务进程。 这时由 PMON 进程来监视用户进程的执行情况。 当由于种种原因, 用户对 Oracle 数据库的连接, 发生崩溃、 挂起或异常终止现象时, 该进程负责清除服务进程所占用的资源, 回滚没有完成的事务。

当 PMON 检测到用户进程失败时, 进行的工作归纳如下:

回滚当前用户的事务

释放当前用户加的表或行级锁

释放用户的其他资源

重新启动死掉的调度进程

假定我们在客户端运行 SQL*Plus 并通过网络访问 Oracle 服务器, 那么 Oracle 将在服务器端分配相应的服务进程。 假如用户异常终止 SQL*Plus, 或出现网络断开或客户端死机的情况, PMON 就必须检测到这种情况, 并释放掉服务进程所占用的资源。

http://www.lbrq.cn/news/2454949.html

相关文章:

  • 房地产开发公司招聘兰州网站seo优化
  • 没有外网ip怎么做网站西安网站公司推广
  • 廊坊网络推广建站市场调研报告ppt
  • 建设工程指数网站电视剧百度搜索风云榜
  • 没有网站怎么做cpa怎样注册网站
  • 福建网站建设公司湖南网站seo营销
  • 宁波工商注册咨询电话淘宝seo排名优化软件
  • github 做自己的网站nba湖人队最新消息
  • 等保二级网站建设方案竞价广告是怎么推广的
  • 做美妆批发的网站网页自助建站
  • 如企业网站模板下载合肥做网络推广的公司
  • 创意设计公司排行榜seo外链工具有用吗
  • 江西高端网站定制明星百度指数在线查询
  • app在线制作平台有哪些google seo是什么意思
  • 网站名称不能涉及seo网站推广工具
  • 购物车网站建设以图搜图
  • 做哪个网站好广州市网络seo外包
  • 大气好寓意的广告公司名字企业seo关键词优化
  • vivo手机商城免费检测网站seo
  • 多种昆明网站建设苏州企业网站关键词优化
  • 模板王网站怎么下载不了模板沈阳seo优化新势力
  • wordpress主题推荐提升网页优化排名
  • 宁波网页设计制作公司seo关键词有话要多少钱
  • 河北住房和城乡建设局网站碉堡了seo博客
  • 电商网站开发的现状湖南网站建设营销推广
  • 洛阳网红打卡地冯耀宗seo教程
  • 怎么建设淘客自己的网站_手机优化大师官网
  • 泰安房产最新出售信息seo网站自动发布外链工具
  • 网站建设网络工作室搜索引擎营销的实现方法
  • 帮人做彩票网站广州seo顾问seocnm
  • 根本是什么
  • Linux选择题
  • Linux用户
  • vue 脚手架配置代理
  • 初识java
  • ISIS高级特性LSP的分片扩展