MYSQL教程之Oracle进修条记(一)
也许最好的策略是以不变应万变:给客户他们所需要的,不多也不少。如果MySQL学习教程适合他们,他们就不应该买别的工具。事实上,云计算产业一直推崇自助服务,但提供这些服务的公司已经开始认识到解决方案提供商推销他们商品的价值。oracle|条记甚么是数据库?
数据库就是处置数据文件的一批程序。
==============================================
Oracle数据库中寄存有两品种型的信息:
.用户数据是特定使用程序的数据(比方客户发货单)。
.体系数据是数据库体系办理本身所需的数据(比方与特定命据库有关的一切数据文件的
称号及寄存地址)。
=============================================
数据库就是柜子,柜中的抽屉是表空间,抽屉中的文件夹是数据文件,文件夹中的纸是表,写在纸
上的信息就是数据。
=============================================
1)表空间是一个或多个数据文件的汇合。
2)以下表空间在年夜多半数据库中是必备的大概是罕见的:
.体系表空间中保留用于办理Oracle体系本身及个中寄存的数据所需的信息。这些表空间
的称号是流动的。
.一时表空间是Oracle中一时利用的地区。当特定事务产生时,Oracle必要用这些磁盘空
间办理有关的事件。
.工具表空间保留那些Oracle数据库上运转的工具软件所需的工具。
.用户表空间中寄存用户公用的数据库工具。
.回滚表空间中寄存数据库工具的回滚段。
.数据和索引表空间中寄存用户的使用数据。
.索引是数据库工具的一个特别范例。Oracle利用索引举行疾速数据检索。
3)全表扫描(FullTableScan)指Oracle会见特定工具的每行数据。
4)恢复(Undo)信息保留在一个称作回滚段(RollbackSegment)的公用数据库工具中,在出
现失利或一时中断事件时,能够用回滚段使数据库工具退回到旧值。
=====================================================
重做日记(RedoLog)也称作事件日记(TransactionLog),Oracle在这些特别的操纵体系文件中纪录针对数据库举行的修正操纵或事件。对数据库所做的
一切修正事情都在内存中举行.
=====================================================
1)Oracle数据库由两品种型的文件构成:
.分离在一同组成表空间的数据文件。
.分离在一同组成重做日记系列的数据文件。
2)一个数据库必需最少具有两个重做日记。
3)重做日记中含无数据库中产生的一切事件条目。
4)重做日记经常也称为事件日记。
5)为了避免数据丧失,必需利用事件日记,事件日记的功效为:呈现不测妨碍时恢单数据。
6)Oracle数据库能够鄙人列两种形式下运转:
.ARCHIVELOG形式下将保留一切的事件日记。
.NOARCHIVELOG形式下不保留往事务日记。
===================================================
脏数据块(DirtyDataBlock)是盘算机内存中的一块内存区,个中存有读自数据库并已做修正的数据。
脏数据块:寄存在内存中脏数据块中的原始数据已被修正,而修正后的数据还未写进数据库中。
热数据块(HotDataBlock)寄存着那些要频仍修正的数据。
LRU(LeastRecentlyUsed,比来起码利用)
快照(Snapshot)是一个寄存在一个或多个表中的数据的只读拷贝,从一个站点(主站点)存进另外一个站点(远程站点)。
回滚(Rollback)的功效是将用户改动的数据恢复到本来所处的形态。
恢覆信息(UndoInformation)因为各种缘故原由,当数据库必要恢复或回滚用户的操纵时,将发生恢覆信息。
===================================================
把持文件是一个十分小的文件,个中寄存一些与Oracle数据库一切文件相干的关头信息。
Oracle体系经由过程把持文件坚持数据库的完全性(Integrity)和决意恢单数据时利用哪些重做日记。
===================================================
.每一个数据库最少有两个把持文件。我们尽力倡议用户起码天生两个把持文件,并分离放
在分歧的磁盘上。
.数据库布局的一切修正都被纪录在把持文件中。
==================================================
有两品种型的程序或历程。
.一种是用户(或称作客户机)历程,如SQL*Plus、OracleForms、OracleReports及其他任
何用于会见数据库的工具都是用户历程。
.服务器历程吸收来自客户历程的哀求,然后经由过程与数据库的交互满意这些请求。
=================================================
Oracle供应了很多撑持历程匡助用户历程与数据库服务器通讯。这些撑持历程用于:
.在呈现校验点时将数据写回数据文件中(DBWR)。
.在呈现校验点时确保将脏数据块写回磁盘(CKPT)。
.读写重做日记(LGWR)。
.在启动体系时运转以完成数据库恢复的功效(SMON)。
.用户在会话时代非常停止后,可用来开释用户占用的资本(PMON)。
.在ARCHIVELOG形式下,呈现重做日记互换时回档重做日记的拷贝(ARCH)。
.在并行服务器设置中办理锁(LCK)。
.当利用Oracle散布式选件时恢复可疑的事件(RECO)。
.撑持Oracle的快照手艺(SNP)。
.撑持Oracle的初级行列(QMN)。
================================================
关于内存布局总结以下:
1)内存区有两种:
.体系全局区(SGA)。
.程序全局区(PGA)。
2)SGA由一切的服务器和客户机历程共享。
3)SGA次要由四部分构成:
.数据高速缓冲区(DataBufferCache)。
.字典高速缓冲区(RowsCache)中寄存Oracle办理本身所需信息。
.重做日记缓冲区为事件高速缓冲区。
.共享SQL池为程序高速缓冲区。
4)用户历程必要检察的信息必需起首放到SGA中。
5)SGA是一个年夜通讯器,一切历程都能够经由过程它共享信息。
6)PGA不克不及在历程间共享。
7)PGA中寄存数据和历程把持信息。
================================================
这是无法比较的,因为基于云的数据库提供了不同的模式。关键是要通过围绕云计算产品来包装其他增值服务以适应不断变化的市场条件:这就是DBaaS。 大家注意一点。如下面的例子: 分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。 对于微软系列的东西除了一遍遍尝试还真没有太好的办法 入门没那么困难,精通没那么容易 作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题! 如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。 同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。
页:
[1]