Oracle 9i&10g学习笔记【一】

Oracle Summary

Oracle10g服务器是对象关系数据库管理系统,提供对信息管理的集成方法,灭一个Oracle服务器包括一个Oracle数据库和一个Oracle服务器实例。

 

每当数据库启动的时候,系统全局区域SGA被分配,并启动了Oracle后台进程。系统全局区是用于数据库用户共享数据信息的内存区域。后台进程和内存缓冲区称为Oracle实例。

 

Oracle实例包含两种类型的进程:用户进程和Oracle进程,用户进程执行应用操作的代码,Oracle进程是执行用户进程和后台进程,对Oracle进行维护的服务器进程。

 

网格技术的背景:单个系统必须有足够规模来适应高峰容量,资源也很难从一个系统转移到另外一个系统,造成了现在的企业常有未充分利用的存储器和CPU资源,最终不仅成本更高,基础架构的复杂度也日益提高。企业网格计算焦点是要创建大型的行业标准的、模块化的存储器和服务器池。目前3种类型:

1、  计算网格,具有部分预留资源的计算机,可以处理关键数据

2、  拾遗网格,从空闲的服务器和桌面计算机中回收CPU周期

3、  数据网格,为同一机构的所有数据存储库提供统一界面

 

网格计算主要包括以下组件:安全性、数据管理、资源管理、信息服务

国际上提供的网格计算相关标准如下:

1、  架构(OGSA开放网格服务架构)

2、  规范,开放网格服务基础设施是OGSA用于描述概念的正式规范

 

创建网格主要使用的工具包括:

1、  基础设施

2、  目录服务

3、  调度程序和负载均衡器

4、  开发工具

5、  安全性(验证和授权)

 

Oracle网格计算保证计算资源能够动态的分配给应用程序,资源是按照业务优先级和需求进行分配的,Oracle提供了多种特性支持分配:

1.     RAC(集成的集群件和自动工作负载管理)

2.     自动存数管理(ASM),自动向所有磁盘散播,以最小的管理成本提供最高的I/O吞吐率

3.     Oracle资源管理器

4.     Oracle调度器

 

Oracle对网格数据访问的全方位支持特性:

1、  Oracle可传输表空间

2、  Oracle

3、  自驱动数据库

4、  分布式SQL和分布式事务

5、  支持超大型数据库

 

Oracle物理数据库结构包括:数据文件、控制文件、ReDo日志、归档日志、参数文件、报警和跟踪日志文件、备份文件。

 

体系结构

Oracle被设计为一个高可移植性的数据库,在不同的操作系统上,Oracle的物理体系结构也不同。例如在UNIXOracle实现为多个不同的操作系统进程,实际上每个主要功能分别由一个进程来负责,这种实现是基于UNIX是以多进程为基础的。在Windows平台上,Oracle实现为一个多线程的进程,如果是一个运行OS/390z/OSIBM大型机系统,针对这种操作系统的Oracle体系结构则充分利用OS/390的地址空间来协同工作。

 

Database:物理操作系统文件或者磁盘的集合,使用Oracle 10g的自动存储管理或RAW分区时,可能不作为单独的文件,但定义仍然不变。

Instance:一组Oracle后台进程/线程以及一个共享内存区,可维护易失、非持久性内容。

 

数据库与实例之间的关系是:数据库可以由多个实例装载和打开,而一个实例也可以在任何时间点装载和打开数据库,实例在整个生命周期中最多只能装载或者打开一个数据库。除非RAC,否则一个数据库在同一时间只能有一个实例在之上操作。

 

SGA作用:维护所有进程需要访问的多种内部数据结构,缓存磁盘上的数据,重做数据写至磁盘之前先在这缓存,保存已解析的SQL计划等等

 

Oracle处理客户端连接有两种方式:专用服务器和共享服务器(也叫多线程服务器),使用共享服务器可以使Oracle的并发用户数目得到明显提高,但客户进程不会与共享服务器直接通信,Oracle使用了一个或一组称为调度器的进程来实现与共享服务器的通信。客户进程与一个调度进程通信,调度进程将客户的请求放入SGA的请求队列中,第一个空闲的共享服务器会得到这个请求并进行处理,完成处理之后会把请求放入原调度器的响应队列中,调度器进程一直监听这个响应队列,发现有了结构就会传给客户端。

 

TNS代表透明网络底层(Transparent Network Substrate),TNS连接串告诉Oracle软件如何与远程数据库连接,这是Oracle客户端处理远程连接的基础软件,有了它才可能建立对等通信。在UNIX上,TNS监听进程通过forkexec来创建一个专用服务器进程。而在共享服务器模式下,监听器会把连接转发给调度器或者返回客户端一个调度器的位置,根据不同操作系统实现不同,但效果都是重定向连接到调度器。

 

文件

Oracle实例相关的文件类型:

1.      parameter file

2.      trace file

3.      alert file

4.      data file

