Author: mac

  • Script:Diagnostic Oracle Locks

    以下脚本可以用于诊断Oracle实例中的锁情况(Lock Status): REM SCRIPT: FULLY DECODED LOCKING set echo off set lines 200 set pagesize 66 break on Kill on sid on  username on terminal column Kill heading ‘Kill String’ format a13 column res heading ‘Resource Type’ format 999 column id1 format 9999990 column id2 format 9999990 column locking heading ‘Lock Held/Lock Requested’ format a40…

  • 食物日记:上海铁板烧

    下午陪女友去不夜城买了台HTC G14,试了下发现果然不如Nexus S原生态的Android舒服,HTC定制了一大推自己的服务,看着就不爽。女友以前不用GMAIL,但是在Android上不用GMAIL的联系人太可惜了,给她注册了一个GMAIL账户,加我到通讯录的时候自动识别了我的Profile。 晚上准备去吃江边城外巫山烤全鱼,点评网上这家很不错,结果5点多到了金陵东路已经发现大批排队队伍了,拿到的号是230,实际叫号只到30多。 无奈放弃烤鱼,看到楼下有家上海铁板烧就进去了。 这家的装潢还是不错的很有日本味道,waiter和店长都很好客、服务也算周到,席间来的客人不多,而且大多是日本人,还是比较有异国情调的,对于想要换心情的我来说很不错。因为客人不多,所以如果爱安静的话那么也可以适得其所。 我们点了一份沙拉、一份拼盘、2个热菜加上2份铁板烧。 他们家的蔬菜沙拉很好吃、挺开胃的: 热菜的话和其他地方的日本菜一样味道不错,但是量比较少: 铁板烧味道不错,但是要等很久,因为店里的气氛正好,所以不敢时间的话等等也挺好的: 结账是280元,算是在意料之中的,而且也吃饱了。不错不错,可惜就是没有WIFI,下次有机会还去这家!

  • Oracle软件的美学变迁

    1999年发售的Oracle 8i是Oracle走向繁荣的重要版本,其中的i意为”internet ready”,在上个世纪90年代互联网业务意气风发,存在这样一种思潮,人们都认为进入网络时代后我们不在需要传统意义上的计算机了,像SUN这样走在时代前沿的公司更提出了”网络就是计算机的”响亮口号,可以说是今天大热的云计算的先驱者,可惜出师未捷身先死了。 在这个以”Internet”为时髦的时代,无数厂商拜倒在WWW万维网门下,显然8i是其中的成功者。 从8i安装介质的索引页面可以看到已经存在之后GRID网格计算的雏形。另外8i的LOGO中Oracle仍在使用一种红、黑、灰三色的风格。其实这是一种很后现代的风格,给人以硬朗的感觉,充满了一种千年纪的幻想。 2001年发售的9i是继8i以后的有一扛鼎作品,在8i的基础上加入了400多个特性,最令人瞩目的可能还是OPS到RAC的脱变。相比起8i来说9i更稳定一些,和整个IT行业一样挤掉了很多泡沫走向了成熟。 在整个时代已经出现了红底白字的Oracle商标,这种风格延续到了今天。但是9i仍旧是以黑色为主打色的一个版本。 2003年的10g R1中你仍可以找到以前版本黑色风格的影子: 但总的来说我最偏爱10g的安装界面风格,显得十分清新、不造作、稳健可信,而且启动迅速:   2007年发售的11g号称是Oracle 20年来最具影响力的产品,11g中R1和R2的风格有着很大的区别,R1的界面风格同10g还是比较像的,虽然换成了蓝色色调,从11g R1开始Oracle似乎彻底摆脱了黑灰风格,显得更有活力、朝气。 2009年发布的11G R2似乎立志要不走寻找路,在这个版本中Oracle美学风格发生了极大的改变,由10g的简朴发展到一种光芒四射、略嫌奢华的Style,有人说这和BEA的的风格有些相似。 我个人还是更为喜欢10g的简约,而且11g R2的OUI在启动时间上和资源消耗上更多:

  • 甲骨文Oracle公司或将收购惠普HP传闻

    甲骨文的胃口能有那么好?收购HP绝对是虎吞豹之举,相比真要成行,其所受到的阻力远大于收购SUN的时候。 几个月前和一位O记原厂售后聊起业界并购之举,他若有所得地告诉我:”不出2年,甲骨文必会鲸吞HP!”。如今想起还是觉得不可思议! 但至少HP这2天股票走高是一个事实。 In what would be Larry Ellison‘s crowning achievement if he could pull it off, the market is buzzing over the idea that Oracle could make a run at Hewlett-Packard. This idea stems from a New York Post story Sunday, which asserts that the sell-off in the stock last week has “put the…

  • 了解SYSDATE函数

    SYSDATE是我们在Oracle开发中经常要用到的一种单行函数(single row function),该函数用以返回当前的日期与时间,常和DUAL伪表一起合作。SYSDATE实际上指的是SYSDATE()函数,但是因为这个函数没有参量,所以这里可以省略()圆括号。另外SYSDATE函数是用于获取数据库所在的操作系统的当前时间值的,所以它和数据库或会话的时区没有关系。 我们可以使用NLS_DATE_FORMAT参数或者TO_CHAR函数来获得我们想要的SYSDATE日期格式,具体的格式代码如下: Format Code Explanation YEAR Year, spelled out YYYY 4-digit year MM Month (01-12; JAN = 01). MON Abbreviated name of month. MONTH Name of month, padded with blanks to length of 9 characters. D Day of week (1-7). DAY Name of day. DD Day of month (1-31). DDD Day of year…

  • Basic Oracle Presentation successful closed

    下午在客户那里做了基础Oracle知识的培训,感谢大家的支持,放2张图片。 分享讲座的PPT: Basic oracle for developer&beginner View more presentations from Maclean Liu

  • 了解你所不知道的SMON功能(九):维护MON_MODS$字典基表

    SMON后台进程的作用还包括维护MON_MODS$基表,当初始化参数STATISTICS_LEVEL被设置为TYPICAL或ALL时默认会启用Oracle中表监控的特性,Oracle会默认监控表上的自上一次分析以后(Last analyzed)发生的INSERT,UPDATE,DELETE以及表是否被TRUNCATE截断,并将这些操作数量的近似值记录到数据字典基表MON_MODS$中,我们常用的一个DML视图dba_tab_modifications的数据实际来源于另一个数据字典基表MON_MODS_ALL$,SMON定期会将MON_MODS$中符合要求的数据MERGE到MON_MODS_ALL$中。 Rem DML monitoring create table mon_mods$ ( obj# number, /* object number */ inserts number, /* approx. number of inserts since last analyze */ updates number, /* approx. number of updates since last analyze */ deletes number, /* approx. number of deletes since last analyze */ timestamp date, /* timestamp of last time…

  • Lnmp+WordPress出现控制台页面No Input File Specified

    晚上搭了一个Lnmp+wordpress的站点,结果点击控制台上的页面时总是出现No Input File Specified的错误,发现面板上的链接都缺少wp-admin的路径,然后网上查了下说是因为没设nginx的规则导致进入wp-admin目录时的路径缺少斜杠slash,正确的地址该是site.com/wp-admin/,而实际显示出来的是site.com/wp-admin。 具体解决的方法是设置nginx重写规则,这里我用的是一个比较简单的没有加wp-super-cache或w3 total cache的兼容,修改wordpress.conf如下: location / { if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; } } rewrite /wp-admin$ $scheme://$host$uri/ permanent;

  • 利用Cluster Verify Utility工具体验RAC最佳实践

    Cluster Verification Utilit(CVU)是Oracle所推荐的一种集群检验工具。该检验工具帮助用户在Cluter部署的各个阶段验证集群的重要组件,这些阶段包括硬件搭建、Clusterware的安装、RDBMS的安装、存储等等。我们既可以在Cluster安装之前使用CVU来帮我们检验所配置的环境正确可用,也可以在软件安装完成后使用CVU来做对集群的验收。 CVU提供了一种可扩展的框架,其所实施的常规检验活动是独立于具体的平台,并且向存储和网络的检验提供了厂商接口(Vendor Interface)。 CVU工具不依赖于其他Oracle软件,仅使用命令cluvfy,如cluvfy stage -pre crsinst -n vrh1,vrh2。 cluvfy的部署十分简单,在本地节点安装后,该工具在运行过程中会自动部署到远程主机上。具体的自动部署流程如下: 用户在本地节点安装CVU 用户针对多个节点实施Verify检验命令 CVU工具将拷贝自身必要的文件到远程节点 CVU会在所有节点执行检验任务并生成报告 CVU工具可以为我们提供以下功能: 验证Cluster集群是否规范配置以便后续的RAC安装、配置和操作顺利 全类型的验证 非破坏性的验证 提供了易于使用的接口 支持各种平台和配置的RAC,明确完善的统一行为方式 注意不要误解cluvfy的作用,它仅仅是一个检验者,而不负责实际的配置或修复工作: cluvfy不支持任何类型的cluster或RAC操作 在检验到问题或失败后,cluvfy不会采取任何修正行为 cluvfy不是性能调优或监控工具 cluvfy不会尝试帮助你验证RAC数据库的内部结构 RAC的实际部署可以被逻辑地区分为多个操作阶段,这些阶段被称作是”stage”,在实际的部署过程中每一个stage由一系列的操作组成。每一个stage的都有自身的预检查(pre-check)和验收检查(post-check),如图:   我们会在CRS和RAC数据库的安装过程中具体使用Cluster Verify Utility的不同”stage”,各种不同的stage可以使用cluvfy stage -list命令列出: cluvfy stage -list USAGE: cluvfy stage {-pre|-post} <stage-name> <stage-specific options>  [-verbose] Valid Stages are:       -pre cfs        : pre-check for CFS…

  • Make Connection NON Load Balance But Failover to RAC

    今天在Q群里有朋友问如何配置客户端以限制应用仅连接到特定的一个实例,而将其他实例作为Failover的对象;有网友称这是拿RAC来做双机热备。实际上在过去的8i 时代,OPS就是被人们用来充当一种升级版的双机热备的,因为双机热备仍只有1台服务器在运行,而OPS让原来闲置的备机资源也得到一定程度的利用,而且其MTTR要短于双机热备,所以虽然当时的OPS仍有着显著的性能问题(没有cache fusion),但仍有不少用户使用。 我们可以在tnsnames.ora文件中配置类似如以下2个服务别名来限制应用连接到某个特定实例,并支持client端的TAF。 FINANCE = (DESCRIPTION= (ADDRESS= (PROTOCOL=tcp) (HOST=VRH1) (PORT=1522)) (CONNECT_DATA= (SERVICE_NAME=VPROD) (INSTANCE_NAME=VPROD1) (FAILOVER_MODE= (BACKUP=HR) (TYPE=select) (METHOD=basic)))) HR = (DESCRIPTION= (ADDRESS= (PROTOCOL=tcp) (HOST=VRH2) (PORT=1522)) (CONNECT_DATA= (SERVICE_NAME=VPROD) (INSTANCE_NAME=VPROD2) (FAILOVER_MODE= (BACKUP=FINANCE) (TYPE=select) (METHOD=basic)))) 关于Load Balance和Failover的更多信息可以参见Dan Norris的<Oracle Real Application Clusters Load Balancing and Failover Options>和Jeremy Schneider的<Oracle Services on RAC: Five Things You Might Not Know> Load balancing…