2010年3月

Oracle 服务控制批处理

@echo off
rem author tunpishuang(http://tunps.com)
title Oracle服务控制
goto menu

:view
tasklist /fi "imagename eq oracle.exe" | find /i "oracle.exe" >null
cls
if errorlevel 1 (echo 【oracle没有运行】) else (echo 【oracle正在运行】)
goto menu

:start
net start OracleOraDb10g_home1TNSListener
net start OracleOraDb10g_home1iSQL*Plus
net start OracleServiceORCL
net start OracleDBConsoleORCL
rem net start OracleJobSchedulerORCL
echo 【已成功开启】
goto menu
:kill
net stop OracleDBConsoleORCL
rem net stop OracleJobSchedulerORCL
net stop OracleOraDb10g_home1iSQL*Plus
net stop OracleOraDb10g_home1TNSListener
net stop OracleServiceORCL
echo 【已成功关闭】
goto menu
:manual
sc config OracleDBConsoleORCL start= demand
sc config OracleOraDb10g_home1iSQL*Plus start= demand
sc config OracleOraDb10g_home1TNSListener start= demand
sc config OracleServiceORCL start= demand
echo 【已设定成功】
goto menu
:quit
exit /b

:menu
echo v - 查看oracle服务状态
echo s - 开启oracle服务
echo k - 关闭oracle服务
echo m - 设定oracle服务为手动
echo q - 退出
set /p inputStr=请选择:
if "%inputStr%"=="v" goto view
if "%inputStr%"=="s" goto start
if "%inputStr%"=="k" goto kill
if "%inputStr%"=="q" goto quit
if "%inputStr%"=="m" goto manual

因为Oracle数据库确实是一个庞然大物,在测试环境中使用Oracle,希望能随时轻松的启动或者停止Oracle的服务,所以想到了写个批处理脚本出来。我股沟了一下,发现网站的控制脚本都分为两个bat文件,一个专门用来开,一个专门用来关。比如这个还有这个...,不爽,集成到一个文件。通过判定当前是否存在oracle.exe进程来判定服务是否启动才是王道。 有几个需要注意到的地方。 1. 首先是通过tasklist来判定进程状态,返回的errorlevel就能知道oracle进程是否运行。 2. 需要将所有服务设定为手动,这样服务才不会随系统启动而启动,也就是不会让系统开机的时候一直卡在“欢迎”界面。 3. oracle这几个服务各司其职,并且互相具有依赖性,所以启动的时候要找准启动顺序 TNSListener->Service->DBConsole,那个JobScheduler服务一般不需要,关闭服务的时候就不需要顺序了,系统自动解决依赖性。详见此文 4. 这个脚本控制的服务名称根据不同的环境是有变化了,我这个oracle版本是10g,sid名是ORCL,HOME_NAME是home1,所以使用前需要更改,也许有时间我会找找方法能得到这些变量值,然后改进,改成通用的,那就牛逼了。

google受牵连?

总说周知google.cn 自动跳转到google.com.uk 同时不带censor,gfw当然理所当然的ban掉这些关键字。 但是今天下午访问google.com.uk / google.com搜索一般的关键字都会被重置。 比如搜索“test”,网址

http://www.google.com.hk/search?hl=zh-CN&source=hp&q=test&meta=&aq=f&aqi=g10&aql=&oq=&gs_rfai=

http://www.google.com/search?hl=en&source=hp&q=test&aq=f&aqi=g10&aql=&oq=&gs_rfai=

都被重置了,经过测试搜索任何关键字,更不用那些敏感词,都会被重置。 但是通过IE 8搜索栏或者Firefox的搜索栏非敏感词都能够被搜索,还是以搜索“test”为例子 Firefox搜索url

http://www.google.com/search?q=test&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-GB:official&client=firefox-a

IE搜索url

http://www.google.com.hk/search?q=test&rls=com.microsoft:zh-cn:IE-SearchBox&ie=UTF-8&oe=UTF-8&sourceid=ie7

都能正常访问。 到豆瓣google小组,发现一个帖子说这次封了.google和rfa关键字,而无辜的Google搜索结果页也确实出现了rfa关键字,难道你没有看到?恩,红色的gs_rfai参数就是了。 那么rfa是啥呢?请使用和谐百度获取答案

google受牵连?

解决方案

  1. 用浏览器的搜索工具栏
  2. 去掉gs_rfai参数。在“搜索设置”中“查询建议” 勾选“不在搜索框内提供查询建议。”

enter image description here

  1. Google Ajax Search API,因为可以通过https搜索,所以还能搜索不河蟹的词。如果你没有编程的爱好,那可以直接使用这个API的Hello World

  2. Gmail实验室里面的启动“Google搜索”,

enter image description here

原理和方案2一样。

参考

总结

这个事情说明了受牵连了也无处诉苦,因为我是牛逼闪闪的GFW。

HTTP 301跳转

博客搬家,但是以前域名有一些流量需要保留,希望通过修改http头,把状态码改为301自动转向到新域名,可以通过php实现,因为对urlwrite不是很了解,所以昨天晚上看了一下apache文档,了解了一下mod_rewrite,将一下代码贴到网站根目录下面的.htaccess文件里面。

# BEGIN WordPress
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ http://tunps.com/$1 [R=301,L]
</ifmodule>
# END WordPress

这样可以实现“全部跳转”,也就是可以跳转到具体的页面,比如访问 http://techguru.cn/about 就会跳转到 http://tunps.com/about ,从而实现“无缝衔接”。

windows自动更新vbs脚本

http://community.spiceworks.com/scripts/show/82-windows-update-agent-force-script-email-results-version-2-6

windows自动更新vbs脚本

这个脚本可以下载所有本机上未安装的更新,但这个脚本需要下载windows update agent,如果本地安装的agent版本大于代码上的版本就直接安装,如果小于就下载指定url的agent,并手动安装,且还需要重新启动。可以通过通过邮件发送安装情况。很多的可选项,代码上都有注释,就不多解释了。 我觉得这个脚本在网吧这种环境中比较实用,搞桌面部署(desktop deployment)这块的,强制安装,强制重启动,好拉风。 ps:这个日志字太多了,tinymce一卡一卡的,在记事本写了来,再拷到tinymcr。

y450a tsi(h)安装mac os x 10.5.7(iATKOS v7)

最近比较烦,无聊到装mac os x玩。mac对硬件比较挑,安装的成败很可能是硬件驱动不适合造成的,听说mac系统对nforce主板兼容性最差,可是我在8个月前把mac装在我的nforce板子的台式机上却跑的尚好。这次在联想笔电y450a tsi(h)上安装。

y450a tsi(h)的配置为:

  • Intel 酷睿2双核 T6600
  • NVIDIA GeForce GT 240M
  • Intel GM45+ICH9M
  • Intel 5100 AGN
  • broadcom bcm5784m
  • Realtek ALC269 @ Intel 82801IB ICH9
  • Synaptics PS/2 Port TouchPad
  • PS/2 标准键盘

首先需要:

  1. iATKOS_v7.iso
  2. Chameleon Instal for windows
  3. Leopard hd install helper
  4. Kext Helper b7
  5. Broadcom_5784m.zip(墙外)Broadcom_5784m.zip(墙内)
  6. PlistEditPro(可选)
  7. 非和当前系统统一磁盘的任何硬盘、移动硬盘、CD-ROM、U盘上的winpe系统(比如老毛桃的,带磁盘管理工具,比如disk genius、winpm)
  8. NVinject.zip

安装mac的方法很多,有硬盘安装,虚拟机安装..在这里我只写硬盘安装。

首先用windows的系统自带的磁盘管理工具将其中的一个分区分为两个分区:

y450a tsi(h)安装mac os x 10.5.7(iATKOS v7)

右击H盘,然后点“压缩卷”,输入的值得留出5到7G的空间放iATKOS_v7.iso,将这两个分区都“快速格式化”为FAT32格式的,这样在接下来的安装相当中才能识别出来这两个分区。

然后打开Leopard hd install helper ,镜像文件为iATKOS_v7.iso的位置,目标分区就是如上图放iATKOS_v7.iso的分区,如图:

y450a tsi(h)安装mac os x 10.5.7(iATKOS v7)

点“开始!”,完成之后,安装Chameleon到系统中:

y450a tsi(h)安装mac os x 10.5.7(iATKOS v7)

重新启动机子,在windows启动管理器中有了两个选项

  • Windows 7
  • Chameleon

选择chameleon,然后选择进入iATKOS。

y450a tsi(h)安装mac os x 10.5.7(iATKOS v7)

点“继续”,接下来需要“抹盘”,抹盘这个单词比较专业,就是将我们第一个图中“mac目标分区”格式化为Mac OS扩展(日志式)文件格式

y450a tsi(h)安装mac os x 10.5.7(iATKOS v7)

选择“磁盘工具”,将“mac目标分区” “抹掉”,内部的操作就是用0填充磁盘数据

y450a tsi(h)安装mac os x 10.5.7(iATKOS v7)

然后选择目标宗卷安装,目标宗卷就是“mac目标分区”

y450a tsi(h)安装mac os x 10.5.7(iATKOS v7)

选择“自定义”,这里是关键的关键了,选择错误,很可能安装失败

y450a tsi(h)安装mac os x 10.5.7(iATKOS v7)

对于y450a tsi(h)的机子,我们需要选择:

  • Base System
  • SMBIOS-EFI AIR
  • Apple SMBIOS-28
  • 9.7.0 kernel voodoo
  • Temove TyMCE
  • nVidia GT200 EVGA
  • AHCI
  • Intel SATA/IDE
  • Voodoo HDA driver
  • Voodoo PS/2 driver
  • laptop battery(可选)
  • NTFS-3G
  • Broadcom BCM578x
  • 汉语
  • Post Install script
  • Chameleon v2
  • Speedstep driver(可选)
  • Throttling Control (可选)

然后大概是10多分钟的安装时间。安装完成后,重新启动电脑,USB启动盘启动到winpe,打开winpm将原来的windows系统分区“位置为活动”,这样才能进入系统。启动菜单选择Chameleon ,然后在进入的过程中按键盘F8,选择我们的mac系统进入,接下来是一系列的个人信息、时区、帐号、语言、输入法的设置,忽略不讲。现在的系统是无法上网的,因为BCM5784m的网卡并没有驱动起来,下载BCM5784m.zip,解压出来的kext文件里面有个plist文件用mac系统自带的文本编辑器或PlistEditPro打开,定位到IONameMatch String节点,节点值改为pci14e4,1693,保存后用kext helper b7安装这个kext。然后打开终端,运行sudo tcpdump -i en0 就可以上网了。显卡驱动需要使用NVinjecto.zip,安装方法和网卡类似,拖到kext helper b7里面,点easy install。现在的mac系统的安装就基本上告一段落了,在以后的使用中可能会出现kernel panic系统内核崩溃的情况,主要看人品了。

参考:

  1. 联想Y450a-tfo安装Snow Leopard不完整手记(32位下几近完美)
  2. 硬盘安装Leopard 适用于所有版本[附视频教程]
  3. iPC 10.5.6 安装教程(多图)