- 浏览: 519254 次
- 性别:
- 来自: 北京
最新评论
-
u011165335:
distinct不影响使用半连接
(转)关于semi-join/anti-join的一点探讨 -
353790060:
redo 记录事务执行后的日志 undo 记录事务回滚的日志 ...
Oracle redo与undo浅析 -
jayxigua:
redo用于在失败时重放事务(即恢复事务),undo则用于取消 ...
Oracle redo与undo浅析 -
aa_qq110:
Openbravo有中文包吗
Openbravo开发手册 -
iocaop:
不错,写的很清晰易懂
JAVA 服务提供者框架介绍
文章列表
Openbravo ERP 3.0已经发布有一段时间了,在网上产生了很大的反响。openbravo官网也正全力推荐,我这几天抽空装好了,跟大伙分享一下安装过程。我的邮箱地址:li.wenjie322@gmail.com 欢迎交流!
一. 环境要求
1. 我测试的系统为 Windows 7。
2.数据库:Oracle 10g (version 10.2.0.4.0 or later) and 11g
(version 11.1.0.6.0 or later)。最好是这些版本,我的数据库版本是
(转)JVM中可生成的最大Thread数量
- 博客分类:
- java基础篇
========================================
更新:
网上查到的最大可创建线程数公式是:(MaxProcessMemory – JVMMemory – ReservedOsMemory) / (ThreadStackSize) = Number of threadsMaxProcessMemory:进程最大寻址空间。JVMMMEMORY:jvm的内存空间(堆+永久区)-Xmx大小 (应该是实际分配大小)ReservedOsMemory:操作系统预留内存ThreadStackSize:-Xss大小。
=========================== ...
原博客地址: http://doc.okbase.net/zzone/archive/121301.html
Linux 查看端口命令
lsof -i:端口号
服务器是linux,我们远程在window系统上监控
使用JMX方式
[root@bspdev jdk1.7.0_09]# cd $JAVA_HOME/jre/lib/management
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常 ...
(转)Java线程:概念与原理
- 博客分类:
- java基础篇
原博客地址: http://www.cnblogs.com/riskyer/p/3263032.html
一、操作系统中线程和进程的概念
现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。
进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。
线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,进程中的多个线程共享进程的内存。
一 ArrayList
1. arraylist里面是通过数组实现的
[java] view plaincopy
Oracle事务原理探究2--读书笔记五
- 博客分类:
- Oracle
续上篇...
3. 数据块访问与undo
任何时候当会话查看一个数据块的时候,都需要保证看到的是适当的数据版本。从外部观点来看,这意味着会话不应该看到任何未提交的数据,或许还不应该看到查询开始后修改并提交的数据(取决于事务的隔离级别),这称为数据的读一致性版本。
下面我们来谈谈oracle怎么实现读一致性版本的:
3.1 设置场景
我们会创建一张表,里面插入3条数据,然后开几个会话对其进行操作
3.1.1 连接oracle,以任何一个用户登录即可,初始化一些格式
[sql]
1. 冲突解决
假如有一个系统只有你和我两个用户,并且我们都在持续对系统中一小部分数据做修改和查询操作。
如果你正在数据库中做一批修改操作,而我正在做查询,我一定不能看到你所做的修改,直到你告诉我可以看到你所做的所有更改才行(你提交了事务)。因此在oracle内部,必须有一个高效的办法来识别哪些数据我可以看到,哪些数据我不可以看到。
从相反的角度来看,在你提交事务的时候,你需要一种高效的机制让其他所有人能够看到事务已经提交(也就是要告诉别人你所有修改过的数据都是可见的了)。更极端一点的情况是,你可能需要决定回滚事务,这样的话,你也需要一种高效的 ...
一. 概述
undo 保存的是旧数据。比如,你修改了一条记录将A列abc修改为def,那么undo里面保存的就是abc。目的有两个:1. 如果你的事务没有提交,但是已经将A列修改,那么别人读取这条数据的时候,不应该能够看到你修 ...
一. 概述
我们知道,在oracle中,每修改一条数据都会生成一条重做数据(也就是redo,里面记录了修改后的内容)。目的就是为了将修改的数据备份,方便今后重做。现在有一个问题。oracle中只要修改数据,都会生成red ...
原博客地址: http://blog.csdn.net/dba_waterbin/article/details/7820858
在传统的undo管理模式中,oracle对undo和data block是一视同仁。这样大致会有三种弊端:
1)事务开始时,存放事务表的段头不在内存,server process需要将此i/o上来
...
在事务中有四个通用的原则是所有数据库都必须遵守的,简称ACID原则,下面简单概述一下oracle是怎样实现这四个原则的。
一. 原子性(Atomicity):一个事务要么全部执行,要么全部都不执行
在oracle中,当我们做一次变更的时候,系统会自动创建一条undo记录来描述怎样撤销这次变更。也就是说,当执行到一个事务的中间时,如果有其他用户想访问我们更改过的数据,他必须使用undo记录来查看变更前的旧数据,即只有当我们提交这个事务后,所做的更改才能被他人看到。这样就可以确保,其他用户要么能看到我们所做的更改,要么什么更改都看不到。另外一种情况,如 ...
在oracle中我们做一些更新操作,oracle底层是怎么流转的呢,就是这篇文章要讲解的。
一. 原理
假设我们在一个已经更新了很多条分散记录的OLTP系统中,更新了一行数据。那么这个更新的真实步骤如下:
1. 创建一个重做改变向量,描述如何往undo块插入一条undo记录(也就是描述undo块的改变)
2. 创建一个重做改变向量,描述数据块的改变(也就是数据的改变)
3. 合并这两个重做改变向量为一条日志记录,并写到重做日志缓冲区(便于今后重做)
4. 向undo块插入undo记录(便于 ...
原博客地址:http://blog.csdn.net/hw_libo/article/details/6881457
方法一:如果是sys或system用户或是有dba权限的用户,可以直接查询v$mystat即可得到SQL> select sid from v$mystat where rownum=1; SID---------- 143然后再查询v$sessionSQL> select sid,serial#,username,process from v$session where sid=143; SID SERIAL# ...