|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
应用程序需要使用数据库,数据库本身需要设计、开发和部署。还有MySQL学习教程,客户怎样实施混合系统,或者需要帮助管理多个云服务?
用户会话只是用户到数据库的一个毗连,而用户对数据库的操纵则是经由过程会话中的一个个事件来举行的。对事件的办理不单单是DBA的义务,每一个公布事件的用户也可以对自已的事件举行办理。
事件的入手下手:
Oracle中的事件由碰到的第一条可实行SQL语句入手下手。
DDL(DataDefinitionLanguage)
DML(DataManipulationLanguage)
事件的停止:
·用户实行commit或rollback语句
·用户实行一条DDL语句,好比create,drop,rename,alter。假如以后事件中包括有已实行的DML语句,Oracle起首提交事件,然后再将DDL语句作为一个新的只包括一条语句的事件实行并提交。
·用户自动断开到oracle的毗连。
·用户历程不测中断。
提交事件前完成的事情:
·在SGA区的回退缓存中天生该事件的回退条目。在回退条目中保留有该事件所修正的数据的原始版本。
·在SGA区的重做日记缓存中天生该事件的重做纪录。重做纪录中纪录了该事件对数据块所举行的修正,而且还纪录了对回退段中的数据块所举行的修正。缓存中的重做纪录有大概在事件提交之前就写进硬盘中。
·在SGA区的数据库缓丰中纪录了事件对数据库所举行的修正。这些修正也有大概在事件提交之前就写进硬盘中。
提交事件时完成的事情:
·在为该事件指定的回退段中的外部事件表内纪录下这个事件已被提交,而且天生一个唯一的SCN纪录在外部事件表中,用于唯一标识这个事件。
·LGWR落后历程将SGA区重做日记缓存中的重做纪录写进联机重做日记文件。在写进重做日记的同时还将写进该事件的SCN。
·Oracle服务历程开释事件所利用的一切纪录锁与表锁。
·Oracle关照用户事件提交完成。
·Oracle将该事件标志为已完成。
回退事件完成的事情:
·Oracle经由过程利用回退段中的回退条目,打消事件中一切SQL语句对数据库所做的修正。
·Oracle服务历程开释事件所利用的一切锁
·Oracle关照事件回退乐成。
·Oracle将该事件标志为已完成
事件的断绝品级:
(servers=dedicated)
settransactionisolationlevelreadcommitted
settransactionisolationlevelserializable
settransactionreadonly
settransactionreadwrite
altersessionsetisolation_level=serializable
altersessionsetisolation_level=readcommited
读分歧性的事情机制:
设定查询语句的SCN:10023
该查询语句在搜刮所必要的数据块时,
假如所需数据块的SCN<=10023,则读取。
假如所需数据块的SCN>10023,查询语句将从回退段中猎取对应的数据块的原始版本(原始版本的SCN一样要<=10023)
如许,经由过程对数据块的SCN举行对照,查询语句将只前往在它入手下手实行之前已提交的数据,包管了不会读取到未提交事件所修正的脏数据块,也不会读取到语句入手下手实行后再提交的数据块。
界说公有回退段
settransactionuserollbacksegmentXXX
你可以配置MySQL运行在微小的嵌入式应用程序中,处理的数据可能不足1Mb??而你也可以用它来处理数Tb的数据。MySQL获得这种可扩展性的路径之一是通过一个人们所熟知的存储过程,这是一个运行在程序之外的微型、预编译程序。 |
|