Tag Archives: oracle
oracle10g学习总结3-读写一致性
1 还原和重做 还原数据:原始的,修改之前的数据副本,为更改数据的每个事务处理而捕获,至少保留到事务处理结束,用于支持:回退操作,读取一致性和闪回查询,从失败事务处理中恢复. 每个事务处理只分配一个还原段,而一个还原段可以同时服务多个事务处理。 还原数据与重做数据的区别 还原数据:记录还原更改,用于回退和读取一致性,存储于还原段,避免在多用户系统中读取不一致。 重做数据:如何重新生成更改,用户向前滚动数据库更改,存储与重做日志文件,避免数据丢失。 2 数据操纵语言 dml 和 事务 commit 使更改成为永久性更改 rollback 撤销更改,会回滚到最近的事务还原点 3 lock 使用锁定可以防止多个会话同时更改同一数据,锁定是在指定语句的最低可能级别自动获取的,锁定不会升级。 锁定机制: 高级数据并发处理: 执行插入,更新和删除时使用行级锁定,查询不需要任何锁定。 自动队列管理 在事务处理(commit或者rollback)结束前一直保持锁定。 每个dml事务处理必须获取两个锁定: 针对正在更新的一行或者多行的exclusive行锁定; 针对包含这些行的表的row exclusive表级锁定;
Filed under 学习
oracle10g学习总结2-管理数据库
1 oracel实例的关闭模式 关闭模式 shut down abort 不允许新连接,不等待当前会话结束,不等待当前事务处理结束,不强制选择检查点并关闭文件 shut down immediate 不允许新连接,不等待当前会话结束,不等待当前事务处理结束,强制选择检查点并关闭文件 shut down transactional 不允许新连接,不等待当前会话结束,等待当前事务处理结束,强制选择检查点并关闭文件 shut down normal 允许新连接,不等待当前会话结束,等待当前事务处理结束,强制选择检查点并关闭文件 shutdown + immediate/transactional/normal 执行过程 目的是关闭后产生一个干净,一致的数据库 关闭时 选择immediate 情况下,会回退未提交的更改(undo log和check point),而在启动时候不用恢复实例。 数据库缓冲区高速缓存会写入到数据文件。 会释放资源。 启动时 不恢复实例 shutdown + immediate/transactional/normal 执行过程 目的是关闭后产生一个不一致的数据库(dirty数据库) 关闭时 修改过的缓冲区不写入到数据文件 … Continue reading
Filed under 学习
oracle10g学习总结1-数据库架构
近期正在参加一个外部的oracle10g技术培训,培训完成后会向公司同事做内部技术分享,这里先整理一下思路。 1 oracle10g 结构 oracle10g (以下简称oracle)数据库结构由 内存结构 (sga 系统全局区),进程结构(后台监听和管理进程)和存储结构(数据库文件)三部分组成。 1. oracel的内存结构又分为:共享池,streams池,大型池,java池,数据库缓冲区高速缓存和重做日志缓冲区。 共享池 用于 缓存解析之后的sql语句和存储过程。 streams池 用于 提供多点备份流服务。 数据库缓冲区高速缓存 用于缓存块数据,实现逻辑读。 重做日志缓冲区 用于缓存重做日志。 2.oracel的进程结构由:服务器进程和pgs(进程全局区)组成。 3.oracle 数据文件 a 数据文件的逻辑结构 一个表空间包括一个或者多个数据文件; 一个数据文件仅归属于一个表空间。 system和sysaux表空间是必备表空间 system提供核心功能(数据字典表) sysaux提供附加辅助功能 oracle数据文件的基本存储结构 段存在于表空间 段segment 由多个区组成,并不需要连续 区extent 一组连续的块 块block 存储最基本的单元,会映射到磁盘文件块 默认为8k … Continue reading
Filed under 学习