`
liwenshui322
  • 浏览: 519340 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表

Oracle之redo分析二

      1. 为什么不能分配一个新日志文件         在批量大量导入数据的时候,我们可能会在服务器端的alert.log文件里面看到这样一条警告信息:         Thread 1 cannot allocate new log, sequence1466         CheckPoint not complete       ...
      一. 简要介绍        在openbravo里面先要实例化一个集团,组织机构(organization)是属于某一个集团下面的。一个集团下面可以有多个组织机构,组织机构可以是如下身份:      a. 一个独立的分公司。      b. 一个虚 ...
      一. Openbravo3.0 新颖特征介绍          1. 多页签模式:允许一次打开多个功能节点。       2. 主-子表混合模式:在一个页面可以看到主表数据,也可以看到其下面的子表数据。       3. 表格编辑模式: 在列表模式下面,可以直接对某一个字段进行编辑。       4. 列过滤模式: 在表格上边有过滤字段,可以实时进行过滤。(想根据那一个字段进行过滤,在这一列上面的过滤框输入条件即可)       5. 快速菜单模式:允许输入菜单功能节点名称,快速打开某一个节点。           二。 列过滤模式         可以使用的符 ...
    原帖地址: http://apps.hi.baidu.com/share/detail/24548269 一、检查点概述大多数关系型数据库都采用"在提交时并不强迫针对数据块的修改完成"而是"提交时保证修改记录(以重做日志的形式)写入日志文件"的机制,来获得性能的优势。这句话的另外一种描述是:当用户提交事务,写数据文件是"异步"的,写日志文件是"同步"的。这就可能导致数据库实例崩溃时,内存中的DB_Buffer 中的修改过的数据,可能没有写入到数据块中。数据库在重新打开时,需要进行恢复,来恢复DB Buf ...
     1. List      List里面的元素是有序的,两个常用实现类是ArrayList与LinkedList。这两个实现类的性能恰如镜像,ArrayList的访问速度快,添加和删除元素的速度慢;而LinkedList正好相反。        2. Set      Set总共有3种实现 ...

Oracle之redo分析

    作为一名开发人员,应该能够测量你的操作生成了多少redo,这往往很重要。生成的redo越多,你的操作花费的时间就越长,整个系统也会越慢。你不光在影响你自己的会话,还会影响每一个会话。redo管理是数据库中的一个串行点。任何Oracle实例都只有一个LGWR,最终所有事务都会归于LGWR,要求这个进程管理它们的redo,并BOMMIT其事务,LGWR要做的越多,系统就会越慢。通过查看一个操作会生成多少
     6. 容器访问方法      如果对象中包含了一个容器,那么它应该怎样暴露给其他的对象呢?最简单的方法是提供一个get方法,比如:      List<books> getBooks() {            return books;        }        这样暴露的接口给了客户最大的灵活性,客户获得这个容器之后,可以进行任何操作。现在假设这么一种场景:      该对象里面某一些内部状态依赖于这个容器,如果修改这个容器里面的内容会影响到这些内部状态。那么直接返回这个容器,将会导致这些内部状态变得不可控了。      这个时候,应该为这个容器 ...
      把一个逻辑分成许多方法,而不是全部揉成一团。这是为什么呢?也就是为什么要有方法?因为从理论上讲,只要通过各种跳转控制,可以把任何程序都组织成一段巨大的方法。这样做最大的问题是难以阅读,今后的阅读者很难找到自己关心的部分,另外代码无法重复利用,很多地方出现了相同的代码。       把一个程序的逻辑分割成很多方法,相当于告诉别人“这些逻辑片断之间的联系不紧密”。在把方法归入类中,把类归入包中,就是进一步传递同样的信息。       那么怎么把一个逻辑划分成方法?一般划分的时候需要考虑几个因素:大小,意图与方法命名。       大小:不应该将逻辑划分得太细,因为那样思维的表达 ...
     冯.诺依曼贡献了关于计算机的一个重要隐喻:一系列依次执行的指令。这一隐喻贯穿了许多编程语言,当然也包括java。那么我们应该如何表达程序的行为(也就是一系列指令)。           1. 控制流      作为程序员,你要决定如何去表达心目中的控制流,是表达成一个含有例外情况的主体流,还是表达成多个同样重要的流,又或者是两者的混合,这样一个问题要先想清楚。另外,写程序的时候,将控制流的小片段归类,让不想深入研究的阅读者首先得到一个抽象的理解,同时又为需要深入领会的阅读者提供更详尽的细节。        2. 主体流      程序员通常心里都会想象一个程序控制流的主干 ...
      对象方便地包装了行为(behavior)与状态(state):前者被暴露给外部世界,后者则为前者提供支持。对象的好处之一就是将程序中的所有状态分割成小块,每一块都有属于自己的计算环境。这样每一块状态的改变都在可控范围内,编写程序其实就是在改变每一个对象的状态,通过对象状态的转变达到我们要实现的目的。如何访问与修改状态是必须要面对的问题。           1. 直接访问      比如: x = 10  这种访问方式好处是表达清晰,一眼就能看出x到了什么状态。但这是以损失灵活性为代价的,如果在多个地方需要对同一变量赋值,那么当赋的值需要修改就得同时修改多个地方。另外还有一个 ...
     1.Commit(提交)      作为一名开发人员,你应该深入了解COMMIT期间会做些什么。COMMIT通常是一个非常快的操作,而不论事务大小如何。      你可能认为,一个事务越大(换句话说,它影响的数据越多),COMMIT需要的时间就越长。不是这样的。不论事务有多大,COMMIT的响应时间一般都很“平”(flat,可以理解为无高低变化)。这是因为COMMIT并没有太多的工作去做,不过它所做的确实至关重要。      有些人认为限制事务的大小,一块一块地提交要比一次性提交要节省系统资源,其实 频繁的进行事务提交比一次性提交效率要低。我们已经知道,如果不使用绑定变量,而且频 ...
     1. 类      每一个类其实就是这样一个声明:这些逻辑应该放在一起,它们的变化不像它们所操作的数据那么频繁;这些数据也应该放在一起,它们的变化频率差不多,并且由与之关联的逻辑来处理。因为一般数据的变 ...
     一. 什么是redo(用于前滚数据)        redo也就是重做日志文件(redo log file),Oracle维护着两类重做日志文件:在线(online)重做日志文件和归档(archived)重做日志文件。这两类重做日志文件都用于恢复;其主要目的是,万一实例失败或介质失败,它们能够恢复数据。        二. 什么是undo(用于回滚数据)        从概念上讲,undo正好与redo相对。你对数据执行修改时,数据库会生成undo信息,这样万一你执行的事务或语句由于某种原因失败了,或者如果你用一条ROLLBACK语句请求回滚,就可以利用这些undo信息将数 ...

Oracle事务浅谈

     数据库引入事务的主要目的是:事务会把数据库从一种一致状态转变为另一种一致状态。在数据库中提交工作时,可以确保要么所有修改都已经保存,要么所有修改都不保存。另外,还能保证实现了保护数据完整性的各种规则和检查。        这对于我们的一些应用是至关重要的,比如一个转账业务,从A账户转出1000元到B账户,操作1:从A账户减少1000元,操作2:B账户增加1000元。假如不能保证这两个操作要么都成功,要么都失败,就会有问题的。比如操作1成功了,操作2失败了。那么客户应该把你告上法庭了。      事务都有四个特征:      原子性(atomicity):事务中的所有动作要么都发 ...
    这篇文章讲述的是,我们在编程的过程中以一种什么样的价值观作为导向,遵守一些什么样的规则。就能编写出比较优秀的代码。          先说一下三个概念      模式:也就是我们通常所说的解决方案,比如要写一个循环遍历有很多实现方案。模式表达的是我们要做什么和怎么做出来。      价值观:也就是我们编程应该实现的目的,统一支配我们编程的过程。比如我们实现的模式要很灵活。      原则:实现解决方案的准则。价值观为我们实现解决方案提供了方向,原则就是告诉我们在实现这种解决方案的过程中应该遵守怎么样的规则。      他们三者之间的关系是:模式描述了要做什么,价值观提供了动 ...
Global site tag (gtag.js) - Google Analytics