小妖女 发表于 2015-1-16 22:22:20

MYSQL编程:认证基本:ORACLE的体系概述

也许最好的策略是以不变应万变:给客户他们所需要的,不多也不少。如果MySQL学习教程适合他们,他们就不应该买别的工具。事实上,云计算产业一直推崇自助服务,但提供这些服务的公司已经开始认识到解决方案提供商推销他们商品的价值。<pstyle="TEXT-INDENT:2em">ORACLE公司自86年推出书本5入手下手,体系具有散布数据库处置功效.88年推出书本6,ORACLERDBMS(V6.0)可带事件处置选项(TPO),进步了事件处置的速率.1992年推出了版本7,在ORACLERDBMS中可带历程数据库选项(proceduraldatabaseoption)和并行服务器选项(parallelserveroption),称为ORACLE7数据库办理体系,它开释了开放的干系型体系的真正潜力。ORACLE7的协同开辟情况供应了新一代集成的软件性命周期开辟情况,可用以完成高临盆率、年夜型事件处置及客户/服务器布局的使用体系。协同开辟情况具有可移植性,撑持多种数据来历、多种图形用户界面及多媒体、多平易近族言语、CASE等协同使用体系。
<p>1、ORACLE体系
<p>1.ORACLE产物布局及构成
<p>ORACLE体系是由以RDBMS为中心的一批软件产物组成.
<p>2.ORACLE体系特性
<p>ORACLE公司于1979年,起首推出基于SQL尺度的干系数据库产物,可在100多种硬件平台上运转(所括微机、事情站、小型机、中型机和年夜型机),撑持良多种操纵体系。用户的ORACLE使用可便利地从一种盘算机设置移至另外一种盘算机设置上。ORACLE的散布式布局可将数据和使用驻留在多台盘算机上,而互相间的通讯是通明的。1992年6月ORACLE公司推出的ORACLE7协同服务器数据库,使干系数据库手艺迈上了新台阶。依据IDG(国际数据团体)1992年环球UNIX数据库市场呈报,ORACLE占市场发卖量50%。它之以是倍受用户喜好是由于它有以下凸起的特性:
<p>撑持年夜数据库、多用户的高功能的事件处置。ORACLE撑持最年夜数据库,其巨细可到几百千兆,可充实使用硬件设备。撑持大批用户同时在统一数据上实行各类数据使用,并使数据争用最小,包管数据分歧性。体系保护具有高的功能,ORACLE天天可一连24小时事情,一般的体系操纵(后备或一般盘算机体系妨碍)不会中止数据库的利用。可把持数据库数据的可用性,可在数据库级或在子数据库级上把持。
<p>ORACLE恪守数据存取言语、操纵体系、用户接口和收集通讯协定的产业尺度。以是它是一个开放体系,回护了用户的投资。美国尺度化和手艺研讨所(NIST)对ORACLE7SERVER举行查验,100%地与ANSI/ISOSQL89尺度的二级相兼容。
<p> 实行平安性把持和完全性把持。ORACLE为限定各监控数据存取供应体系牢靠的平安性。ORACLE实行数据完全性,为可承受的数据指定尺度。
<p>撑持散布式数据库和散布处置。ORACLE为了充实使用盘算机体系和收集,同意将处置分为数据库服务器和客户使用程序,一切共享的数据办理由数据库办理体系的盘算机处置,而运转数据库使用的事情站会合于注释和显现数据。经由过程收集毗连的盘算机情况,ORACLE将寄存在多台盘算机上的数据组分解一个逻辑数据库,可被全体收集用户存取。散布式体系像会合式数据库一样具有通明性和数据分歧性。
<p>具有可移植性、可兼容性和可毗连性。因为ORACLE软件可在很多分歧的操纵体系上运转,乃至ORACLE上所开辟的使用可移植就任何操纵体系,只需很少修正或不需修正。ORACLE软件同产业尺度相兼容,包含很多产业尺度的操纵体系,所开辟使用体系可在任何操纵体系上运转。可毗连性是指ORALCE同意分歧范例的盘算机和操纵体系经由过程收集可共享信息。<pstyle="TEXT-INDENT:2em">2、ORACLE数据库体系的系统布局
<p>ORACLE数据库体系为具有办理ORACLE数据库功效的盘算机体系。每个运转的ORACLE数据库与一个ORACLE实例(INSTANCE)相接洽。一个ORACLE实例为存取和把持一数据库的软件机制。每次在数据库服务器上启动一数据库时,称为体系全局区(SYSTEMGLOBALAREA)的一内存区(简称SGA)被分派,有一个或多个ORACLE历程被启动。该SGA和ORACLE历程的分离称为一个ORACLE数据库实例。一个实例的SGA和历程为办理数据库数据、为该数据库一个或多个用户服务而事情。
<p>在ORACLE体系中,起首是实例启动,然后由实例拆卸(MOUNT)一数据库。在松耦合体系中,在具有ORACLEPARALLELSERVER选项时,单个数据库可被多个实例拆卸,即多个实例共享统一物理数据库。
<p>ORACLE实例的历程布局和内存布局
<p>历程布局
<p>历程是操纵体系中的一种机制,它可实行一系列的操纵步。在有些操纵体系中利用功课(JOB)或义务(TASK)的术语。一个历程一般有它本人的公用存储区。ORACLE历程的系统布局计划使功能最年夜。
<p>ORACLE实例有两品种型:单历程实例和多历程实例。
<p>单历程ORACLE(又称单用户ORACLE)是一种数据库体系,一个历程实行全体ORACLE代码。因为ORACLE部分和客户使用程序不克不及分离以历程实行,以是ORACLE的代码和用户的数据库使用是单个历程实行。
<p>在单历程情况下的ORACLE实例,仅同意一个用户可存取。比方在MS-DOS上运转ORACLE。
<p>多历程ORACLE实例(又称多用户ORACLE)利用多个历程来实行ORACLE的分歧部分,关于每个毗连的用户都有一个历程。
<p>在多历程体系中,历程分为两类:用户历程和ORACLE历程。当一用户运转一使用程序,如PRO*C程序或一个ORACLE工具(如SQL*PLUS),为用户运转的使用创建一个用户历程。ORACLE历程又分为两类:服务器历程和背景历程。服务器历程用于处置毗连到该实例的用户历程的哀求。当使用和ORACELE是在统一台呆板上运转,而不再经由过程收集,一样平常将用户历程和它响应的服务器历程组分解单个的历程,可下降体系开支。但是,当使用和ORACLE运转在分歧的呆板上时,用户历程经由一个分别服务器历程与ORACLE通讯。它可实行以下义务:
<p>对使用所收回的SQL语句举行语法剖析和实行。
<p>从磁盘(数据文件)中读进需要的数据块到SGA的共享数据库缓冲区(该块不在缓冲区时),将了局前往给使用程序处置。
<p>体系为了使功能最好和和谐多个用户,在多历程体系中利用一些附加历程,称为背景历程。在很多操纵体系中,背景历程是在实例启动时主动地创建。一个ORACLE实例能够有很多背景历程,但它们不是一向存在。背景历程的名字为:
<p>DBWR数据库写进程序
LGWR日记写进程序
CKPT反省点
SMON体系监控
PMON历程监控
ARCH回档
RECO恢复
LCKn封闭
Dnnn调剂历程
Snnn服务器
<p>每一个背景历程与ORACLE数据库的分歧部分交互。<pstyle="TEXT-INDENT:2em">上面对背景历程的功效作复杂先容:
<p>DBWR历程:该历程实行将缓冲区写进数据文件,是卖力缓冲存储区办理的一个ORACLE背景历程。当缓冲区中的一缓冲区被修正,它被标记为“弄脏”,DBWR的次要义务是将“弄脏”的缓冲区写进磁盘,使缓冲区坚持“洁净”。因为缓冲存储区的缓冲区填进数据库或被用户历程弄脏,未用的缓冲区的数量削减。当未用的缓冲区下落到很少,乃至用户历程要从磁盘读进块到内存存储区时没法找到未用的缓冲区时,DBWR将办理缓冲存储区,利用户历程总可失掉未用的缓冲区。
<p>ORACLE接纳LRU(LEASTRECENTLYUSED)算法(比来起码利用算法)坚持内存中的数据块是比来利用的,使I/O最小。鄙人列情形预示DBWR要将弄脏的缓冲区写进磁盘:
<p>当一个服务器历程将一缓冲区移进“弄脏”表,该弄脏表到达临界长度时,该服务历程将关照DBWR举行写。该临界长度是为参数DB-BLOCK-WRITE-BATCH的值的一半。
<p>当一个服务器历程在LRU表中查找DB-BLOCK-MAX-SCAN-CNT缓冲区时,没有查到未用的缓冲区,它中断查找并关照DBWR举行写。
<p>呈现超时(每次3秒),DBWR将关照自己。
<p>当呈现反省点时,LGWR将关照DBWR
<p>在前两种情形下,DBWR将弄脏表中的块写进磁盘,每次可写的块数由初始化参数DB-BLOCK-WRITE-BATCH所指定。假如弄脏表中没有该参数指定块数的缓冲区,DBWR从LUR表中查找别的一个弄脏缓冲区。
<p>假如DBWR在三秒内未举动,则呈现超时。在这类情形下DBWR对LRU表查找指定命目标缓冲区,将所找就任何弄脏缓冲区写进磁盘。每当呈现超时,DBWR查找一个新的缓冲区组。每次由DBWR查找的缓冲区的数量是为寝化参数DB-BLOCK-WRITE-BATCH的值的二倍。假如数据库空运转,DBWR终极将全体缓冲区存储区写进磁盘。
<p>在呈现反省点时,LGWR指定一修正缓冲区表必需写进到磁盘。DBWR将指定的缓冲区写进磁盘。
<p>在有些平台上,一个实例可有多个DBWR。在如许的实例中,一些块可写进一磁盘,另外一些块可写进别的磁盘。参数DB-WRITERS把持DBWR历程个数。
<p>LGWR历程:该历程将日记缓冲区写进磁盘上的一个日记文件,它是卖力办理日记缓冲区的一个ORACLE背景历程。LGWR历程将自前次写进磁盘以来的全体日记项输入,LGWR输入:
<p>当用户历程提交一事件时写进一个提交纪录。
<p>每三秒将日记缓冲区输入。
<p>当日记缓冲区的1/3已满时将日记缓冲区输入。
<p>当DBWR将修正缓冲区写进磁盘时则将日记缓冲区输入。
<p>LGWR历程同步地写进到举动的镜象在线日记文件组。假如组中一个文件被删除或不成用,LGWR可持续地写进该组的别的文件。
<p>日记缓冲区是一个轮回缓冲区。当LGWR将日记缓冲区的日记项写进日记文件后,服务器历程可将新的日记项写进到该日记缓冲区。LGWR一般写得很快,可确保日记缓冲区总有空间可写进新的日记项。
<p>注重:偶然候当必要更多的日记缓冲区时,LWGR在一个事件提交前就将日记项写出,而这些日记项仅当在今后事件提交后才永世化。DBaaS和其他云服务之间的区别是:DBaaS专注于提供类似关系数据库管理系统RDBMS(比如SQLServer、MySQL和Oracle)的数据库功能。事实上,RDBMS已被证明是一种适合于在各种情况下管理结构化数据的有效工具。

山那边是海 发表于 2015-1-19 09:41:19

只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。

若天明 发表于 2015-1-27 11:30:45

如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。

乐观 发表于 2015-2-5 09:25:12

原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。

再见西城 发表于 2015-3-2 04:47:19

groupby子句可以将查询结果分组,并返回行的汇总信息Oracle按照groupby子句中指定的表达式的值分组查询结果。

仓酷云 发表于 2015-3-11 02:38:24

SQL语言是学习所有数据库产品的基础,无论你是做数据库管理还是做数据库开发都是这样。不过具体学习的侧重点要看你将来做哪一块,如果是做数据库管理(DBA),侧重点应该放在SQLServer的系统管理上.

爱飞 发表于 2015-3-17 19:09:39

我们学到了什么?思考问题的时候从表的角度来思考问

活着的死人 发表于 2015-3-24 21:27:27

数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。
页: [1]
查看完整版本: MYSQL编程:认证基本:ORACLE的体系概述