August 3, 2005
GreenBrowser开源
作者:eygle
出处:http://blog.eygle.com
今天到GB的主页上看发现原来这个软件已经OpenSource了。同时OpenSource还有Compact版的GB,也就是很有名的MyIE(注意,不是MyIE2,那是现在已经改名为Maxthon的东东了)。
这个应该是个很好的消息,GB是我使用过的基于IE核心的多页面浏览器中非常好用而且成熟的的一款,曾经有段时间我放弃Maxthon而使用了GB,后来由于GB对于proxy的支持有些奇怪,所以又重新使用Maxthon了,当然现在我在尽量使用FireFox。
可惜,我不会VC++,否则一定去下载一把GB的源码,过来看看。
Posted by eygle at 10:46 PM | Comments (6)
Oracle9i安装make错误解决一例
作者:eygle
出处:http://blog.eygle.com
今天一个朋友装Oracle的时候出现错误,请求帮忙诊断。检查了一下发现错误主要是:
ld: fatal: file /dev/zero: mmap anon failed: Resource temporarily unavailable
以下是一个解决的过程供参考:
1.登陆主机
检查make日志,从中可以得到具体的错误信息。
SunOS 5.8 login: oracle9 Password: Last login: Wed Aug 3 14:11:50 from 172.16.34.231 Sun Microsystems Inc. SunOS 5.8 Generic Patch October 2001 /opt/oracle9/>ls Apache dbs jar lib oci otrace slax tg4ingr BC4J demo javavm lib32 ocommon oui soap tg4sybs JRE dm jdbc local.cshrc ocs4j owm sqlj tg4tera assistants doc jdk local.login oem_webstage plsql sqlplus ultrasearch bin ds jlib local.profile olap precomp srvm wwg classes hs jre md oraInventory rdbms syndication xdk ctx install jsp mgw oracore relnotes sysman cwmlite inventory ldap network ord root.sh tg4ifmx /opt/oracle9/>which make /usr/local/bin/make /opt/oracle9/>which gcc /usr/local/bin/gcc /opt/oracle9/>cd install /opt/oracle9/install>ls make.log shiphome.build utl /opt/oracle9/install>vi make.log "make.log" 477 行,87097 字符 /bin/chmod 751 /opt/oracle9/bin/isqlplus /usr/ccs/bin/make -f ins_rdbms.mk ioracle ORACLE_HOME=/opt/oracle9 - Linking Oracle rm -f /opt/oracle9/rdbms/lib/oracle /usr/ccs/bin/ld -o /opt/oracle9/rdbms/lib/oracle -L/opt/oracle9/rdbms/lib/ -L/opt/oracle9/lib/ -dy /opt/oracle9/lib/WS6U2/lib/v9/crti.o /opt/oracle9/lib/WS6U2/lib/v9/crt1.o /opt/oracle9/rdbms/lib/opimai.o /opt/oracle9/rdbms/lib/ssoraed.o /opt/oracle9/rdbms/lib/ ttcsoi.o /opt/oracle9/lib/nautab.o /opt/oracle9/lib/naeet.o /opt/oracle9/lib/naect.o /opt/oracle9/lib/naedhs.o /opt/oracle9/rdbms/lib/config.o -lserver9 -lodm9 -lskgxp9 -lskgxn9 -lclient9 -lvsn9 -lwtcserver9 -lcommon9 -lgeneric9 /opt/oracle9/rdbms/lib/defopt. o -lknlopt `if /usr/ccs/bin/ar tv /opt/oracle9/rdbms/lib/libknlopt.a | grep xsyeolap.o > /dev/null 2>&1 ; then echo "-loraolap9" ; fi` `if /usr/ccs/bin/ar tv /opt/oracle9/rdbms/lib/libknlopt.a | grep dmwdm.o > /dev/null 2>&1; then echo "-ldm9"; fi` -lslax9 -lpls9 -lplp9 -lserver9 -lclient9 -lvsn9 -lwtcserver9 -lcommon9 -lgeneric9 -lknlopt -lslax9 -lpls9 -lplp9 -ljox9 -lserver9 -locijdbcst9 -lwwg9 `cat /opt/oracle9/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lnro9 `cat /opt/oracle9/lib/ldflags`-lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lmm -lnls9 -lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9 `cat /opt/oracle9/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lnro9 `cat /opt/oracle9/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -ltrace9 -lnls9 -lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9 `if /usr/ccs/bin/ar tv /opt/oracle9/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > /dev/null 2>&1 ; then echo " " ; else echo "-lordsdo9"; fi` -lctxc9 -lctx9 -lzx9 -lg ................ ld: 致命的: 文件/dev/zero: 不能打开mmap文件: 资源暂时不可用*** Error code 1 make: Fatal error: Command failed for target `/opt/oracle9/rdbms/lib/oracle' ~ ~ ~ ~ ~ :q /opt/oracle9/install>which ld /usr/ccs/bin/ld |
我们发现,主要信息为:
ld: 致命的: 文件/dev/zero: 不能打开mmap文件: 资源暂时不可用
2.寻找解决办法
只要找到问题,通常解决起来就容易的多了。
到Metalink或Google搜索,都会发现此类错误多数是由于内存或Swap区不足引起的。
检查系统Swap区:
/opt/oracle9/rdbms/lib>df -k 文件系统 千字节 用了 可用 容量 挂接在 /dev/dsk/c0t0d0s0 2055463 425139 1568661 22% / /dev/dsk/c0t0d0s6 13108204 6130169 6846953 48% /usr /proc 0 0 0 0% /proc fd 0 0 0 0% /dev/fd mnttab 0 0 0 0% /etc/mnttab /dev/dsk/c0t0d0s5 3045503 227250 2757343 8% /var swap 81656 16 81640 1% /var/run /dev/dsk/c0t0d0s3 13108204 9764721 3212401 76% /home /dev/dsk/c0t0d0s4 6097950 4544543 1492428 76% /opt swap 594984 513344 81640 87% /tmp |
发现空闲空间只有80M左右,删除部分文件后重新编译:
/opt/oracle9/rdbms/lib>/usr/ccs/bin/make -f ins_rdbms.mk ioracle ORACLE_HOME=/opt/oracle9 - Linking Oracle rm -f /opt/oracle9/rdbms/lib/oracle /usr/ccs/bin/ld -o /opt/oracle9/rdbms/lib/oracle -L/opt/oracle9/rdbms/lib/ -L/opt/oracle9/lib/ .... mv -f /opt/oracle9/bin/oracle /opt/oracle9/bin/oracleO mv /opt/oracle9/rdbms/lib/oracle /opt/oracle9/bin/oracle chmod 6751 /opt/oracle9/bin/oracle /opt/oracle9/rdbms/lib> |
编译成功通过。
Posted by eygle at 6:56 PM | Comments (1)
Oracle10gR2中一些新特性
作者:eygle
出处:http://blog.eygle.com
Oracle再次首发了Linux版本的10g Release2,昨天在文档站点上通览了一下new features,摘选其中一些个人觉得还比较有兴趣的东西。
1。Optimized Asynchronous Redo Transmission。希望这个改动可以提高在低速网络时DG的性能
Asynchronous redo transmission using the log writer process is no longer limited by the size of the network buffer. The log writer process is no longer blocked on network time outs during asynchronous redo transmission. This allows a greater number of archiver processes to archive redo logs remotely.
2。Database Transport Across Same Endian Platforms。提供了一个简单的RMAN命令用来在不同平台间迁移整个数据库
RMAN CONVERT DATABASE
3。Easy Conversion of a Physical Standby Database to a Reporting Database。呵呵,这个功能不知道会不会有人用,不过看上去还是不错的
Activate then Flashback
4。Unused Block Compression。我们的知识又一次被颠覆,记住,10gR2的RMAN备份是真的不备份那些没有用到的block了,不管是不是以前曾经用过
By optimizing database backups, only blocks currently used by the database are backed up. In previous releases, NULL compression was utilized, whereby only never-used blocks were excluded from backup. With this new feature, all unused blocks, whether they have been used or not in the past, will be excluded from backup.
This enables faster backups and smaller backup files
5。Eliminate Control File Re-Creation。简单化的一个操作,其实早就该加进来了
With the control file enhancements, there is no longer a requirement to re-create the control file when changes in the configuration parameters are made. These include the MAXLOGFILE, MAXLOGMEMBERS, MAXLOGHISTORY, MAXDATAFILES, and MAXINSTANCES parameters.
6。Enhanced Server Side Shutdown。文档里越来越多的使用startup force,是不是说明shutdown abort倒是推荐的关闭数据库方法了,因为快啊,呵呵
When using the SHUTDOWN ABORT command with Oracle Database 10g Release 2 and higher clients, all processes (including, for Unix, the foreground process) will be terminated.
7。Temporary Datafiles Are Re-Created on RMAN Recovery。人性化的修改,简化了我们恢复数据库的操作步骤
Temporary datafiles that belong to locally managed temporary tablespaces are automatically re-created during recovery operation.
This eliminates the need to manually create temporary tablespaces after recovery.
8。Self-Tuning Multiblock Read Count。DBA们,我们又少了一项可以用来炫耀的技巧了
9。ASM Command-Line Interface。总算有了自己的shell,包含了cd,ls,mkdir等一系列常用的命令,现在不会感到asm是一个完全封闭的黑盒子了
10。Drop Empty Datafile。这次好了,不会因为那些被别人误加的看上去很傻的数据文件而头疼了,以前只能是缩小到5M什么的,仍然看上去很烦人,现在世界可以清净了
This feature provides the ability to drop an empty datafile. It drops the datafile from the database and deletes it from the file system.
If a DBA adds a datafile in the wrong location or to the wrong tablespace, this feature provides a simple way to correct the error by dropping the datafile.
Posted by eygle at 4:02 PM | Comments (8)
Google与DBA
作者:eygle
出处:http://blog.eygle.com
Tom在他的一篇Blog中提到Google的力量,很有意思。
起因是有人在AskTom上问了一个关于"CURSOR TRAILS"(我不确定在中文中应该翻译为什么)的问题,显然这是一个关于网页编程的问题,和Oracle毫无关系,可能是原来的主题和"Ref Cursor"相关,所以通过Google,那个女孩在AskTom上发出了这个提问。
于是Tom想起了一系列的问题,无数人向他提问,包括MS Word的安装问题,IE的浏览问题等等等等。
想想这样的情况也的确很多,经常在MSN上被问一些莫名其妙的问题,于是常常我需要主动打断他,说:其实,我是一个DBA。
记得有朋友的回答出乎我的意料,他说:我知道你作Oracle,但是我也想听听你对ASP的看法。
这个回答很有见地。可是显然,我很难在自己不熟悉的领域给出最好的建议,所以很多时候我是无能为力的。
差的最远的一次,是有个朋友发邮件请我帮她查一下她的身份证号码,我思索良久也不知道问题出在哪里,于是只好回复邮件告诉她:其实,我是一个DBA。
btw,问下英文好的朋友"things happen in threes"是什么意思?
Posted by eygle at 3:24 PM | Comments (16)
