在OEL5.4上安装Oracle 10g R2 x64 RAC的一些记录

1 月 9th, 2010 | Posted by | Filed under 未分类

好早就该写些东西来记录下遇到的一些问题了,有时间就多写几篇。

安装RAC,总是有些诡异的问题和一些注意的地方,这次安装算是全部解决了每个过程的问题,No Errors地执行完全过程,这里就统统列一遍备查。

基本架构还是不变,我一般都用iSCSI+ASM+RAC的方式,主要是为了省VMware磁盘共享的麻烦。

开始是采用FreeNAS,想用ZFS来做iSCSI,实在是不知道FreeNAS的iSCSI怎么那么难配,就是没法Enable Target的。被迫还是用了Openfiler,包很大,其实很多没必要,也懒得精简了。

操作系统为了方便还是用Oracle Enterprise Linux 5.4,ASMlib、OCFS2啥的就免得去下载,源里都有,而且用户、分组、系统参数啥的都设好了,免得自己再去弄,说白了就是懒……

Oracle用的10.2.0.1 x64,本来想试试Oracle 11g R2,一看单节点建议1.5G内存我就崩溃了。虽然我有8G内存,不过跑了N多虚拟机,最多每个节点1G内存,还是来Oracle 10g R2吧~

阅读全文…

标签: , , ,

事务异地并行化执行算法的设想

1 月 9th, 2010 | Posted by | Filed under 未分类

看了Jacky的《一种并行加载的方法》,对事务的并行化处理有了一些理解,结合我曾经的一些想法,设想了一种在异地并行化事务的算法。

场景是:本地库A,实时承受并发读写。异地库B,需要准实时同步A库的数据。异地库B每秒钟去获取本地库A上的事务到本地执行以达到一致性,极少出现回滚。

Redo Log解析这些就不考虑了,最简单的想法,把事务从A发送到B去顺序执行。
但是异地库可能要承担大量的读任务,顺序执行很影响效率,必须考虑并行化处理。

Jacky也提了几种方法,例如操作表不相关的事务可以并行化,操作同一表但不同行的事务也可以并行到多个进程每个进程按事务顺序操作一张表。
其中Merge操作的想法非常帅,但是按行分组那部分我看不怎么懂……我觉得一行最终应该可以规约为一个操作。

阅读全文…

Linux下压缩/解压缩命令

12 月 31st, 2009 | Posted by | Filed under 操作系统

.tar
解包: tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩,适合将很多小文件备份)
———————————————
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
(一般常用的就是这个了)

———————————————
阅读全文…

标签: ,

Oracle的索引类型

12 月 31st, 2009 | Posted by | Filed under 未分类

荣耀属于:Tomas Zhang

逻辑上:

  • Single column 单行索引
  • Concatenated 多行索引
  • Unique 唯一索引
  • NonUnique 非唯一索引
  • Function-based函数索引
  • Domain 域索引

物理上:

  • Partitioned 分区索引
  • NonPartitioned 非分区索引
  • B-tree:
    • Normal 正常型B树
    • Rever Key 反转型B树
    • Bitmap 位图索引

索引结构:

  • B-tree:
    • 适合与大量的增、删、改(OLTP);
    • 不能用包含OR操作符的查询;
    • 适合高基数的列(唯一值多);
    • 典型的树状结构;
    • 每个结点都是数据块;
    • 大多都是物理上一层、两层或三层不定,逻辑上三层;
    • 叶子块数据是排序的,从左向右递增;
    • 在分支块和根块中放的是索引的范围;
  • Bitmap:
    • 适合与决策支持系统;
    • 做UPDATE代价非常高;
    • 非常适合OR操作符的查询;
    • 基数比较少的时候才能建位图索引;

树型结构:

  • 索引头:
    • 开始ROWID,结束ROWID(先列出索引的最大范围);
  • BITMAP:
    • 每一个BIT对应着一个ROWID,它的值是1还是0,如果是1,表示着BIT对应的ROWID有值;

话说程序员的职业生涯

12 月 24th, 2009 | Posted by | Filed under 随笔日记

(本文来自《程序员》杂志0811期)
http://www.programmer.com.cn/1462/

作者:IBM 软件集团大中华区总架构师 寇卫东寇卫东

有一些年轻的程序员向我咨询,将来的路应该怎么走?俗话说,条条大路通罗马。不同的路都能走向成功。到底选哪条路,取决于自己的兴趣。可能有程序员会问:如果还没找到自己的兴趣怎么办?我的建议是多尝试,努力做,这是职业生涯的必经之路。当你积累了一定的技术和经验之后,就会面临多种选择。选择哪条路,因人而异。
阅读全文…