Oracle基础核心知识

本文介绍了Oracle数据库的基础知识,包括角色定位、数据库体系结构、SQL基础、实例组件和后台进程的工作原理。深入探讨了DBWR、LGWR、CKPT等关键进程在数据写入、日志记录和提交过程中的作用,以及回滚和一致读的实现。还分享了实际操作中的经验,如参数设置、内存管理与数据库启停流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

角色定位

给自己定位,合理地在自己的岗位上分配时间与精力

攻取知识途径

  • 官方文档, CONCEPT需要反复阅读
  • 导师培训
  • 相关书籍
  • 搜索总结

数据库和Excel的本质区别是,数据库具有事务的概念。

数据库应该根据人群的不同可分为:数据库开发、数据库管理
数据库优化、数据库设计。

  • 开发:数据库增删改查;pl/sql实现各种逻辑
  • 管理:完成数据库安装、部署、参数调试、备份和恢复、数据迁移等相关工作

Oracle 体系结构图

  1. Oracle由实例instance和数据库Dababase组成
  2. 实例由一个开辟的内存区域SGA加一系后台进行组成,其中SGA最主要是被划分为共享池 (Share pool)、 数据缓冲区(db cache)和日志缓冲区(log buffer)三类。后台进程包括PMON、SMON、LCKn、CKPT、DBWR、LGWR、ARCH等系列进程。
  3. 数据库是由数据文件、参数文件、日志文件、控制文件、归档日志等系列文件组成,归档日志可能会被转移到新的存储介质中,用于备份恢复。
  4. PGA(Program Global Area)区,这是一块开辟出来的内存区,和SGA最本质的区别在于,PGA是私有内存,不是共享内存。用户对数据库发起的无论是查询天鸿宝业是更新的任何操作,都是在PGA预处理,然后接下来才进入实例区域,由SGA和系列后台进行共同完成用户发起的请求。

PGA主要有三个作用

  1. 保存用户的连接信息,如会话属性、绑定变量等
  2. 保存用户权限等重要信息,当用户进程和数据库建立会话时,系统会将这个用户的相关权限查询出来,然后保存在这个会话区内
  3. 当发起指令需要排序时,如果内存中放得下排序的尺寸,就是在内存PGA区内完成,如果放不下,超出的部分就是在临时表空间中完成排序,也就是磁盘中完成排序。
  • 用户请求发起经历的顺序一般如下:1区–>2区–>3区;或者1区–>2区。

递归调用、逻辑读、物理读

基础SQL解释

select object_name from t where object_id = 29;

      当用户发出一条SQL指令后,SQL先从1区先做准备工作。该区域是仅供当前发起用户使用的私有空间。这里的连接主要是用户连接信息的保存和权限的存储,只有SESSION不断开连接,下次系统就不用再去硬盘中读取数据,而直接从PGA中获取。

      该SQL还会立即匹配成一条唯一的HASH值,接下来SQL指令进入2区进行处理,首先会访问SGA区的共享池,该SQL会通过HASH值查找是否有相同的HASH值,如果没有,首先查询自己的语法是否正确(比如from是否写成form),语义是否正确(比如id字段根本就不存在)、是否有权限,这些都没有问题情况下,唯一的HASH值就被存储下来。

接下来开始解析,解析什么呢?

  • select object_name from t where object_id = 29;这个语句, object_id列有索引的情况下,是索引读效率更高,还是全表扫描效率更高。Oralce的处理依据是,把两种方式都估算一遍,看哪个COST更低,就用哪种。

      接下来这个索引读的计划就立即被存储,并且和之前的唯一HASH值对应在一起。接下来就去数据缓冲区去查询数据,如果没有

学好Oracle的六条总结 1、如果有一定的数据库基础,知道SQL是怎么回事,即使写不出来简单的SQL, 但可以看懂它们,你就可以跳到2。否则请先学习一下数据库基础SQL语言, 不需要很深,更不需要去记忆那些复杂的SQL命令,这些可以留在以后边应用 边学习、记忆。2 、要想学好ORACLE,首先要学习ORACLE的体系结构,现在你不需要深入 理解它们,但要分清几个关键的概念: instance (实例)、数据文件、日志文件、参数文件、数据文件与表空间的关系 3、2是有关ORACLE的一些基本概念,下面要学习的是一些简单的的实际操作 ,就是如何去管理ORACLE数据库,当然不是管理全部的ORACLE。在此过程 中你将对SQLORACLE体系结构有个更深入的了解。 4、到了这一步你基本上算是初步掌握了ORACLE,下面将要根据你的方向来具 体学习其它的ORACLE知识了。如果你是开发人员,则需要更多地去学习 PL/SQL以及DEVELOPER,而这将是一门新的课程。如果你是一名DBA, 请继续。 5、可以根据自己的实际情况,进行有选择的学习,也就是说下面的内 没有特别顺序要求。可以选择深入学习ORACLE的管理、备份与恢复、性能 调整、网络等。当然在学习这些知识的过程中,如果有实际的工作更好,这样 可以在实际中成长,学会TROUBLE SHOOTING 目录 1.1 数据库基本知识 1.2 关系数据库 1.3 数据库设计基础 1.4 SQL基本命令 1.5 Oracle简介 1.6 启动和关闭Oracle 1.7 Oracle 命令复习
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值