你了解废纸篓么~
废纸篓想必是大家经常用的,不过你了解它么?不少网友还反映无法清空,那怎么办呢?
首先,在废纸篓上右键,就是清空废纸篓,这个简单吧

其次,MAC OS的废纸篓还具备安全功能哦 ,点击Finder菜单栏的”Finder“,就可以选择安全清空啦,快捷键command+option+右键废纸篓也会出现这个选择。
废纸篓想必是大家经常用的,不过你了解它么?不少网友还反映无法清空,那怎么办呢?
首先,在废纸篓上右键,就是清空废纸篓,这个简单吧

其次,MAC OS的废纸篓还具备安全功能哦 ,点击Finder菜单栏的”Finder“,就可以选择安全清空啦,快捷键command+option+右键废纸篓也会出现这个选择。
今天入了一个硬盘座,以后算是彻底抛弃光存储了。新硬盘座价格算挺贵的,不过到手还是有些惊喜的,做工非常不错,更好的是原本以为是浪费的eSATA口,由于附送了扩展卡和连线,一下子能用上了。把SATA转eSATA卡装上PC以后,发现个问题,不能热插拔……既然能eSATA就不想USB,但也总不能每次用磁盘还得重启机器吧。
稍微搜索了下,开热插拔需要打开AHCI功能。机器是Dell 530n,上网搜索,还不简单,Dell的BIOS里没有AHCI选项。原来,Intel芯片组的主板并没有缩减功能,只是Dell将选项屏蔽而已,当选择RAID时,就自动打开了。而且,选择RAID并不意味着一定要双硬盘启用RAID。对Vista,打开这个功能,还可以不需要重装系统。
但是,简单修改BIOS以后却是一个悲剧,启动后进入Vista时会反复重启,无法引导系统。又是一番研究,原来需要一些手工操作的:
1.到例如mydrivers的网站或者Intel官网下载Intel Matrix Storage Manager磁盘创建程序和Matrix Storage Manager驱动,现在的最新版本似乎分别是8.2和8.6;
2.将磁盘创建程序解压缩后得到的文件拷贝到“系统盘\Windows\system32\drivers”下;
3.修改HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IASTOR下的Start的键值,原来是4,改为0;
4.重新启动电脑,并进入BIOS将磁盘改为RAID模式;
5.启动以后可能会提示你找到新硬件什么的,不必理会,自动识别好驱动以后会提示你重启,那就继续重启吧;
6.还记得前面下载的另一个程序Matrix Storage Manager驱动么?解压缩,安装,然后继续根据提示重启;
7.这次重启以后会看到一个Matrix Storage Manage Console,打开看到你的硬盘在非RAID卷中吧,那就OK了;
8.最后,随便选一个硬盘分区,右键属性——硬件,依次选择你的SATA硬盘,打开高级性能模式。
9.OK,看看你的eSATA能否热插拔吧,我这里插上硬盘打开电源,就提示找到新硬盘了,一切完美!
eSATA还是很方便啊,设置好以后和USB差不多,但是速度猛!顺便说一句,上面的操作没有影响Vista的激活,呵呵。
一直想自动切换网络位置,就琢磨了一下。最普通的切换方法我想大家应该都知道了,就是进入网络设置(通过Airport的图标下拉也好,dock上保存系统偏好设置也行),然后切换、应用,如果进一步需要控制Airport无线网卡,那么还需要多点击一次。我这个人懒,能点一次的何必要费四五次点击呢?
于是有了这个方法: 打开应用程序——实用工具——AppleScript编辑器,然后将下面的代码贴进去(后面我来讲解含义,请注意每行之间没有空行),按照后面的图示保存为只运行的应用程序,以后你双击这个程序就会运行脚本了。

tell application “System Events”
tell network preferences
do shell script “scselect ‘Home’”
do shell script “sudo networksetup -setairportpower AirPort on” user name “用户名” password “密码” with administrator privileges
end tell
end tell
讲解下代码含义,其中第三行scselect其实是一个指令,你可以放到终端里运行,将列出所有的网络位置,其中加“*”的是当前正在使用的。

