《Oracle Databse 11g初学者指南》笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/A36567/article/details/80273237

第1章 数据库基础

1.1 Oracle database 11g的体系结构

1.1.1 控制文件

是二进制文件,包含的信息有数据库文件的名称、位置、大小等。在Oracle启动时,读取控制文件,打开其中描述的文件以支持即将运行的数据库。

1.1.2 联机重做日志

与Oracle database 11g交互会话时,活动的详细内容记录在联机重做日志中。可以把重做日志看成事务日志。

1.1.3 System表空间

Oracle Database 11g创建时就创建了包含Oracle数据字典的system空间。当进行Oracle Database 11g操作时,它不断从数据字典获取操作信息;当创建纪录时,system空间定义它所存储数据的属性,比如数据类型、字段大小、所有者、浏览和操作权限。

1.1.4 Sysaux表空间

许多支持Oracle Database 11g活动的工具和选项将其对象存储在sysaux表空内,sysaux表空间是在数据库创建时强制创建的。

1.1.5 默认的临时表空间

dbca工作时会创建一个表空间作为中间对象的默认位置,这些中间对象是Oracle Database 11g执行SQL语句时创建的。Oracle收集查询操作的结果集的大部分工作是在内存中完成的,如果为查询处理分配的内存不足以容纳收集数据的所有活动,Oracle使用默认的临时表空间作为诸多活动的辅助工作空间,其中包括排序。

1.1.6 Undo表空间

与Oracle Database 11g进行会话交互时,会创建、修改和删除数据。撤销是将数据恢复到以前状态的行为。在事务保存或放弃之前,Oracle在其undo表空间中保留一份该改变行的副本。

1.1.7 服务器参数文件

Oracle Database 11g有时把服务器参数文件成为spfile。该文件中定义了数据库的启动参数,这些参数的值决定了数据库的运行环境。当启动一个Oracle实例时,读取spfile并按其内容分配不同的内存结构。

1.1.8 后台进程

事实上,后台进程对Oracle Database 11g的访问更为方便,支持正在运行的实例,主要的后台进程包括:

  • 数据库写入进程(dbw0) 该进程负责将数据库缓存区的内容写入磁盘。
  • 日志写入进程(lgw0) 该进程对联机重做日志的信息写入进行管理,将日至缓冲区内容写入磁盘。
  • 检查点进程(ckpt) 该进程负责在检查点活动期间更新Oracle Database 11g的文件。它可以把系统还原到一个特定的时间点,也能出发lgw0和dbw0完成其指定的任务。
  • 系统监视进程(smon) 该进程负责保持数据库运行时的一致性。
  • 进程监视进程(pmon) 该进程负责清楚数据库交互会话中断后占用的资源。
  • 作业队列协调进程(cjq0) 该进程负责从数据库的内部作业队列中产生作业进程,数据库使用其作业队列完成一些自我管理。
  • 归档进程(arc0) 该进程负责在联机重做日志被下一组事务重用之前将它们复制到辅助存储位置。

1.1.9 DBA共同职责

  1. 安装和配置
  2. 创建数据文件和表空间:DBA决定这些数据归属于哪个应用程序。
  3. 账户创建和管理
  4. 环境调整:DBA利用系统参数文件对初始化参数进行调整,从而对Oracle Database 11g的运行环境进行调整。
  5. 配置备份
  6. 与开发人员的合作,确保对拂去其资源利用是尽可能高效的。
  7. 不落伍,跟踪最新技术。
  8. 与Oracle支持拂去合作:服务请求创建过程的前端称为MetaLink。
  9. 使资源效率最大化:应用程序能高效共享该机器的资源。
  10. 与系统管理员保持联络:DBA必须保证有适当的磁盘空间可用,处理器有相应的处理能力,且保证对它们的正确使用。

1.2 Oracle database 11g的基本数据类型

1.2.1 字符varchar2

varchar2几乎可以存储计算机键盘输入的任何字符,它是变长字符串,但最大长度是4000字节或4000个字符,末尾不带无意义的空格

1.2.2 数字number

数字数据类型可以存储整数和整数/小数混合的数字。当存储非整数时,数字的有效位数字成为精度,右边的小数部分成为刻度(scale)或小数位数。例如:数字29.1963的精度为6,刻度为4。该数据类型的最大精度是38,最大刻度是127。
当定义一个带小数位的数字数据类型时,重要的是要知道这一数据类型整数部分的最大长度等于所指定的两个数字之差。规格说明(6,3)允许的整数位是3而不是6。如果小数位超过了列定义允许的范围,在存储前将进行四舍五入。

1.2.3 日期date

日期数据类型存储的是时间和日期信息,时间部分取最近的整秒。默认情况下,日期列的时间部分是不显示的。

1.2.4 时间戳

时间戳的优点是对于它存储的信息秒的精确度更高,而且时间部分不需要to_char()就会随数据显示。

1.2.5 clob

它可以存储超过4GB大小的超大对象,是一个真正的字符数字类型,除了允许的长度更大之外,其他与varchar2无差异。

1.2.6 blob

blob数据类型允许存储大型无结构的二进制对象,声音和视频是blob数据的示例。

1.3 存储对象

存储对象存储在数据字典中用户自定义的程序单元。一般包括:视图、触发器、存储过程、函数、包。

1.3.1 视图view

视图通常是基于多个表创建的。视图提供了一个可以预定义表之间的连接条件的完美环境,以保证这些条件遵循业务规则并按一个优先级进行操作。

1.3.2 触发器trigger

触发器是基于执行某种时间进行触发的存储对象。触发器中的代码是通过指定on update来捕获事件的。虽然触发器通常用在审计上,但也可以执行很多其他活动。触发器不能脱离表而单独存在,它与一个且只与一个表关联,如果删除了表,与表关联的触发器也会被删除。

1.3.3 存储过程procedure

存储过程将相关的工作封装在单个程序单元以简化逻辑并共享数据,能完成很多触发器无法实现的功能。

1.3.4 函数function

除了有返回值以外,函数与过程是非常相似的。用户可以创建自己的函数来增强软件的功能。

1.3.5 包package

包是将函数和存储过程结合在一起的一个高内聚的程序单元。一般,建议将相似的功能捆绑在一起形成一个有逻辑意义的更大单元,这个单元完成一系列任务。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页