作者归档:贝贝爸

oracel表简单解锁方法

有时候操作数据库会被锁掉,表现就是对表操作的时候没有任何反应。
解锁的方法如下。重复下面的三个sql

SQL>  select sid from v$lock where block=1;

       SID
----------
        20

SQL> select sid,serial# from v$session where sid=20;

       SID    SERIAL#
---------- ----------
        20       2649

SQL> alter system kill session '20,2649';

System altered.

只到没有block=1的sid

SQL> select sid from v$lock where block=1;

no rows selected

感谢wxx

另一个查锁的sql

select l.sid,
       s.username,
       decode(l.type, 'TM', 'TABLE   LOCK', 'TX', 'ROW   LOCK', NULL) LOCK_LEVEL,
       o.owner,
       o.object_name,
       o.object_type,
       s.terminal,
       s.machine,
       s.program,
       s.osuser
  from v$session s, v$lock l, dba_objects o
 where s.sid = l.sid
   and o.object_id = l.id1
   and s.username is not null

只是不会说

贝贝今天正好14个月,每天看着她一点点地成长,她总是能给我惊喜。现在贝贝脾气很大,要什么东西不要什么东西都很明确,你想忽悠她已经很难了。
贝贝现在还没有断奶,贝妈准备天气凉快点断奶。
昨天晚上贝贝吃奶的时候,贝妈说:贝贝,我们天凉快点就断奶好不好? 继续阅读

清理svn的垃圾文件.svn文件夹

有时候把svn的代码传到服务器,会不小心传上svn的系统文件,这些文件都是用于版本控制的,在生产环境,总有点不爽。在linux下可以用一个命令删除,命令如下:
find . -name .svn | xargs rm -rf

上述命令要在代码所在目录运行哦。

svn的版本控制,也会有类似问题,方法类似,换一下名字,如下:

find . -name .cvs | xargs rm -rf

删除表中重复数据的sql

一张多用户的通讯记录表,主要是手机信息,每个用户可以建立自己的联系人组。
原来数据对数据没有校验,用户可以在一个组里面输入重复手机号码,如果数据量大,会造成数据重复。
所以要做一个唯一性的索引,如下:

create unique index inx_uniq_cellphone_onegroup on addresslist (cellphone, groupid, operatorid);

目的是保证每个用户的每个组里面,不能有同样的cellphone。
但是建立的时候出错,因为里面原来有重复的数据。
清除重复的数据,用如下的sql,如果重复的就删除rowid不等于max(rowid)的那条记录。

delete addresslist
 where rowid not in (select rowid1
                       from addresslist a,
                            (select cellphone,
                                    groupid,
                                    operatorid,
                                    max(rowid) rowid1,
                                    count(*)
                               from addresslist
                              group by cellphone, groupid, operatorid) b
                      where a.cellphone = b.cellphone
                        and a.groupid = b.groupid
                        and a.operatorid = b.operatorid
                        and a.rowid = b.rowid1)

贝贝出急疹了

满身都是红的,一片片的,看着很恐怖。
现在好点了,前天晚上不好好睡觉,半夜还一直闹。
昨天白天去了医院,打了一针,现在好多了。
说是吃海鲜可能会出这种状况,可是周日只吃了一点点阿。
咳,可怜的贝贝。

终于可以休息了

连续2个周末加班,8号体检,9号献血,献完血后,终于可以休息几天了。
跟贝贝玩儿玩儿,补补觉,爽啊
贝贝的体温有点不正常,本来要带她去中山公园玩儿的,看来要泡汤了。
等身体恢复的好点再说。
要买d80,30d又降价,但是却没货,咳,乱。

微软的live space出错

今天看一个朋友的live space,居然碰到了出错,不懂aspx,不知道算什么错误,抓了个图,如下:

ms-error.PNG

抓图后,又刷新了一下,还是报错的页面,看来错误都会犯的,嘿嘿。

早上睡的晕晕乎乎的,把手里拿着当闹钟的p525甩了出去,后盖儿摔掉了,装上继续能用,看来问题不大。这次算是真的飞出去了。

贝贝发低烧了

昨晚贝贝发低烧了,38度,昨天晚上睡的还可以,今天早上起来,体温还是有点高,身上发烫,但是精神还不错。
起来后贝妈带着贝贝出去玩儿了,早上温度还可以,但愿回来贝贝体温能下降一点。
贴张照片,和众fans一起祈祷贝贝早点好起来。
贝贝大闹天宫

share一下贝贝成长进度的php代码

主要功能是根据贝贝的出生日期来显示贝贝现在多大了,实时显示贝贝的成长。
用当前时间减去出生的日期,但是可以显示出来几岁,几个月,和几天。
天的算法有点问题,没有考虑到大小月和2月份。

function getDays() {
	putenv("TZ=Asia/Chongqing");
	$by = 2006;
	$bm = 7;
	$bd = 7;
	$rday="";

	$today = getdate();
	$by = $today[year] - $by;
	$bm = $today[mon] - $bm;
	$bd = $today[mday] - $bd;
	if ($bd < 0) {
		$bd = 30 + $bd;
		$bm--;
	}
	if ($bm < 0) {
		$bm = 12 + $bm;
		$by--;
	}
	#print $by."-".$bm."-".$bd;
	if ($by > 0) {
		$rday = $by . "岁";
	}
	if ($bm == 0&&$bd == 0){
		$rday .="生日";
	}else{
		if ($bm == 0){
			$rday.="零".$bd."天";
		}elseif ($bd == 0){
			$rday.=$bm."个月整";
		}else{
			$rday.=$bm."个月".$bd."天";
		}
	}
	return $rday;
}

 

用的时候直接

<?php echo getDays();?>

就可以了
空下来再完善以下,再写一个js的版本。
有bug请拍砖,有好的写法请留言。
您可以免费用,但是请留个到本页的链接。谢谢