Oracle学习笔记(一)

原创 2004年02月29日 13:25:00

什么是数据库?
数据库就是处理数据文件的一批程序。
==============================================
Oracle数据库中存放有两种类型的信息:
. 用户数据是特定应用程序的数据(例如客户发货单)。
. 系统数据是数据库系统管理自身所需的数据(例如与特定数据库有关的所有数据文件的
名称及存放地点)。
=============================================
数据库就是柜子,柜中的抽屉是表空间,抽屉中的文件夹是数据文件,文件夹中的纸是表,写在纸
上的信息就是数据。
=============================================
1) 表空间是一个或多个数据文件的集合。
2) 下列表空间在大多数数据库中是必备的或者是常见的:
. 系统表空间中保存用于管理O r a c l e系统自身及其中存放的数据所需的信息。这些表空间
的名称是固定的。
. 临时表空间是O r a c l e中临时使用的区域。当特定事件发生时, O r a c l e需要用这些磁盘空
间管理有关的事务。
. 工具表空间保存那些O r a c l e数据库上运行的工具软件所需的对象。
. 用户表空间中存放用户专用的数据库对象。
. 回滚表空间中存放数据库对象的回滚段。
. 数据和索引表空间中存放用户的应用数据。
. 索引是数据库对象的一个特殊类型。O r a c l e使用索引进行快速数据检索。
3) 全表扫描(Full Table Scan)指O r a c l e访问特定对象的每行数据。
4) 恢复( U n d o )信息保存在一个称作回滚段(Rollback Segment)的专用数据库对象中,在出
现失败或临时中止事务时,可以用回滚段使数据库对象退回到旧值。
=====================================================
重做日志(Redo Log)也称作事务日志( Transaction Log),O r a c l e在这些特殊的操作系统文件中记录针对数据库进行的修改操作或事务。对数据库所做的
所有修改工作都在内存中进行.
=====================================================
1) Oracle数据库由两种类型的文件组成:
. 结合在一起构成表空间的数据文件。
. 结合在一起构成重做日志系列的数据文件。
2) 一个数据库必须至少具有两个重做日志。
3) 重做日志中含有数据库中发生的所有事务条目。
4) 重做日志常常也称为事务日志。
5) 为了防止数据丢失,必须使用事务日志,事务日志的功能为:出现意外故障时恢复数据。
6) Oracle数据库可以在下列两种模式下运行:
. ARCHIVELOG模式下将保存所有的事务日志。
. NOARCHIVELOG模式下不保存旧事务日志。
===================================================
脏数据块(Dirty Data Block) 是计算机内存中的一块内存区,其中存有读自数据库并已做修改的数据。
                          脏数据块:存放在内存中脏数据块中的原始数据已被修改,而修改后的数据还未写入数据库中。
热数据块(Hot Data Block) 存放着那些要频繁修改的数据。
L R U (Least Recently Used,最近最少使用)
快照(Snapshot) 是一个存放在一个或多个表中的数据的只读拷贝,从一个站点(主站点)存入另一个站点(远程站点)。
回滚( R o l l b a c k )的功能是将用户改变的数据恢复到原先所处的状态。
恢复信息(Undo Information) 由于种种原因,当数据库需要恢复或回滚用户的操作时,将产生恢复信息。       
===================================================

控制文件是一个非常小的文件,其中存放一些与O r a c l e数据库所有文件相关的关键信息。
O r a c l e系统通过控制文件保持数据库的完整性( I n t e g r i t y )以及决定恢复数据时使用哪些重做日志。
===================================================
. 每个数据库至少有两个控制文件。我们极力建议用户最少生成两个控制文件,并分别放
在不同的磁盘上。
. 数据库结构的所有修改都被记录在控制文件中。
==================================================
有两种类型的程序或进程。
. 一种是用户(或称作客户机)进程,如S Q L * P l u s、Oracle Forms、Oracle Reports及其他任
何用于访问数据库的工具都是用户进程。
. 服务器进程接收来自客户进程的请求,然后通过与数据库的交互满足这些要求。
=================================================
O r a c l e提供了许多支持进程帮助用户进程与数据库服务器通信。这些支持进程用于:
. 在出现校验点时将数据写回数据文件中( D B W R )。
. 在出现校验点时确保将脏数据块写回磁盘( C K P T )。
. 读写重做日志( L G W R )。
. 在启动系统时运行以完成数据库恢复的功能( S M O N )。
. 用户在会话期间异常终止后,可用来释放用户占用的资源( P M O N )。
. 在A R C H I V E L O G模式下,出现重做日志交换时归档重做日志的拷贝( A R C H )。
. 在并行服务器配置中管理锁( L C K )。
. 当使用O r a c l e分布式选件时恢复可疑的事务( R E C O )。
. 支持Oracle 的快照技术( S N P )。
. 支持O r a c l e的高级队列( Q M N )。
================================================
关于内存结构总结如下:
1) 内存区有两种:
. 系统全局区( S G A )。
. 程序全局区( P G A )。
2) SGA由所有的服务器和客户机进程共享。
3) SGA主要由四部分组成:
. 数据高速缓冲区(Data Buffer Cache)。
. 字典高速缓冲区(Rows Cache)中存放O r a c l e管理自身所需信息。
. 重做日志缓冲区为事务高速缓冲区。
. 共享S Q L池为程序高速缓冲区。
4) 用户进程需要查看的信息必须首先放到S G A中。
5) SGA是一个大通信器,所有进程都可以通过它共享信息。
6) PGA不能在进程间共享。
7) PGA中存放数据和进程控制信息。       
================================================

