日志分类:数据库

数据写过程中各项触发条件及逻辑(转)

2008-04-15,星期二 | 分类:数据库 | 78 views

如大家所知,用户提交的数据并非直接写入数据文件,这中间有一个复杂的处理过程,如下图所示:大致描述了数据写过程中的处理逻辑

123.jpg

数据写过程的体系结构.jpg

写数据库缓存:
单数据库缓存的写过程看起来很简单,但是其实际过程相当复杂,大家务必要注意。最基本的在写数据库缓存之前,肯定会先涉及到读,比如你要更新一个表的数据,那么它会首先查找你要更新的数据是否已经存在于数据库缓存,如果不存在,就需要先将其从数据文件中读取出来,而这个读取又有可能触发写操作,这个写要分两步:
·第一步是判断数据库缓存中是否还有足够的剩余空间,如果剩余空间不足,则首先按照LRU的规则写一部分脏数据到数据文件中,腾出足够的空闲空间,然后再将要被更新的数据写进来。
·另一步是将更新前的数据写入回滚段,然后再将更新的数据写入数据库缓存。
全文阅读 »

MySQL优化步骤及my.cnf缓存优化

2008-04-14,星期一 | 分类:数据库 | 113 views

1、看机器配置,指三大件:cpu、内存、硬盘
2、看mysql配置参数
3、查系mysql行状态,可以用mysqlreport工具来查看
4、查看mysql的慢查询
依次解决了以上问题之后,再来查找程序方面的问题

my.cnf缓存优化
在 my.cnf 中添加/修改以下选项: 全文阅读 »

Redhat Linux上Oracle如何启用AIO

2008-04-13,星期日 | 分类:数据库, 系统管理 | 68 views

从Oracle9iR2开始支持Linux上的异步IO,但是Oracle9iR2和Oracle10gR1中的AIO模块默认是disable的,如果要启用必须relink一下

cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk async_on
make -f ins_rdbms.mk ioracle

当然,如果要关闭AIO支持,只需要使用async_off选项进行relink即可。在Oracle10gR2中AIO默认已经是开启的了。可以通过ldd或者nm来检查oracle是否已经启用了AIO支持,有输出代表已经启用

/usr/bin/ldd $ORACLE_HOME/bin/oracle | grep libaio
libaio.so.1 => /usr/lib64/libaio.so.1 (0x0000003ca9800000)

/usr/bin/nm $ORACLE_HOME/bin/oracle | grep io_getevent
w io_getevents@@LIBAIO_0.4

全文阅读 »

疯狂的家庭(zz)

2008-04-12,星期六 | 分类:数据库 | 54 views

一个名叫Sid的男人,狂热地爱好拍摄、保存和整理照片。Sid的妻子名叫Debbie,他们有三个儿子Logan、Archie和Chuck。他 有一所很大的房子,同住的有男管家Simon和女仆Pam。我将介绍他的家庭、他的房子和他的爱好:拍摄、收集和炫耀他的照片。
现在,Sid快乐地生活着—家庭、朋友和假期。他不时地拍照。事实上,他总是随身带着相机。他不想错过任何东西。每一个早餐、午餐和晚宴,都会被拍下来。 当孩子们从学校回家,镜头摄入他们对父亲的问候。当孩子们做家庭作业的时候,“卡嚓、卡嚓、卡嚓”,照相机的快门响个不停。棒球赛上,儿子Archie的 每一个投掷都被拍摄下来。学校的舞会上,Chuck的父亲拍下了每一个缓慢的舞步以及在苏打水机器旁的交谈。而他的狗——Sadie则是这个世界上被拍摄 次数最多的狗。
他和他的家庭收藏了数以百万计的照片。一些照片被销毁掉了,一些则经历了改变。Sid有一套神奇的系统来处理这些照片。让我来告诉你一些关于他的家庭、他的房子的事,以及关于他和他的家人如何致力于发展、组织和保护所有这些照片。
Sid用一架特殊的相机拍摄。他的相机每拍摄一次,就同时产生一张照片和一张底片。他从来不用换胶卷(这是一种科幻技术)。照片被贴在房间的墙壁上,而底片则被保存在一个安全的地方。

全文阅读 »

oracle server architeture

2008-04-12,星期六 | 分类:数据库 | 49 views

oracle server architeture

oracle 10.2g em乱码解决

2008-04-12,星期六 | 分类:工作日志, 数据库 | 106 views

