Linux中如何将文件dump成16进制值
在linux中有多种方式可以将文件dump成16进制显示,也可以将16进制值再反向成文件。
0000000 524f 2d41 3030 3036 0a30 524f 2d41 3030
0000010 3630 0a30
0000014
$ od -x test.txt
0000000 524f 2d41 3030 3036 0a30 524f 2d41 3030
0000020 3630 0a30
0000024
$ xxd test.txt
0000000: 4f52 412d 3030 3630 300a 4f52 412d 3030 ORA-00600.ORA-00
0000010: 3036 300a 060.
注意到hexdump和od出来的结果都是按实际存储的字节序,因为基于x86的linux是little-endian的,也就是高低字节是颠倒了的。但是xxd的结果是将字节序调整过了的。而IBM的Power CPU是big-endian的,所以在AIX上od的结果如下:
0000000 4f52 412d 3030 3630 300a 4f52 412d 3030
0000020 3036 300a
0000024
xxd还可以实现从16进制反向生成文件,只需要加上-r选现即可。
ORA-00600
ORA-00060
$ echo 0000000: 4f52 412d 3030 3630 300a 4f52 412d 3030 | xxd -r
ORA-00600
ORA-00
但是要注意xxd接受的是big-endian格式的16进制值,如果输入的是little-endian的,则生成的文件字符(包括换行符)是两两颠倒的。
RO-A0006
0RO-A0060
0
在vi编辑器中可以使用:%!xxd 调用xxd来将文件转换成16机制编辑模式,编辑完成后再调用:%!xxd -r转换文件模式,从而使得vi具有16进制编辑的功能,:%!其实就是调用外部shell命令,需要注意的是xxd的字节序是big-endian的,不要搞错了。
如果你的Linux系统中找不到xxd命令,那么检查下是否有安装vim-common包
vim-enhanced-6.3.046-0.40E.7
vim-X11-6.3.046-0.40E.7
vim-minimal-6.3.046-0.40E.7
vim-common-6.3.046-0.40E.7
编写插件修改Wordpress的RSS输出
Wordpress是一款著名的开源blog平台,基于php,其灵活的模板(theme)和插件(plugin)架构,使得扩展性非常的好,通过模板可以随心所欲的变化前端展示,通过插件则可以实现额外的功能。比如可以通过插件修改rss输出,在其中加上诸如版权声明,相关文章等功能。另外,强烈建议在rss全文输出内容,经常在Google Reader中看到一篇好文章却只有摘要,点过去发现网站又无法打开,这种感觉真让人抓狂。
将MyWordpressFeed.txt下载后另存为MyWordpressFeed.php,修改FeedRelatedPost函数中相应的地方,传到wp-content/plugins目录,到后台管理激活MyWordpressFeed插件,即可获得和我的blog一样的rss输出效果。php我只是略知皮毛,代码贴出来给有需要的朋友参考(Update:贴了半天代码,发现coolcode插件无法解析这种php里又输出html的代码,只好打包成txt文件,点击这里可查看或者下载)。
MySQL的benchmark函数
MySQL实现了很多独特的函数,有时候使用起来是非常的方便,或许这就是开源的好处吧。这里记录一下benchmark函数,一个用于测试MySQL函数性能的函数。benchmark函数只有两个参数,第一个是执行次数,第二个是要测试的函数或者表达式。返回的结果始终是0,执行时间才是我们需要的结果:
+-------------------------------+
| benchmark(1e8,current_date()) |
+-------------------------------+
| 0 |
+-------------------------------+
1 row in set (31.08 sec)
mysql> select benchmark(1e8,abs(1));
+-----------------------+
| benchmark(1e8,abs(1)) |
+-----------------------+
| 0 |
+-----------------------+
1 row in set (1.31 sec)
除法的效率明显不如乘法:
+--------------------+
| benchmark(1e8,1*1) |
+--------------------+
| 0 |
+--------------------+
1 row in set (1.45 sec)
mysql> select benchmark(1e8,1/1);
+--------------------+
| benchmark(1e8,1/1) |
+--------------------+
| 0 |
+--------------------+
1 row in set (19.47 sec)
Oracle11g部分新特性移植到9i和10g
Oracle10.2.0.4出来的时候包含了属于Oracle11g的新特性Real Application Testing,现在,通过patch,可以在9i~10g各版本中获得包括SQL Performance Analyzer和Database Replay在内的Oracle11g新特性。
SQL Performance Analyzer可用于诊断由于系统改变等引起的SQL性能问题,通过在做出改变前后收集一个性能统计报告,然后比较得到性能改变的主要原因。
Database Replay则可以捕获产品数据库的压力等,在测试数据库中进行重演,可以更加准确的模拟产品库的压力对应用进行测试,这也是Oracle11g主推的Real Application Testing的主要功能。
要获得这两个新特性,需要安装Patch,对应的Patch请参考:Metalink Note:560977.1
常用标签: oracle life Oracle11g MySQL blog 新特性 Cognos dba wordpress ASM
最新评论 | Recent comments
- 大头刚 on 惊回首,五年秋: 5年,真快...
- xueji03 on 惊回首,五年秋: 原来ningoo毕业才5年啊,真厉害,文采也不错...
- anysql on 江南十分美,绍兴有几分: 看得书多,文采不错啊...
- NinGoo on 江南十分美,绍兴有几分: 还有很多地方没玩到,下次你要做地陪...
- NinGoo on 惊回首,五年秋: 谢谢,呵...
- Betty on 江南十分美,绍兴有几分: 那是!俺的家乡还是不错滴~~...
- 小荷 on 惊回首,五年秋: 5年的成长,有这样的成就,了不起! ps:界面又改了哈~~很清爽...
- august on MySQL命令行的几个用法: 不错。都是很实用的...
- clark on 转载:恕道: 严重支持,虽然我也姓余,虽然我以前很喜欢他的散文...
- yxyup on 惊回首,五年秋: Y的,真是人才 ^_...
- 我的梦想 on 关于Dreamhost合租: 我真准备开个合租的呢,郁闷,杂就找不倒人呢?? http://www.520if.cn/?p=35...
- sf on 本站使用的wordpress插件: 试...
- onlyring on Dreamhost惊魂记: 我的BLOG经常受到垃圾评论的影响,有没有好的解决方法? ======================...
- NinGoo on 留言本: 欢迎留...
- bulletming on MySQL压力测试工具mysqlslap: 50,100个并发情况跟你的是相同的,总是50并发更快,但是如果150的并发,...