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。
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接