Category Archives: 技术经验帖

技术经验文档

dbresp.pl导致Oracle高负载问题

问题提出: 这几天,根据一个老师反映,在进行某个批量操作的时候,系统非常非常忙,程序经常卡死。 现象: 使用top命令一查,发现上千个进程在运行,cpu利用率非常高。 再使用ps –ef | grep –c oracle一统计,有831个关于oracle的进程,这其中,有大量的perl进程: /opt/oracle/product/10.2.0/db_1/sysman/admin/scripts/db/dbresp.pl 原因: 根据metalink  Doc ID:  764140.1描述:The Response metric is making a timed out then the Agent starts other process to take the Response metric. The process to kill the PID taking the Response metric is failing increasing the process running dbresp.pl。 解决方法: 同样根据根据metalink  Doc ID:  764140.1: To [...]
Posted in 技术经验帖 | Leave a comment

使用虚拟机配置路由器

整理实验室用的机器,发现有一些原来的经验文档,所以贴在博客上。 实验室的路由器被某某原因拿走了,我不想配置windows做路由器,所以弄了一个虚拟机来做一个强大的路由器。 1、安装虚拟机,比如smoothwall-express-3.0-i386可以专门用来做路由器的os,非常强大。 2、在虚拟机中安装操作系统,同时设置双网卡; 3、在虚拟机中的配置双网卡: 外网:ip地址202.114.119.36,mac地址为:00:09:6B:C1:47 配置ip地址命令为: $ ifconfig eth1 202.114.119.36 配置mac地址的命令为: $ ifconfig eth1 down $ ifconfig eth1 hw ether 00096BC147 $ ifconfig eth1 up 内网:ip地址为192.168.1.1,同时可以开启dhcp。ok,大告功成!
Posted in 技术经验帖 | Leave a comment

完全卸载Oracle 9i记事

1.停止Oracle服务 进入服务管理器,“开始-》运行-》services.msc”,停止那些Oracle服务, 他们都具有一个oracle或ora   的前缀。一旦停止了所有的Oracle服务, 我们建议将它们设置为手工启动模式(manual   start   mode)。 2.删除注册表中相关项   1)进入注册表编辑器;    2)、备份Windows   注册表。   启动Registry   Editor   并从菜单中选择   File   |   Export。     3)、用命令   regedt32启动Registry   Editor。找到HKEY_CLASSES_ROOT节点并删除所有以字符串   Oracle、ORA、ORCL开始的键。     4)、找到HKEY_LOCAL_MACHINE/SOFTWARE键并删除   Oracle   和   Apache   Group   键。     5)、删除HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\odbcinst.ini   下    面的Oracle   ODBC   Driver键。  
Posted in 技术经验帖 | Tagged | Leave a comment

有关SELinux设置错误不能够启动的一个解决方法

造成此次问题的原因: 我用的linux版本是CentOS5.2,在安装Oracle10g的时候,需要关闭SELinux,在修改配置文件/etc/selinux/config过程中,本来应该设置: # SELINUX=enforcing SELINUX=disabled 但是我粗心大意,设置了SELINUXTYPE参数: #SELINUXTYPE=targeted SELINUXTYPE=disabled 问题现象: 重启Centos的时候,提示: unable to load selinux policy. machine is in enforcing mode. halting now. kernel panic-not syncing:attempted to kill init! 解决方法: 系统启动的时候,按下‘e’键进入grub编辑界面,编辑grub菜单,选择“kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet” 一栏, 按‘e’键进入编辑,在末尾增加enforcing=0,即: kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet enforcing=0 按‘b’键继续引导,OK顺利前进。
Posted in 技术经验帖 | Tagged | Leave a comment

Delphi7 中使用ODAC存取图片

最近很少写技术贴,前几天协助王锋师兄解决了在delphi7中,使用ODAC组件存取图片的问题。事后,他整理了一个经验文档,争得他同意,我贴出来,以备以后查询之用。 说明:ODAC组件我不熟悉,在使用它存取图片的时候,特别注意sql的写法。 ODAC 组件支持 Oracle8 的 BLOB 和 CLOB 数据类型。你可以使用 TOraQuery 组件来获取 LOB 字段的值,BLOB 和 CLOB 数据类型通过 LOB 定位器(指定数据地址) 存储在表列中;实际的 BLOB 和 CLOB 数据存储在独立的表空间中。当存取 LOB 列时,返回的是定位器。要初始化 LOB 定位器,你必须使用 EMPTY_BLOB 或 EMPTY_CLOB Oracle 函数。要返回初始化后的定位器,应在同样的语句中使用 RETURNING 子句。ODAC 写 LOB 数据到 Oracle 且返回初始值字段,需使用:值参数. 对 ODAC 来说,在 LOB 操作中使用 ParamType 属性是非常重要的。如果 ParamType 是 ptInput , ODAC 写数据到服务器,如果 ParamType 是 [...]
Posted in 技术经验帖 | Tagged | Leave a comment

Chrome的内存管理

在Windows下,Chrome使用单独进程来运行每一个Tab页和每一个扩展,如果打开网页多了,或者安装插件多了,对于内存吃紧的机器,可以明显感觉到机器速度变慢,甚至到达卡的地步。Chrome有一个任务管理器(Task Manager),使用shift + ESC调出来,如下图: 使用任务管理器,可以查看Tab页和扩展占用内存的情况,对于一些不常用的但是占用内存大的扩展,可以结束掉其进程,或者在扩展管理器中停用此扩展。 此外,在Chrome的新版本中,加入了一个新的参数”–purge-memory-button” ,当在Chrome的启动命令行加入这个参数后,如下图,Chrome的任务管理器就会出现一个新的Purge memory清理内存按钮,点击这个按钮你会发现某些tab或者是扩展使用的内存数会出现下降。
Posted in 技术经验帖 | Tagged , | Leave a comment

