WEB开发网
开发学院数据库Oracle Oracle中资源的共享与竞争及问题定位 阅读

Oracle中资源的共享与竞争及问题定位

 2007-05-13 12:29:55 来源:WEB开发网   
核心提示: 然后,统一将所有 PHP 程序中的 OCIParse 函数替换为 debug_OCIParse 函数,并要求 PHP 程序员以后使用 debug_OCIParse 函数进行开发,如下将:$stmt = OCIParse($conn, $sql);替换为 :$stmt = debug_OCI

然后,统一将所有 PHP 程序中的 OCIParse 函数替换为 debug_OCIParse 函数,并要求 PHP 程序员以后使用 debug_OCIParse 函数进行开发,如下将:

$stmt = OCIParse($conn, $sql);

替换为 :

$stmt = debug_OCIParse($conn, $sql, __FILE__, __LINE__);

这个工作可由系统管理员统一做一次,以后就要要求 PHP 程序员形成规范。可用如下脚本:

find /home/httpd/html -name '*.ph*' | xargs -n1 | while read i
do
ex -c ':se ic|g/ociparse/s/ociparse/debug_&/|s/);
$/,__FILE__,__LINE__&/' -c ':x!' $i
done

这几行脚本并非放之皆准,但对于规范的 php 文件,一般来说没有问题 , 笔者的系统中用该方法维护几百 M 的 PHP 程序。少有例外,由于这是只运行一次的脚本,所以只要根据自己具体的系统做适当的调整即可。如上,如果对含有 OCIParse 的程序行的内容不太确定,可以用如下方法先进行查看:

find /home/httpd/html -name '*.ph*' | xargs grep -in ociparse > ~/list

这段脚本中的 ex 命令稍作解释: ex 是vi编辑器的后端工具 , 可以在命令行上使用一些编辑命令,每个编辑命令以 -c 选项开头 , 如上:se ic是改变编辑器对大小写不敏感 , 全称是 :set ignorecase。

|号用来间隔多个编辑命令。

g/ociparse/s/ociparse/debug_&/ 的编辑语意为 : 找到含有 ociparse 的行 , 对这些行执行如下编辑命令。

s/ociparse/debug_&/, s 意为 substitute, 将 ociparse 替换为 debug_&, 这其中 & 代表前面找到的匹配字符串 , 由于是忽略大小写的 , 所以用 & 来保留前面找到的不管是大小写如何混合的字符串的原型 . 这样 , ociparse 就会被替换为 debug_ociparse, 而 OCIParse 将会被替换为debug_OCIParse。

上一页  2 3 4 5 6 7 8 9  下一页

Tags:Oracle 资源 共享

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接