5.      temp file

6.      control file

7.      redo log file

8.      password file

9.      change tracking file (after 10g) 利于建立真正的增量备份

10.    flashback log file (after 10g)   文件存储数据块的“前映像”

 

我们之所有可以使用这些跟踪文件,是因为Oracle是一个允许充分测试的软件,编写数据库内核的程序员在内核中放入了调式代码,而且相当多,如果设置了SQL_TRACE=TRUE,服务器就会生成一个包含性能相关信息的跟踪文件。

 

如果使用专用服务器连接,会在USER_DUMP_DEST参数指定的目录中生成跟踪文件

如果使用共享服务器连接,会在BACKGROUND_DUMP_DEST参数指定的目录中生成跟踪文件

 

数据库由一个或多个表空间构成,表空间是Oracle中的一个逻辑存储容器,位于存储层次体系的顶层,包括一个或者多个数据文件。段,是表空间主要的组织结构,占用存储空间的数据库对象,一个段绝对不会跨越表空间边界。段由一个或者多个区段构成,区段是磁盘上一组逻辑连续的块,区段只在一个表空间中,而且总是在该表空间内的一个文件中。块,是数据库最小的分配单位,也是数据库使用的最小I/O单位。

 

内存结构

数据库处理SQL时,首先必须解析SQL语句,有两种类型的解析:第一种是硬解析,第一次解析查询完成的就是硬解析,其中包括查询计划的生成和优化;第二种是软解析,会跳过硬解析的许多步骤

 

UGA就是用户的会话状态,它的位置完全取决于你如何连接Oracle,如果通过共享服务器连接,UGA肯定存在于SGA中,反之专用服务器连接的话UGA就和PGA没有什么区别了。

 

UNIX上,SGA是一个物理实体,实现为一个共享内存段,进程可以attach到这段独立的内存上。而在Windows上,Oracle会作为有一个地址空间的单个进程来执行,所以SGA将作为专用私有内存分配给oracle.exe进程。内部可以通过V$SGASTAT视图来查看SGASGA划分为不同的池:

1.      Java池:为内部JVM分配的

2.      大池:被共享服务器用来做会话缓存

3.      共享池:包含游标、存储过程、状态对象、字典缓冲等

4.      流池