国庆值班值守加起来五天,又忙些家里的事,几乎没太多休息,也就够把之前积累下来的杂志翻了翻。晚上去看了《风声》,我倒是不清楚之前的宣传,回来看豆瓣什么的才发现原来是传说中的谍战大片、SM元素……
也可能是我枪战、侦探、悬疑看得太多了,特别是CSI看了七季多,不觉得有什么很特别的,当然比一般国产片确实血腥很多。我也相信,敌人肯定是残酷血腥的,那些大刑恐怕只会更狠。倒是回头想想,逻辑问题太多了,GCD要是当年这么搞,那地下工作真是大问题。懒得总结了,问题基本上也都被网友总结了,转帖几个链接吧:
http://www.douban.com/review/2429784/
http://www.douban.com/review/2429907/
http://www.douban.com/review/2429042/
当然,也有设计精巧之处,比如“老枪”其实招了,说“就在这儿”,但是没人相信,后来只能大笑。但是依然无法弥补上面提及的漏洞……
顺便说一句,我推荐的都涉及严重剧透,建议大家还是支持下票房或者DVD再看吧,呵呵。
一般的中断进程,当然Ctrl-C就搞定了,但只能要Break键的理由很简单,破解Cisco路由器密码需要Ctrl-Break(为了进入ROMMON)。上午需要用,结果发现自己的MacBook不能用来干这个,郁闷……还好当时带多了一台IBM的本子,把工作搞定了。回来研究这个问题,花了两三个小时,终于搞明白,似乎不大可能直接解决。关键在于,Break键并不是一个字符,其实是串口帧错误的信号,不能直接映射到某个组合键。据说扩展的Apple键盘可以定义到F16,但要随身带个大键盘似乎也不合理,另外也看到不少帖子说这样也无效。
还好,搜索过程中,找到了Cisco的官方解决方案,提及了MAC OS X上Z-Terminal可以用Command+B代替,不过没能找到这个软件,最终用了替代解决方法,虽然Cisco写了一大段,其实也很简单:
早晨上班,婚姻登记中心外面已经是一长队人,这才知道原来09年09月09日到了。选择个“长长久久”也不容易啊,下一个更好的机会得90年以后了。
09.09.09确实是个不错的日子,至少Apple、Leica都喜欢。这一天,它们都会有新品发布会,Apple发布什么还是个迷,但是大家都期盼着新iPod、Apple TV,以及传说中的Apple平板电脑;Leica则基本确定要发布全画幅的M9和X1。另外一个振奋人心的消息是,The Beatles的所有专辑要发布2009重制作限量全集,另外还要发布The Beatles RockBand音乐互动游戏,支持XBox360、PS3、Wii等平台。
要我说,最好的组合是,出一个套装,包含64G iPod Touch,灌录好The Beatles2009重制作版的AIFF,然后加一套CD+DVD。只是不知道这样一套得多少钱,呵呵,最好是买CD、DVD送iPod Touch,哈哈。
先口水吧,等出了,估计最心仪的还是The Beatles的全集,不是天价的话就考虑考虑。Apple的东西嘛,越惊艳越买不起。
旧文重发,原文刊载于2006年6月8日。
近日工作需要,要大批量导出数据,开始用SQL*Plus的SPOOL功能。结果老是提示“xrealloc: cannot reallocate XXX bytes”。而且每次发生的时间还不同,有时候是到文件1G就出错,有时候是2G多出错。怀疑是32位Linux问题,换到Solaris 8上还是如故。客户端都是9201的,到Metalink上搜索没有结果。郁闷之余到Oracle-l上发了个邮件,收到一位高手的指点,说可能是内存泄露问题,SQL*Plus的开发人员估计也不会想到有人会导出如此大量数据。在邮件往复之间,那位高手提醒可以用UTL_FILE来导出。忽然想起Tom的两本书里都有提到用PL/SQL来导出,于是翻出书里的那个网址http://asktom.oracle.com/~tkyte/flat/index.html,进去一看,PL/SQL的效率比SQL*Plus要高,缺点是生成的文件必须在主机上。SQL*Plus可以调整arraysize来提高效率(当然经我实践大数据量时还有内存泄露之虞)。Pro*C是高效的方法,缺点是需要写程序、编译。
硬着头皮看Pro*C咯,好在Tom给了原始代码,抓下来放到一台Linux的机器上proc报错,应该是proc配置include库的问题,找到一个makefile,倒是没啥问题了,但是最后链接失败,报无法识别’sqlca’。到网上一搜,和我一样晕的人还有,要修改代码,多include进,但是看Tom的帖子似乎没提到这个问题,不知道为什么。
下面是修改后的源代码,我顺便在里面修改了会话的一些参数,以处理中文和时间格式:
旧文重发,原文发表于2007年2月1日。
从前几天bigboar要做一个大表更新的项目引发的讨论,CTAS还是INSERT产生redo多。后来在fsm启发下又复习了遍Tom的结论。具体内容就不翻译了,转贴一下:
Table Mode Insert Mode ArchiveLog mode result
———– ————- —————– ———-
LOGGING APPEND ARCHIVE LOG redo generated
NOLOGGING APPEND ARCHIVE LOG no redo
LOGGING no append “” redo generated
NOLOGGING no append “” redo generated
LOGGING APPEND noarchive log mode no redo
NOLOGGING APPEND noarchive log mode no redo
LOGGING no append noarchive log mode redo generated
NOLOGGING no append noarchive log mode redo generated
简单来讲,就是表的模式和归档模式具有优先决定权,当表本身NOLOGGING时,指定了APPEND的hint才不产生redo(direct模式的sqlldr应该是一样的),另外就是非归档下则无论表状态只要APPEND总会生效。
其实也就是一个规律,具体的测试就不做了。呵呵。
BTW:在后来的讨论中其实还涉及到UNDO,CTAS产生UNDO方面还是有优势的,INSERT毕竟要记录rowid作为UNDO信息,而CTAS是DDL,立即提交,应该只是在涉及修改数据字典的地方产生UNDO而已。所以Tom在他的帖子里也是推荐用CTAS代替大量UPDATE。当然啦,CTAS也是有弱点的,毕竟表结构不能自定义,这样如果原表设计并不合理的时候就无法顺便改表结构了。
CTAS+PARALLEL(如果可以并行的话)是目前我能想到的最快速度了。
旧文新发,原文发表于2007年4月6日。
4030的错误往往也挺吓人的,一看就涉及内存问题啊。今天在一个内部使用的数据库上遇到了。往往4030的解决方法都是增加PGA,或者反之,减少SORT_AREA_SIZE/HASH_AREA_SIZE。根本原因其实就是当Oracle试图向OS申请会话内存(session memory)时,OS返回错误,一般是内存不足之类。所以上来就提高PGA_AGGREGATE_TARGET也是不合适的。今天就是这个情况。
在客户端跑一个稍微复杂点的查询时候,出现了ORA-04030,其它同事也反映这个情况出现几天了,即便程序可以运行也慢得像头牛。今天我是忍无可忍了,决心花点时间了解一下。连上服务器,alert.log里果然不少报错。show parameter pga一看,600M,作为这个数据库倒也挺合适。再查询V$PGASTAT,真正花费的内存空间都是150M左右,并不大啊。仔细查查V$SESSTAT,只有三四个占内存超过10M的会话,实时统计总共也就是120M。看来并不是PGA设置太小。忽然想到这台服务器是Win2000 32bit,配置8G内存,联想到了1.7G的限制。不过当初装机器的同事已经设置了AWE,应该可以用到3G啊。
又是一阵show parameter,终于发现了问题,猜想是对的。DB_BLOCK_BUFFERS设置了307000+,也就是2.4G的DB_CACHE,然后SHARED_POOL_SIZE=100M,这加起来都3.1G,突破限制了,居然还不知道为什么设置了JAVA_POOL_SIZE=100M。赶紧改……于是将DB_CACHE调整到了2G(调低DB_BLOCK_BUFFERS),由于没有Java程序或过程,所以JAVA_POOL_SIZE=0,顺手又将SGA_MAX_SIZE降到2.2G,这样数据库就不会盲目相信参数,突破OS进程限制申请空间了。通知同事重新启动数据库,果然再没出现错误了,查V$PGASTAT果然可以分配更多空间了,一般都稳定在200-300M了,程序运行快了不少。
又翻了一把,顺便转自己文章一篇过来。原文发表于2007年6月20日
共享一个Oracle技巧吧。在以前一篇blog里我写过自定义聚集函数——一条语句将多行的列中字符串连接起来,技术总是在进步的。在这一期的Oracle Magazine中的AskTom,学到了一个不错的方法。从8i开始Oracle增加了分析函数,从9iR1开始,又有了SYS_CONNECT_BY_PATH函数,于是,产生了下面一个更加简单的方法。