<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="css/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Chen Sheng - 数据库与项目应用</title><link>http://chensheng.net/</link><description>chensheng.net  - </description><generator>RainbowSoft Studio Z-Blog 1.8 Arwen Build 81206</generator><language>zh-CN</language><copyright>Copyright 2000-2008 @ chensheng.net.(qq:99479) All Rights Reserved.浙ICP备09092413号 </copyright><pubDate>Tue, 07 Sep 2010 21:17:57 +0800</pubDate><item><title>sqlplus 使用摘录</title><author>crazycs@163.com (cs)</author><link>http://chensheng.net/post/20.html</link><pubDate>Tue, 14 Apr 2009 13:23:19 +0800</pubDate><guid>http://chensheng.net/post/20.html</guid><description><![CDATA[<p>当sql语句中有&amp;(and)符号时，直接执行sql语句是不行的，如select 'a&amp;' from dual,这时在sqlplus &gt;set def off 即可</p>]]></description><category>数据库与项目应用</category><comments>http://chensheng.net/post/20.html#comment</comments><wfw:comment>http://chensheng.net/</wfw:comment><wfw:commentRss>http://chensheng.net/feed.asp?cmt=20</wfw:commentRss><trackback:ping>http://chensheng.net/cmd.asp?act=tb&amp;id=20&amp;key=e9ab2c82</trackback:ping></item><item><title>subversion服务器使用笔记</title><author>crazycs@163.com (cs)</author><link>http://chensheng.net/post/17.html</link><pubDate>Tue, 24 Mar 2009 12:40:53 +0800</pubDate><guid>http://chensheng.net/post/17.html</guid><description><![CDATA[<p><br />原来一直主要用sourcesafe，其实蛮好用的。只是这个东东天生缺陷大，要么用共享文件夹---极为不爽，要么就得用http--速度极慢，不知是不是我们项目太大---，而且还占用一个网站。<br />于是弄一个subversion 服务器，我原来都是在本机使用subversion没怎么关注用户与权限控制。<br />这里是subversion服务器安装管理笔记,btw svnbook.pdf 实在够厚，400多页，不容易读通。</p><p>要使用subversion最少需要二个软件</p><ul>    <li>TortoiseSVN&nbsp; 我最新下载的是TortoiseSVN-1.5.8.15348-win32-svn-1.5.5.msi，不过又好象出1.6了 这是客户端软件，同时还可以管理</li>    <li>服务器端我用的是CollabNetSubversion-server-1.5.6-2.win32.exe</li></ul><p>安装其实很简单：<br />首先安装CollabNetSubversion-server-1.5.6-2.win32.exe<br />1）要注意几点，你需要设置好你的svn仓库目录，如d:\data\svn_repository，端口默认3690<br />2)一般而言，你可以不安装apache，这东东对于我来说，还用不上，也不愿意用(http访问速度慢），干脆就不用装了</p><p>安装完成后，你到windows服务管理中可以找到subversion服务，启动他，你可以看到他的命令行可能如下：<br />&quot;d:\soft\CollabNetSubversionServer\svnserve.exe&quot; --service -r &quot;d:\data\svn_repository&quot; --listen-port &quot;3690&quot;</p><p>3)安装好TortoiseSVN。</p><p><b>4）下面是我的使用惯例</b></p><p>a）打开d:\data\svn_repository<br />b)建立一个目录，如&ldquo;某某项目&ldquo;，这里我们用代号&quot;project_a&quot;，当然目录可以是中文名也可以是英文名。<br />建立一个目录，如&rdquo;某工程&ldquo;，这里我们用代号&ldquo;prj_b&quot;</p><p>到目录 d:\data\svn_repository\project_a ，点右键，使用 TortoiseSVN 的&ldquo;create repository here&quot;<br />到目录 d:\data\svn_repository\某工程&nbsp; 点右键，使用 TortoiseSVN 的&ldquo;create repository here&quot;</p><p>这样我们就已经创建了二个项目</p><p>用<br />svn://localhost/project_a （或svn://ip地址/project_a）及 svn://localhost/某工程 你就会发现已经有二个svn可以管理的仓库了。<br />当然你可以试一个 svn://localhost/ 你就会发现提示&ldquo;No repository found in ...&quot;</p><p><br />c)在目录d:\data\svn_repository 创建一个passwd<br />内容为<br />[users]<br />usera=passwd-a<br />userb=passwd-b<br />d)在目录d:\data\svn_repository创建文件：svnserve.conf<br />内容为</p><p>[general]<br />anon-access =none <br />auth-access = write<br />password-db = ../../passwd<br />authz-db = authz</p><p>并将其分别复制到<br />d:\data\svn_repository\某工程\conf 及d:\data\svn_repository\project_a\conf 目录（覆盖文件）</p><p>e)修改d:\data\svn_repository\project_a\conf\authz 文件<br />内容<br />[/]<br />usera=rw<br />*=<br />f)修改d:\data\svn_repository\某工程\conf\authz 文件<br />内容<br />[/]<br />userb=rw<br />*=</p><p>这样你就会发现<br />usera只能读写 project_a<br />而userb只能读写&quot;某工程&ldquo;</p><p><b>总结：</b><br />这样做的目的<br />1）必须要有密码与用户名才可以读写<br />2）所有项目的用户与密码都由同一个文件管理<br />3）不同的项目及目录都可以设置不同的用户及相应的权限</p>]]></description><category>数据库与项目应用</category><comments>http://chensheng.net/post/17.html#comment</comments><wfw:comment>http://chensheng.net/</wfw:comment><wfw:commentRss>http://chensheng.net/feed.asp?cmt=17</wfw:commentRss><trackback:ping>http://chensheng.net/cmd.asp?act=tb&amp;id=17&amp;key=bb3e9a62</trackback:ping></item><item><title>利用centos 安装文件(iso)升级到新版本</title><author>crazycs@163.com (cs)</author><link>http://chensheng.net/post/update_centos_4_4_to_4_6.html</link><pubDate>Mon, 12 May 2008 14:03:30 +0800</pubDate><guid>http://chensheng.net/post/update_centos_4_4_to_4_6.html</guid><description><![CDATA[<p>利用CentOS的DVD安装文件本地更新现有的Centos，速度非常快。</p><p>1 将CentOS-4.6-x86_64-binDVD.iso 下载到一个目录<br />(因为有多台机器需要升级，可以采用nfs)<br />2 mkdir /mnt/iso<br />3 mount -t iso9660 -o loop CentOS-4.6-x86_64-binDVD.iso /mnt/iso<br />4 修改/etc/yum.repos.d/CentOS-Base.repo<br />将所有mirrorlist改成baseurl=file:///mnt/iso/<br />5 将gpgcheck=1 改成gpgcheck=0<br />6 yum remove srptools<br />(上面那步解决：Error: Missing Dependency: kernel-ib is needed by package srptools）<br />7 yum upgrade</p><p><br />8 一路选择yes<br />9 最后# cat /etc/redhat-release<br />&gt;CentOS release 4.6 (Final)<br />&nbsp;</p><p>初步升级完成</p><p>&nbsp;</p>]]></description><category>数据库与项目应用</category><comments>http://chensheng.net/post/update_centos_4_4_to_4_6.html#comment</comments><wfw:comment>http://chensheng.net/</wfw:comment><wfw:commentRss>http://chensheng.net/feed.asp?cmt=16</wfw:commentRss><trackback:ping>http://chensheng.net/cmd.asp?act=tb&amp;id=16&amp;key=246a8ffd</trackback:ping></item><item><title>SQLite的原子提交原理</title><author>crazycs@163.com (cs)</author><link>http://chensheng.net/post/15.html</link><pubDate>Tue, 29 Jan 2008 13:04:11 +0800</pubDate><guid>http://chensheng.net/post/15.html</guid><description><![CDATA[<p>本文描述了</p><p>详情参见：<a href="http://chensheng.net/p/sqlite/auto_commit_zh_cn.html">SQLite的原子提交原理</a></p><p>&nbsp;</p>]]></description><category>数据库与项目应用</category><comments>http://chensheng.net/post/15.html#comment</comments><wfw:comment>http://chensheng.net/</wfw:comment><wfw:commentRss>http://chensheng.net/feed.asp?cmt=15</wfw:commentRss><trackback:ping>http://chensheng.net/cmd.asp?act=tb&amp;id=15&amp;key=f8c48ae2</trackback:ping></item><item><title>linux 与 磁盘阵列 折腾笔记</title><author>crazycs@163.com (cs)</author><link>http://chensheng.net/post/11.html</link><pubDate>Tue, 31 Jul 2007 12:27:33 +0800</pubDate><guid>http://chensheng.net/post/11.html</guid><description><![CDATA[<p>上周数据导了12小时.</p><p>上上周一直在折腾一个旧磁盘阵列.</p><p>在RedHat AS4.0 上面倒是轻松就可以找到这个阵列.只是开始的时候出了点麻烦.</p><p>我为这个阵列的每个通道都映射了二个分区.折腾许久之后,发现安装的Linux只认识一个分区.</p><p>打电话问磁盘阵列厂家的技术人员,没有什么结果,显然,他没遇上这样的事情.</p><p>最后自己找到了解决办法:</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>然后reboot就ok了.</p><p>&nbsp;</p><p>最后用: fdisk -l</p><p>Disk /dev/sda: 1689.5 GB, 1689549537280 bytes<br />Disk /dev/sdb: 1830.3 GB, 1830348128256 bytes<br />Disk /dev/sdc: 1689.5 GB, 1689549537280 bytes<br />Disk /dev/sdd: 1830.3 GB, 1830348128256 bytes</p><p><br />显然 sda与sdc是重复的,sdb与sdd 是重复的.这我不知道如何处理了,在windows 2003中也显示有四个磁盘.不管他了.</p><p>最后在我把这个东东折腾好之后,竟然在redhat的网站上找到了相关资料,晕.谁让我对linux投入太少.顺便把url记一</p><p>&nbsp;如何使红帽企业Linux4支持多LUN?</p><p><a href="http://www.redhat.com.cn/kbase/5583.php">http://www.redhat.com.cn/kbase/5583.php</a></p><p>&nbsp;</p><p>最后要讲一下的是我折腾XManager的事情.其实把Xmanager用起来不麻烦.麻烦的是我在.bash_profile</p><p>设置了 DISPLAY=a.b.c.d:0</p><p>这一个设置害得我花了太多时间,对于XManager来说,完全是画蛇添足.</p><p>&nbsp;</p><p>&nbsp;</p><p>1.[root@hot158 ~]# uname -a</p><p>&nbsp;</p><p>Linux hot158 2.6.9-42.ELsmp #1 SMP Tue Aug 15 10:35:26 BST 2006 x86_64 x86_64 x86_64 GNU/Linux</p><p>2.[root@hot158 ~]# cp /boot/initrd-2.6.9-42.ELsmp.img /boot/initrd-2.6.9-42.ELsmp.old</p><p>3.添加以下内容到/etc/modprobe.conf</p><p>options scsi_mod max_luns=xxx</p><p>(xxx是scsi_mod需要支持LUN的数目，如255)</p><p>4. 为了使修改有效，创建启动内存磁盘</p><p>mkinitrd -f /boot/initrd-2.6.9-42.ELsmp.img&nbsp; 2.6.9-42.ELsmp</p><p>&nbsp;</p><p>&nbsp;-=========================</p><p>Xmanager:<br /><font size="2">1. /etc/X11/xdm/Xaccess 文件，去掉这行的注释。 <br /># * #any host can get a login windows&quot; <br />2. </font></p><p>#vi /etc/X11/xdm/xdm-config</p><p>在最后一行： DisplayManager.requestPort: 0 前面加！号注释掉此行。</p><p>#vi /etc/X11/xdm/Xservers</p><p>在最后一行：:0 local /usr/X11R6/bin/X 前面加#号注释掉这一行。 <br />3. /etc/X11/gdm/gdm.conf文件，<br />[xdmcp]部分，把enable 改为 true <br />4. /etc/kde/kdm/kdmrc文件，<br />[Xdmcp]部分，把enable 改为 true <br />5. /etc/inittab 修改运行级别为5 (X11) ，如果为3的话，你看到的将不是桌面，而是命令行窗口。 <br />6. 防火墙 增加177端口<br />7. reboot</p><p><font size="2">如果想要每次启动自动启动xdm，那么请在/etc/rc.d/rc.local文件尾部加入/etc/X11R6/bin/xdm </font></p>]]></description><category>数据库与项目应用</category><comments>http://chensheng.net/post/11.html#comment</comments><wfw:comment>http://chensheng.net/</wfw:comment><wfw:commentRss>http://chensheng.net/feed.asp?cmt=11</wfw:commentRss><trackback:ping>http://chensheng.net/cmd.asp?act=tb&amp;id=11&amp;key=50ad3440</trackback:ping></item><item><title>oracle 位操作函数</title><author>crazycs@163.com (cs)</author><link>http://chensheng.net/post/8.html</link><pubDate>Mon, 18 Jun 2007 11:25:43 +0800</pubDate><guid>http://chensheng.net/post/8.html</guid><description><![CDATA[<p>其实位操作对于oracle数据类型来说,有些格格不入.故oracle本来就没有提供位操作符.</p><span class="Code"><br/><p>create function bitor(p_dec1 number, p_dec2 number) return number is<br />begin<br />&nbsp; return p_dec1-bitand(p_dec1,p_dec2)+p_dec2;<br />end;</p><p>&nbsp;</p><p><br /><span style="FONT-WEIGHT: bold"><em>create function bitxor(p_dec1 number, p_dec2 number) return number is<br />begin<br />&nbsp; return bitor(p_dec1,p_dec2)-bitand(p_dec1,p_dec2);<br />&nbsp; -- or you could use: return p_dec1-2*bitand(p_dec1,p_dec2)+p_dec2;<br />end;</em></span><br/></p><p><span style="FONT-WEIGHT: bold"></span>&nbsp;</p></span><br/><span><br /></span>]]></description><category>数据库与项目应用</category><comments>http://chensheng.net/post/8.html#comment</comments><wfw:comment>http://chensheng.net/</wfw:comment><wfw:commentRss>http://chensheng.net/feed.asp?cmt=8</wfw:commentRss><trackback:ping>http://chensheng.net/cmd.asp?act=tb&amp;id=8&amp;key=8ef6d867</trackback:ping></item><item><title>oracle 笔记</title><author>crazycs@163.com (cs)</author><link>http://chensheng.net/post/7.html</link><pubDate>Tue, 05 Jun 2007 11:39:41 +0800</pubDate><guid>http://chensheng.net/post/7.html</guid><description><![CDATA[<p><span class="javascript" id="text4799695" style="font-size: 12px"><font face="Verdana"><hr /><h3><span class="javascript" id="text4799695" style="font-size: 12px"><font face="Verdana">关于sqlplus的配置</font></span></h3><h3><span class="javascript" style="font-size: 12px">1)where sqlplus</span></h3><h3><span class="javascript" style="font-size: 12px"><span class="Code"><span class="javascript" style="font-size: 12px">&gt;e:\oracle\ora81\bin\SQLPLUS.EXE</span></span></span></h3><h3><span class="javascript" style="font-size: 12px">2)编辑e:\oracle\ora81\sqlplus\glogin.sql</span></h3><span class="javascript" style="font-size: 12px"><span class="Code"><h3><span class="javascript" style="font-size: 12px"><span style="font-weight: bold"><span class="javascript" style="font-size: 12px"><span class="Code"><h3><span class="javascript" style="font-size: 12px">将要保存的选项，如</span></h3><p><span class="javascript" style="font-size: 12px">set serveroutput on size 1000000</span></p><p><span class="javascript" style="font-size: 12px">增加到文件尾。不用担心写错了，如果写错了，在打开sqlplus之后，有提示的。</span></p></span></span></span></span></h3></span></span><h3>&nbsp;</h3><h3>&nbsp;在sqlplus中输入show all显示所有设置。</h3><p>&nbsp;</p><h3>&nbsp;</h3><p>&nbsp;</p><h3>flash_recovery_area</h3><p>今天那狂建了无数个表。结果数据库又出错了。</p><p>sqlplus system as sysdba</p><p>select * from v$log;</p><p>发现所有日志都&quot;no&quot;</p><p>select * from v$recovery_file_dest;</p><p>发现用完了。</p><p>ok。</p><p>alter system set DB_RECOVERY_FILE_DEST_SIZE=40G;</p><p>得自动设定自备份，删除归档日志。</p><p><a href="http://www.itpub.net/466189.html">http://www.itpub.net/466189.html</a></p><p><font face="Verdana">8i、9i、10g中更改数据库到归档模式</font></p><p><font face="verdana, arial, helvetica" size="2"><span class="javascript" id="text3361928" style="font-size: 12px">1）8i<br />SVRMGR&gt; connect internal/oracle@dzdb<br />连接成功。<br />SVRMGR&gt; startup mount pfile='D:\oracle\admin\cbsdb\pfile\init.ora'<br />已启动 ORACLE 实例。<br />系统全局区域合计有 44873676个字节<br />Fixed Size 65484个字节<br />Variable Size 20103168个字节<br />Database Buffers 24631296个字节<br />Redo Buffers 73728个字节<br />已装入数据库。<br />(注：startup mount <br />pfile='D:\oracle\admin\cbsdb\pfile\init.ora是因为本机有多个数据库，不指定pfile，mount时，报ora-01102错误)<br />SVRMGR&gt; alter database archivelog;<br />语句已处理。<br />SVRMGR&gt; archive log start;<br />语句已处理。<br />SVRMGR&gt; alter database open;<br />语句已处理。<br />SVRMGR&gt; shutdown<br />已关闭数据库。<br />已卸下数据库。<br />已关闭 ORACLE 实例。<br />修改数据库参数文件D:\Oracle\admin\cbsdb\pfile\init.ora，<br />取消以下语句的#注释<br />log_archive_start = true<br />log_archive_dest_1 = &quot;location=D:\Oracle\oradata\cbsdb\archive&quot;<br />log_archive_format = %%ORACLE_SID%%T%TS%S.ARC<br />SVRMGR&gt; startup pfile='D:\oracle\admin\cbsdb\pfile\init.ora'<br />已启动 ORACLE 实例。<br />系统全局区域合计有 44873676个字节<br />Fixed Size 65484个字节<br />Variable Size 20103168个字节<br />Database Buffers 24631296个字节<br />Redo Buffers 73728个字节<br />已装入数据库。<br />已打开数据库。<br />SVRMGR&gt; archive log list<br />数据库记录模式 存档模式<br />自动存档 已启用<br />存档路径 d:\Oracle\oradata\cbsdb\archive<br />最旧的联机日志顺序 1247<br />要存档的下一个记录顺序 1250<br />当前记录顺序 1250<br /><br /><br />2）9i<br />SQL&gt; archive log list<br />数据库日志模式 非存档模式<br />自动存档 禁用<br />存档终点 F:\oracle\ora92\RDBMS<br />最早的概要日志序列 114<br />当前日志序列 116<br />SQL&gt; alter system set log_archive_dest='F:\oracle\oradata\arch' <br />scope=spfile;<br /><br />系统已更改。<br /><br />SQL&gt; alter system set log_archive_start=true scope=spfile;<br /><br />系统已更改。<br /><br />SQL&gt; shutdown<br />数据库已经关闭。<br />已经卸载数据库。<br />ORACLE 例程已经关闭。<br />SQL&gt; startup mount<br />ORACLE 例程已经启动。<br /><br />Total System Global Area 386997388 bytes<br />Fixed Size 453772 bytes<br />Variable Size 167772160 bytes<br />Database Buffers 218103808 bytes<br />Redo Buffers 667648 bytes<br />数据库装载完毕。<br />SQL&gt; alter database archivelog;<br /><br />数据库已更改。<br /><br />SQL&gt; alter database open;<br /><br />数据库已更改。<br /><br />SQL&gt; archive log list<br />数据库日志模式 存档模式<br />自动存档 启用<br />存档终点 F:\oracle\oradata\arch<br />最早的概要日志序列 114<br />下一个存档日志序列 116<br />当前日志序列 116<br /><br /><br />3)10g<br />对于初始化文件,只需要修改log_archive_dest_n 这个参数.<br />log_archive_dest_1=&quot;location=D:\oracle\product\10.1.0\oradata\archive&quot;<br /><br />SQL&gt; archive log list<br />数据库日志模式 非存档模式<br />自动存档 禁用<br />存档终点 D:\oracle\product\10.1.0\db_1\RDBMS<br />最早的联机日志序列 127<br />当前日志序列 129<br />SQL&gt; shutdown<br />数据库已经关闭。<br />已经卸载数据库。<br />ORACLE 例程已经关闭。<br />SQL&gt; startup mount pfile='D:\oracle\product\10.1.0\admin\cbsdb\pfile\init.ora'<br />ORACLE 例程已经启动。<br /><br />Total System Global Area 134217728 bytes<br />Fixed Size 787808 bytes<br />Variable Size 49281696 bytes<br />Database Buffers 83886080 bytes<br />Redo Buffers 262144 bytes<br />数据库装载完毕。<br />SQL&gt; alter database archivelog;<br /><br />数据库已更改。<br /><br />SQL&gt; alter database open;<br /><br />数据库已更改。<br /><br />SQL&gt; archive log list<br />数据库日志模式 存档模式<br />自动存档 启用<br />存档终点 D:\oracle\product\10.1.0\oradata\archive<br />最早的联机日志序列 127<br />下一个存档日志序列 129<br />当前日志序列 129</span></font></p><p><span class="javascript" style="font-size: 12px"><font face="Verdana"><strong>oracle 回收站：</strong></font></span></p><p><span class="javascript" style="font-size: 12px"><font face="Verdana">session级别: <br />ALTER SESSION SET recyclebin = OFF;<br />instance级别:<br />ALTER SYSTEM SET recyclebin = OFF;</font></span><span class="javascript" style="font-size: 12px"><font face="Verdana"><p><span style="font-size: large"><span style=""><b>ora-01113</b></span></span></p><p>ora-01113:文件19需要介质恢复<br />ora-01110:数据文件19：'/oracle/oradate/hot1/news01.dbf&lsquo; <br />&nbsp;</p><p><p>给发了三条命令让执行：</p><p><strong>startup mount;<br />recover datafile filename;<br />alter database open;<br /> or recover   automatic<br />recover database</strong></p><p>&nbsp;</p></p><p>&nbsp;</p></font></span></p></font></span></p><p>&nbsp;</p>]]></description><category>数据库与项目应用</category><comments>http://chensheng.net/post/7.html#comment</comments><wfw:comment>http://chensheng.net/</wfw:comment><wfw:commentRss>http://chensheng.net/feed.asp?cmt=7</wfw:commentRss><trackback:ping>http://chensheng.net/cmd.asp?act=tb&amp;id=7&amp;key=2d8f4062</trackback:ping></item><item><title>PostgreSQL编码tips</title><author>crazycs@163.com (cs)</author><link>http://chensheng.net/post/5.html</link><pubDate>Fri, 01 Jun 2007 13:13:21 +0800</pubDate><guid>http://chensheng.net/post/5.html</guid><description><![CDATA[<p>今天折腾用vc6联接postgre sql 8.2。为了简化起见，不直接使用libpq&nbsp; c api来开发。</p><p>我首先试用了oledb 驱动，问题多多</p><p>立即换成使用odbc。</p><p>初步工作正常：</p><p>针对int/bigint/vchar/timespam&nbsp;的读写都正常。</p><p>针对bytea类型时出错。</p><p>经过琢磨，找出了解决办法</p><p>1）打开odbc源配置器，在选项--DataSource，第二页，选中：bytea as LO 。这是因为LO类型已经被抛弃了。</p><p>作出如上修改之后，如果数据长度小于8002则一切正常，如果大于8002则又会出现一个错误：</p><p><font style="BACKGROUND-COLOR: #ff0000" color="#ffffff">WARNING:&nbsp; nonstandard use of \\ in a string literal at character</font></p><p>出现这个警告的原因是，新版本的postgre已经使用<font color="#0000ff" size="4">E</font>来escape 字符，而odbc驱动程序还是采用<font color="#0000ff" size="4">\</font>，我不知道如何修改。</p><p>只好打开服务器的</p><p>postgresql.conf</p><p>增加配置：</p><p><span class="Code">escape_string_warning = off</span></p><p><span class="Code"><font color="#000000">backslash_quote=on</font></span></p><p>这样，则使用ado 调用getchunk /appendchun都一切正常。</p><p>&nbsp;</p><p>&nbsp;</p>]]></description><category>数据库与项目应用</category><comments>http://chensheng.net/post/5.html#comment</comments><wfw:comment>http://chensheng.net/</wfw:comment><wfw:commentRss>http://chensheng.net/feed.asp?cmt=5</wfw:commentRss><trackback:ping>http://chensheng.net/cmd.asp?act=tb&amp;id=5&amp;key=56891f8b</trackback:ping></item><item><title>Mysql与Postgresql数据性能比较 （转）</title><author>crazycs@163.com (cs)</author><link>http://chensheng.net/post/mysql_vs_postgre.html</link><pubDate>Thu, 31 May 2007 14:20:40 +0800</pubDate><guid>http://chensheng.net/post/mysql_vs_postgre.html</guid><description><![CDATA[<font style="FONT-SIZE: 14pt" color="#295200"><strong>Mysql与Postgresql数据性能比较</strong></font><table style="BORDER-COLLAPSE: collapse" bordercolor="#a5bd6b" cellspacing="1" cellpadding="0" width="100%" border="1">    <tbody>        <tr>            <td >            <table style="BORDER-COLLAPSE: collapse; WORD-WRAP: break-word" cellspacing="0" cellpadding="0" width="100%" border="0">                <tbody>                    <tr>                        <td>                        <table style="BORDER-COLLAPSE: collapse; WORD-WRAP: break-word" cellspacing="0" cellpadding="0" width="100%" border="0">                            <tbody>                                <tr>                                    <td>                                    <div id="art" style="MARGIN: 15px"><span style="FONT-SIZE: 13px">数据量今后会很大/你无法预测 数据量会多大，建议换postgresql.<br />                                    <br />                                    mysql 在一定量数据后(一般观点是 mysql 单表 200-300万 时性能最好，数据再多性能就开始下降)，性能下降很快，且大数据量情况下，mysql 稳定性/数据可靠性是问题。<br />                                    <br />                                    postgresql 8.2 的官方说明如下：<br />                                    <br />                                    <a target="_blank" href="http://www.postgresql.org/about/">http://www.postgresql.org/about/</a><br />                                    <br />                                    <div class="smalltxt" style="FONT-WEIGHT: bold; MARGIN-LEFT: 2em">QUOTE:</div>                                    <div class="altbg2" style="BORDER-RIGHT: rgb(105,140,195) 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: rgb(105,140,195) 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: 3px 2em 2em; BORDER-LEFT: rgb(105,140,195) 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: rgb(105,140,195) 1px solid">Limit Value <br />                                    Maximum Database Size Unlimited <br />                                    Maximum Table Size 32 TB <br />                                    Maximum Row Size 1.6 TB <br />                                    Maximum Field Size 1 GB <br />                                    Maximum Rows per Table Unlimited <br />                                    Maximum Columns per Table 250 - 1600 depending on column types <br />                                    Maximum Indexes per Table Unlimited </div>                                    mysql 目前只是适合 跑 web 应用，对于海量数据存储、数据仓库 不合适。<br />                                    <br />                                    postgresql 在国内早有人做大型商业应用。<br />                                    <br />                                    <div class="smalltxt" style="FONT-WEIGHT: bold; MARGIN-LEFT: 2em">QUOTE:</div>                                    <div class="altbg2" style="BORDER-RIGHT: rgb(105,140,195) 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: rgb(105,140,195) 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: 3px 2em 2em; BORDER-LEFT: rgb(105,140,195) 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: rgb(105,140,195) 1px solid">对于大型应用，PostgreSQL 还是合适的。以下是PostgreSQL 中文官方手册维护者 何伟平 laser 对于一个 大型应用 的回复：<br />                                    <br />                                    <div class="smalltxt" style="FONT-WEIGHT: bold; MARGIN-LEFT: 2em">QUOTE:</div>                                    <div class="altbg2" style="BORDER-RIGHT: rgb(105,140,195) 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: rgb(105,140,195) 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: 3px 2em 2em; BORDER-LEFT: rgb(105,140,195) 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: rgb(105,140,195) 1px solid">怎么说呢，实际上，我现在手头就有一个庞大的数据库，<br />                                    数据＋索引已经超过500G了，数据总量超过30亿行数据，<br />                                    每天会忙12小时左右。<br />                                    <br />                                    基本上，我觉得，首先：<br />                                    检查你的IO投资，不要在硬盘上吝啬。<br />                                    第二，仔细分析自己的瓶颈是什么，<br />                                    很多事后，我们并不一定需要database replicate。<br />                                    第三，适当使用数据的切割。<br />                                    <br />                                    简单归结一句话：<br />                                    适当的硬件投资和规划加上合适的软件结构。<br />                                    具体的事情需要具体分析。<br />                                    <br />                                    介绍一下我们那个500G的大库：<br />                                    单机HP DL385，16G内存和6块SCSI磁盘，20块SATA磁盘盘阵，<br />                                    盘阵是HP DL320S，（MSA1500），相当便宜。<br />                                    我们的构造是SCSI是RAID5，跑XFS，SATA，RAID5，跑EXT3，<br />                                    目前，性能非常满意（我们的角度），有些update语句，一次<br />                                    会更新几百万行数据，那么我们有些程序，一天要更新几十次，<br />                                    基本上也可以在1000s之内完成。每天vacuum一次，在低负载的<br />                                    时段，大概需要120min~200min，用slony做数据的备份，备份<br />                                    到一台大硬盘的IDE机器上（1.5T硬盘，别惊讶，现在750G硬盘<br />                                    才3500块钱。）。<br />                                    这台机器是数据挖掘的，并发数不多，所以我们没有做负载方面<br />                                    的均衡。<br />                                    <br />                                    有问题可以继续讨论。</div>                                    </div>                                    测试,mysql vs postgresql<br />                                    <br />                                    <div class="smalltxt" style="FONT-WEIGHT: bold; MARGIN-LEFT: 2em">QUOTE:</div>                                    <div class="altbg2" style="BORDER-RIGHT: rgb(105,140,195) 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: rgb(105,140,195) 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: 3px 2em 2em; BORDER-LEFT: rgb(105,140,195) 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: rgb(105,140,195) 1px solid">Mysql 不适应 大量数据，密集运算，重型负载应用。<br />                                    <br />                                    至少在目前，开源数据库的质量还不能与商业数据抗衡。<br />                                    <br />                                    在 2006-11-29 有个国外第3方服务器机构(Tweakers.net)做的 Mysql 4.1.20 ,Mysql 5.1.20a 与 PostgreSQL 8.2 的对比性能测试(在不同档次配置的机器上运行). 你可以参考.<br />                                    Posted by <a href="mailto:fsluiter@gmail.com">fsluiter@gmail.com</a><br />                                    <br />                                    Tweakers.net, a dutch community of online tweakers, benchmarked their potential new server with PostgreSQL 8.2 vs several versions of MySQL 4.1.20 and MySQL 5.1.20a<br />                                    <br />                                    图文测试统计报告：<br />                                    <a target="_blank" href="http://tweakers.net/reviews/657/6">http://tweakers.net/reviews/657/6</a></div>                                    <br />                                    <br />                                    <div class="smalltxt" style="FONT-WEIGHT: bold; MARGIN-LEFT: 2em">QUOTE:</div>                                    <div class="altbg2" style="BORDER-RIGHT: rgb(105,140,195) 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: rgb(105,140,195) 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: 3px 2em 2em; BORDER-LEFT: rgb(105,140,195) 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: rgb(105,140,195) 1px solid">如果要求更高，推荐使用性能优异的 bizgres 集群。<br />                                    <br />                                    参考:<br />                                    <a target="_blank" href="http://bbs.chinaunix.net/viewthread.php?tid=855849&amp;extra=page%3D1&amp;page=1">http://bbs.chinaunix.net/viewthr ... page%3D1&amp;page=1</a><br />                                    <br />                                    <div class="smalltxt" style="FONT-WEIGHT: bold; MARGIN-LEFT: 2em">QUOTE:</div>                                    <div class="altbg2" style="BORDER-RIGHT: rgb(105,140,195) 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: rgb(105,140,195) 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: 3px 2em 2em; BORDER-LEFT: rgb(105,140,195) 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: rgb(105,140,195) 1px solid">2亿的单表，slect crount(*) from table; 来全表扫描。<br />                                    <br />                                    同配置单主机 硬件: 内存8G，每台机器是两个双核的AMD86.磁盘Raid0+1<br />                                    <br />                                    Oracle 10g用了50秒，postgresql的普通集群用来一分40秒.<br />                                    <br />                                    改用Bizgers 这个 PostgreSQL&nbsp;&nbsp;高性能集群(使用)后，速度是 Oracle 的4倍。<br />                                    <br />                                    <br />                                    mysql超过1亿行慢得和蜗牛一样。</div>                                    </div>                                    </span></div>                                    </td>                                </tr>                            </tbody>                        </table>                        </td>                    </tr>                </tbody>            </table>            </td>        </tr>    </tbody></table>]]></description><category>数据库与项目应用</category><comments>http://chensheng.net/post/mysql_vs_postgre.html#comment</comments><wfw:comment>http://chensheng.net/</wfw:comment><wfw:commentRss>http://chensheng.net/feed.asp?cmt=4</wfw:commentRss><trackback:ping>http://chensheng.net/cmd.asp?act=tb&amp;id=4&amp;key=79947d92</trackback:ping></item><item><title>PostGre应用相关文件</title><author>crazycs@163.com (cs)</author><link>http://chensheng.net/post/postgre_web.html</link><pubDate>Thu, 31 May 2007 13:55:09 +0800</pubDate><guid>http://chensheng.net/post/postgre_web.html</guid><description><![CDATA[<p>postgre 开发应用相关工具网站 </p><p>中文手册：<a href="http://www.pgsqldb.org/pgsqldoc-8.1c/index.html">http://www.pgsqldb.org/pgsqldoc-8.1c/index.html</a></p><p>支撑：</p><p>odbc官方网址：<a href="http://www.postgresql.org/ftp/odbc/versions/">http://www.postgresql.org/ftp/odbc/versions/</a></p><p>oledb：<a href="http://pgfoundry.org/projects/oledb/">http://pgfoundry.org/projects/oledb/</a></p><p>工具：</p><p><a href="http://phppgadmin.sourceforge.net/">http://phppgadmin.sourceforge.net/</a></p><p><a href="http://www.pgadmin.org/download/">http://www.pgadmin.org/download/</a></p><p>&nbsp;本地下载(for windows version)</p><p><a href="http://chensheng.net/postgre">http://chensheng.net/postgre</a></p><p>&nbsp;</p>]]></description><category>数据库与项目应用</category><comments>http://chensheng.net/post/postgre_web.html#comment</comments><wfw:comment>http://chensheng.net/</wfw:comment><wfw:commentRss>http://chensheng.net/feed.asp?cmt=3</wfw:commentRss><trackback:ping>http://chensheng.net/cmd.asp?act=tb&amp;id=3&amp;key=8bca5d14</trackback:ping></item></channel></rss>