oracle学习笔记汇总

一,oracle表命名规则 a):必须以字母开头 b):长度不能超过30个字符 c):不用室友oracle保留字 d):只能使用A-Z a-z 0-9 $ #等字符 一.Oracle数据库中...
  • chunqiuwei
  • chunqiuwei
  • 2012年08月04日 00:11
  • 2632

Ionic3学习笔记(一)

(一)ionic3环境准备:    1.安装Node.js(安装之后执行node -version检查是否安装成功)     2.安装npm。  命令:npm install npm -g   ...
  • Dan_2017
  • Dan_2017
  • 2017年11月28日 21:46
  • 153

C++/GDI+ 学习笔记(一)——安装、配置&使用

使用GDI+很简单。需要做的有一下几个步骤。1.       安装GDI+ SDK开发包。网上很多地方都有下载。解压到一个地方即可。2.       设置编译器的包含路径,VC6的设置方法是 Tool...
  • eplanet
  • eplanet
  • 2007年10月09日 09:11
  • 9164

Robot Framework 学习笔记(一)

序为了更好的适应工作,提前开始准备学习内容,按照个人学习进度进行阶段性总结,Robot Framework属于自动化测试框架,本文基于Windows7系统进行相关软件安装讲解。安装过程第一步: Pyt...
  • xinyu913
  • xinyu913
  • 2016年04月11日 17:03
  • 638

UNP卷一学习笔记:I/O模型

UNIX下可用的5种I/0模型: (1)阻塞式I/O   (2)非阻塞式I/O   (3)I/O复用   (4)信号驱动I/O(SIGIO)    (5)异步I/O 前4种属于同步操作,第5种属于异步...
  • u014557232
  • u014557232
  • 2016年03月19日 14:25
  • 320

数据库学习笔记(SQL语句)

根据已有的表或查询结果来创建表: - CREATE TABLE ... LIKE会根据原有表创建一个新表。该语句会完整的复制原有表的结构以创建一个新的空表。如果想插入数据,还需要另外的插入语句(如...
  • fatever
  • fatever
  • 2017年06月20日 17:26
  • 86

DevExpress学习笔记(五)-以拖拽的方式构建树(TreeList)

DevExpress学习笔记 以拖拽的方式构建树(TreeList) 本人最近在做某个项目中需要用到动态设置TreeList节点的技术,在这个过程中对于TreeList的各项功能有了初步的...
  • ltrelax
  • ltrelax
  • 2012年08月13日 12:07
  • 1231

SpringMVC 学习笔记(一) Hello World

Spring MVC 是目前最主流的MVC 框架之一 Spring MVC 通过一套 MVC 注解,让 POJO 成为处理请 求的控制器,而无须实现任何接口。 支持 REST 风格的 URL 请求 采...
  • a67474506
  • a67474506
  • 2015年06月04日 14:26
  • 2025

sql server 的T-SQL 学习笔记(八)

/******************* 函数 和 存储过程 ************************/ -- 表值函数和标量值函数 -- 系统存储过程-- 函数 -- 函数是一种用户封装...
  • chencong3139
  • chencong3139
  • 2017年07月25日 14:40
  • 239

VC/MFC学习笔记

 windows中的很多数据类型,如HWND,WParam等其实都是我们所熟悉的unsigned int等一些类型,而定义成新的形式是为了方便记忆,不要因为这个而被难住!消息队列:把消息放在队列中,应...
  • degree_37
  • degree_37
  • 2009年04月22日 16:24
  • 303
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle学习笔记(一)
举报原因:
原因补充:

(最多只允许输入30个字)