问题:em打开乱码,这问题比较普遍

环境:CentOS 5.0 x86_64/Oralce 10.2g

解决:

使用oracle用户登录

emctl stop dbconsole

cd $ORACLE_HOME/jdk/jre/lib

cp font.properties.zh_CN.Redhat font.properties

cd $ORACLE_HOME/jre/1.4.2/lib/

cp font.properties.zh_CN.Redhat font.properties

cd $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs

rm -rf *.gif

emctl start dbconsole

我当时操作的时候折腾了好几遍,硬是不行,后来没有办法,检查 font.properties,最后一行

filename.-misc-zysong18030-medium-r-normal–*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/zh_CN/TrueType/zysong.ttf

再检查自己的系统,奇怪,居然没有 /usr/share/fonts/zh_CN/TrueType/zysong.ttf这个文件,并且中文环境是安装了的,fonts-chinese-3.02-12.el5这个包也装了的,没有办法,只有从测试服务器上拷贝zysong.ttf到目录下,再生新操作一遍上面的步骤,问题解决.测试服务器是Centos 5.1,难道5.0的没有这个文件!怪事…

mysql的sql语法和linux系统调优checklist

2008-03-06,星期四 | 分类:数据库, 系统管理 | 112 views

目前常用的数据库有  Oracle  公司的  Oracle  ,  Microsoft  公司的  SQL Server  ,  IBM  公司的  DB2  和  MySql  公司的  MySql,  而免费的数据库目前只有  MySql  ,当然盗版的不算。

SQL (Structured Query Language) 结构化查询语言是目前一个国际上标准的数据库专用语言。

不过不同的数据库所使用的 SQL 语句都会稍有一些不同,但基本的标准还是会遵循 SQL ,例如:

用 与 SQL Server 的叫做 PL-SQL ,用于 Oracle 的叫做 T-SQL ,它们都是 SQL 的子类,或者说是派生类。用于 MySql 的我还不知道它叫做什么 SQL ,不过个人觉得它反而最接近标准的 SQL 语言,不过,从另一方面来说,它对 SQL 所做的扩展最少。

就我现在的理解 SQL 语言就是用来使用数据库和操作数据用的,不包括操作数据库,那些操作数据库的代码应该叫做命令,如:启动,关闭数据库,设置字符集,设置访问连接用户数 等,这些不属于 SQL 语言,不同的数据库都有自己的命令,这些命令是生产企业制定的。下面,我大概来说一下 SQL 所做的事情创建数据库,创建表,插入、修改、删除数据,

查询数据(最主要的是这个功能,方便数据的储存和查询是人们发明数据库的理由)。

当然,我下面介绍的 SQL 都是用于 MySql 的。

SQL 基础知识 全文阅读 »

linux下oracle10g打开em乱码终极解决方法

2008-02-26,星期二 | 分类:数据库 | 101 views

先看下面这
第一种方法
(也是网络上搜索到的最多的解决方法):

如果已经安装好oracle,
只要用同目录下的font.properties.zh_CN.Redhat8.0
替换font.properties 就可以

替换掉
$ORACLE_HOME/javavm/lib/ojvmfonts/font.properties
$ORACLE_HOME/jre/1.4.2/lib/font.properties
$ORACLE_HOME/jdk/jre/lib/font.properties

全文阅读 »

Oracle® Database Quick Installation Guide

2008-02-26,星期二 | 分类:数据库 | 73 views

Skip Headers

Oracle® Database Quick Installation Guide
10g Release 1 (10.1.0.3) for Linux x86
Part No. B15521-01

Oracle® Database

Quick Installation Guide

10g Release 1 (10.1.0.3) for Linux x86

Part No. B15521-01

October 2004



Oracle Database Quick Installation Guide, 10g Release 1 (10.1.0.3) for Linux x86 全文阅读 »

Red hat enterprise linux 4 环境下Oracle10g的安装图解

2008-02-23,星期六 | 分类:数据库 | 74 views

一、安装前的准备工作
1、下载oracle_database_10.2.0.1.0 for linux 安装程序:
下载地址:http://202.197.127.197/libweb/down.asp(注意安装文件的版本号)
2、解压软件:
将ORACLE安装压缩包解压,得到oracle_database_10.2.0.1.0.目录
3、设置核心参数:
在/etc/sysctl.conf文件中加入下列行:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128 全文阅读 »

Pages: Prev 1 2 3