使用绑定变量和不使用绑定变量操作数据库

以下例子是在delphi中编程实现,数据库为oracle,具体的代码省略了,只说明情况。 1、不使用绑定变量 例子:删除同一张表的两条记录。 sql语句如下: (1)delete from t_englishscore_score where STUDENTNUM=’200431500123′ and LESSONNAME=’test’ and YEAR=’2005′ and TERM=’上’; (2)delete from t_englishscore_score where STUDENTNUM=’200431500123′ and LESSONNAME=’毕业设计’ and YEAR=’2007′ and TERM=’下’ 此时查询v$sqltext视图(它能够反映oracle 中share pool中的sql解析共享情况): ADDRESS HASH_VALUE SQL_ID COMMAND_TYPE PIECE SQL_TEXT 0000000173D47990 2193311325 1mhba361bqjkx 7 0 delete from t_englishscore_score where STUDENTNUM=’200431500123′ 0000000173D47990 2193311325 1mhba361bqjkx 7 1 and LESSONNAME=’test’ and YEAR=’2005′ and [...]
Posted in 技术经验帖 | Tagged , | Leave a comment

关闭Centos的自动更新

昨天跟老板汇报,提到我们的linux服务器每天自动更新,老板大发雷霆,说生产系统不能够这样,非常不安全,一个师兄也提到他原来在移动的时候,服务器更新也是很谨慎的事情。看来我的思维太技术了,不够全面,所以回来就把自动更新关了。 操作记录如下: [root@jwbdb alpha]# chkconfig –list yum-updatesd yum-updatesd    0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭 [root@jwbdb alpha]# service yum-updatesd stop 停止 yum-updatesd:                                        [确定] [root@jwbdb alpha]# service yum-updatesd status yum-updatesd 已停 [root@jwbdb alpha]# chkconfig –level 35 yum-updatesd off [root@jwbdb alpha]# chkconfig –list yum-updatesd yum-updatesd    0:关闭  1:关闭  2:启用  3:关闭  4:启用  5:关闭  6:关闭
Posted in 技术经验帖 | Tagged | Leave a comment

禁用SELinux时配置错误导致Centos不能够启动的一种解决方法

造成此次问题的原因: 我用的linux版本是CentOS5.2,在安装Oracle10g的时候,需要关闭SELinux,在修改配置文件/etc/selinux/config过程中,本来应该设置: # SELINUX=enforcing SELINUX=disabled 但是我粗心大意,设置了SELINUXTYPE参数: #SELINUXTYPE=targeted SELINUXTYPE=disabled 问题现象: 重启Centos的时候,提示: unable to load selinux policy. machine is in enforcing mode. halting now. kernel panic-not syncing:attempted to kill init! 解决方法: 系统启动的时候,按下‘e’键进入grub编辑界面,编辑grub菜单,选择“kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet” 一栏,按‘e’键进入编辑,在末尾增加enforcing=0,即: kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet enforcing=0 按‘b’键继续引导,OK顺利前进。
Posted in 技术经验帖 | Leave a comment

使用Merge语句同时执行插入和更新操作

考虑下列情况,对于一张表T,有(A,B)两列,进行下列操作:如果表T中存在A=‘a1’的记录,就更新对应的B列值为‘b1’;如果不存在,就插入这一条记录。 经典的处理方式是先查询,看记录是否存在,再确定是进行插入还是删除操作。 从oracle9i开始,就已经支持Merge语句,可以使用一条sql语句,同时执行插入和更新操作。 下面举一个例子,表t_englishscore_stuengname表,有studentnum和engname两列,现在需要处理一条记录:(’20011111111′,’Li Bo’),不确定是否插入还是更新,使用Merge语句如下: merge into t_englishscore_stuengname t using (select ’20011111111′ as studentnum,’Li Bo’ as engname from dual) s on (t.studentnum=s.studentnum) when matched then update set t.engname=s.engname where t.studentnum=s.studentnum when not matched then insert (studentnum,engname) values(s.studentnum,s.engname); 有关Merge语句的详细说明参见下列网址,本文不予赘述。 [1] eygle. 使用Merge Into 语句实现 Insert/Update. http://www.eygle.com/digest/2009/01/merge_into_insertupdate.html. [2] eygle. Merge用法:Oracle 10g中对Merge语句的增强. http://www.eygle.com/digest/2009/02/mergeoracle_10gmerge.html [3] google. www.google.com
Posted in 技术经验帖 | Tagged | Leave a comment
  • Self-introduction

    @Alipay,计算机专业。

    喜欢互联网,崇尚网络自由和开放,旗帜鲜明的反对妄图扼杀自由的行为。

    喜欢看电影,国产大片、科幻片和鬼片例外,以前比较偏好喜剧和港产警匪片,比如周星驰系列喜剧和银河映像出品的电影;看过无数好莱坞电影后,现在比较喜欢美国的独立小电影和法国风味的电影,诸如《杯酒人生》和《天使爱美丽》等。

    喜欢听的一些歌:魔岩三杰、汪峰、王菲的大部分,郑钧、许巍的一些,左小祖咒以及其它歌手的小部分。

    现在看书的时间比较少,其中大部分又花费在技术书籍上,以后坚持少上豆瓣,多看书。

    经常使用的网站或服务:Google以及它的很多服务、Twitter、虾米、豆瓣。