eygle.com   eygle.com
eygle.com  
 

« August 2, 2005 | Blog首页 | August 5, 2005 »



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)



CopyRight © 2004-2008 eygle.com, All rights reserved.