5.      空池:块缓冲区,重做日志缓冲区和固定SGA区专用的内存

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个笔记学习oracle数据库过程中整理出来的,比较详细,适合于初学者。 │ oracle与tomcat端口冲突.txt │ Oracle学习笔记.pdf │ Oracle学习笔记.wps │ 安装Oracle后myEclipse不能正常使用.txt │ 手工配置listener.ora【避免出现ORA-12514错误】.txt │ 贴子树状态存储结构.jpg │ 贴子树状态存储结构.sql │ ├─01 Oracle入门 │ 01 Oracle 简介.txt │ 02 Oracle安装.txt │ 03 sqlplusw的使用.txt │ ├─02 简单SQL语句 │ simple_sql.sql │ ├─03 单行函数 │ single_function.sql │ ├─04 复杂查询 │ complex_query.sql │ ├─05 数据库更新 │ transaction.sql │ ├─06 表的管理 │ createTable.sql │ ├─07 视图 │ view.sql │ ├─08 序列同义词 │ sequence.sql │ ├─09 用户管理 │ user.jpg │ user.sql │ ├─10 嵌套表 可变数组 │ createType.sql │ ├─11 PLSQLl语法 │ plsql.sql │ ├─12 索引 │ index.sql │ ├─13 游标 │ cursor.sql │ ├─14 存储过程 │ procedure.sql │ ├─15 函数 │ function.sql │ ├─16 触发器 │ trigger.sql │ ├─17 设计范式 │ rule.sql │ ├─18数据库管理 │ dba.sql │ dba.txt │ ├─19 我的问题 │ 数据文件丢失Oracle无法启动.txt │ ├─网页 │ CSDN技术中心 Oracle学习笔记(一).mht │ Oracle 10G 数据库系统学习笔记.pdf │ Oracle DBA学习心得 --第0章 - ColorfulStar3399的专栏 - CSDN博客.mht │ Oracle DBA学习心得 --第1章 - ColorfulStar3399的专栏 - CSDN博客.mht │ Oracle Direct-Path Insert学习笔记 - NyThing的Java日记 - JavaEye技术网站.mht │ oracle 常用傻瓜1000问 - oracle10g - 小呵呵.mht │ oracle 常用傻瓜1000问 - oracle10g - 小呵呵.mht.lnk │ ORACLE 面试问题-技术篇.txt │ oracle10g权限与角色管理初学笔记.txt │ oracle10g的系统视图(sys、system).txt │ oracle10g系统管理之UNDO表空间 - lvhuiqing的专栏 - CSDN博客.mht │ oracle10g系统管理之序列 - lvhuiqing的专栏 - CSDN博客.mht │ oracle10g系统管理之序列 - lvhuiqing的专栏 - CSDN博客.mht.lnk │ oracle10g系统管理之应对大表(三) - lvhuiqing的专栏 - CSDN博客.mht │ oracle10g系统管理之应对大表(三) - lvhuiqing的专栏 - CSDN博客.mht.lnk │ oracle10g系统管理之控制文件 - lvhuiqing的专栏 - CSDN博客.mht │ oracle10g系统管理之控制文件 - lvhuiqing的专栏 - CSDN博客.mht.lnk │ oracle10g系统管理之权限管理.mht │ oracle10g系统管理之簇管理(一) - lvhuiqing的专栏 - CSDN博客.mht │ oracle10g系统管理之簇管理(一) - lvhuiqing的专栏 - CSDN博客.mht.lnk │ oracle10g系统管理之簇管理(二) - lvhuiqing的专栏 - CSDN博客.mht │ oracle10g系统管理之簇管理(二) - lvhuiqing的专栏 - CSDN博客.mht.lnk │ oracle10g系统管理之表空间(一) - lvhuiqing的专栏 - CSDN博客.mht │ oracle10g系统管理之表空间(一) - lvhuiqing的专栏 - CSDN博客.mht.lnk │ oracle10g系统管理之表管理 - lvhuiqing的专栏 - CSDN博客.mht │ oracle10g系统管理之表管理 - lvhuiqing的专栏 - CSDN博客.mht.lnk │ oracle10g系统管理之角色.jpg │ Oracle下导出某用户所有表的方法.txt │ oracle中判断某列是否为数字,删除重复数据的方法 - oracle天堂 - CSDN博客.mht │ oracle体系结构.txt │ oracle学习 - zgh2002007的专栏 - CSDN博客.mht │ Oracle学习笔记(chstone原创).mht │ ORACLE学习笔记(一) - lvhuiqing的专栏 - CSDN博客.mht │ ORACLE学习笔记(一) - lvhuiqing的专栏 - CSDN博客.mht.lnk │ ORACLE学习笔记(二)oracle的逻辑结构 - lvhuiqing的专栏 - CSDN博客.mht │ ORACLE学习笔记(二)oracle的逻辑结构 - lvhuiqing的专栏 - CSDN博客.mht.lnk │ ORACLE学习笔记(二)SQLPLUS基础 - lvhuiqing的专栏 - CSDN博客.mht │ ORACLE学习笔记(二)SQLPLUS基础 - lvhuiqing的专栏 - CSDN博客.mht.lnk │ oracle技巧.txt │ ORACLE的索引和约束详解 - Oracle10g - 沪城篱笆.mht │ oracle里常用命令 - Oracle - 51CTO技术论坛_中国领先的IT技术社区.mht │ Sequence相关操作命令 - lvhuiqing的专栏 - CSDN博客.mht │ Sequence相关操作命令 - lvhuiqing的专栏 - CSDN博客.mht.lnk │ 为什么oracle 10G以后数据库文件不能够装在同一目录下?.mht │ 关系数据库范式 - lvhuiqing的专栏 - CSDN博客.mht │ 关系数据库范式 - lvhuiqing的专栏 - CSDN博客.mht.lnk │ 删除ORACLE用户后,空间不释放的问题.mht │ 删除用户时的CASCADE关键字 - lvhuiqing的专栏 - CSDN博客.mht │ 删除用户时的CASCADE关键字 - lvhuiqing的专栏 - CSDN博客.mht.lnk │ 小功能,大作用 --- Oracle里的关键字& - 三十而立专栏 - CSDN博客.mht │ 经典SQL语句收集(ORACLE).mht │ 融会贯通Oracle数据库的25条基本知识.txt │ 详细讲解Oracle服务器的常用命令行.mht │ └─资料 │ Ora 10G Err_Msg.chm │ Oracle10g_DBA.pdf │ Oracle10G官方文档CHM合集SQL参考手册.pdf │ Oracle9i数据库管理实务讲座.pdf │ OraclePLSQL语言基础.exe │ Oracle傻瓜手册.pdf │ oracle最权威工具TOAD使用大全.chm │ oracle的入门心得.pdf │ Oracle程序员开发指南.pdf │ └─北大青鸟oracle9i ├─1 │ -ORACLE公司传奇.doc │ 1作业.txt │ Oracle控制台使用.doc │ TP1V1.0.ppt │ 其它补充.txt │ 登录SQLPLUS.txt │ ├─2 │ 2上机.doc │ TP1V2.0.ppt │ ├─3 │ TP1V3.0.ppt │ ├─4 │ 4上机.doc │ TP4.ppt │ ├─5 │ 5上机.doc │ DEMOScript.sql │ TP5.ppt │ ├─6 │ 6_Script.sql │ 6上机.doc │ DEMOScript.sql │ TP6.ppt │ └─7 7上机.doc DEMOScript.sql T7.ppt 演示代码.sql
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值