Randy's profileWelcome to Randy's Live ...PhotosBlogListsMore ![]() | Help |
Welcome to Randy's Live Space心里拔凉拔凉的 |
|||||
|
|
November 19 Wireless 家里的宽带线路出问题了,狗狗调皮咬断了房间里面的电话线。由于之前走线都是从客厅到卧室的木地板下面,要换这根地下的线很麻烦。索性就升级下罢了,配置个无线的网络环境。也没怎么选择买了D-LINK的DIR-605 wireless N,性能完全满足现在家里的环境。结果回家配置无线路由的时候笔记本突然屏有点问题了。现在还能将就用,不动它屏不会出问题。怎么就这么霉额.........看来还是那句话:新买的家具一定要配上“杯具”啊! November 16 FM2010佩鲁贾开档报告佩鲁贾地区介绍 佩鲁吉亚(Perugia)
意大利中部城市。位于罗马以北、台伯河上游的山地丘陵。海拔465米。在城市的高地上可以俯瞰台伯河中游谷地和特拉西梅诺湖。人口14.3万(1982)。农产品集散地。有陶器、艺术制品、火柴、食品等工业。铁路与公路枢纽。旅游业亦较重要。有建于十三世纪的佩鲁贾大学与古代意大利伊特拉斯坎人的城墙遗迹。国立美术馆藏有文艺复兴时期的著名绘画艺术。
意大利中部山地省份翁布里亚(Umbria)的首府,也一座是富有文明遗迹的“前罗马时代”都市。纪元前四世纪初,罗马人征服伊特拉斯坎(Etruscan)古联邦,占领这座古城。其后将近千年中,佩鲁吉亚几经摧毁重建,规模渐趋稳定。九世纪,该城落入罗马教廷掌控,后虽有过一段独立,1540年又被划归“圣邦”。1861年,意大利王国收回主权。
佩鲁吉亚保留了中世纪和文艺复兴时代的一系列建筑,远至五世纪修造的圣天使环形教堂,以及十世纪的圣彼得教堂,其间藏展着许多艺术珍品。圣伯纳德讲经礼拜堂的前脸,布满格调鲜明的15世纪文艺复兴式雕塑。游客观光名处,还包括翁布里亚考古博物馆、翁布里亚国家艺术馆。佩鲁吉亚现有的两所大学中,其中一所——佩鲁贾外国人大学(Università per Stranieri, a Perugia)主要招收八方汇聚、研修经史或索求艺技的外籍学员。
-----------------------------------------------------------------------------------------------------------------------------------------
佩鲁贾俱乐部介绍
佩鲁贾足球会是一支位于意大利翁布里亚的足球会,是因财政问题倒闭的足球会A.C.佩雷贾的前身。新球会现时在意大利丙1B联赛作赛,球衣颜色是红色和白色,第三作客球衣为黄黑间条。 原球会于1905年成立,经过近年在意甲多番挣扎后,终于2004年降班并于2005年倒闭。 球会曾赢得2003年图图杯。 佩鲁贾经常尝试起用非本土球员,是日本球星中田英寿首支加盟的欧洲球会[1]。 其他著名外国球员包括安贞焕、尼沙尔、马明宇和利比亚领导人卡达菲的儿子加达菲。 -------------------------------------------------------------------------------------------------------------------------------------------- 未完待续。。。。。。。 今天有点忙,机器有点问题才弄好。先介绍下基本情况吧明天有时间再来更新 March 09 Oracle锁
在现代的多用户多任务系统中,必然会出现多个用户同时访问共享的某个对象,这个对象可能是表,行,或者内存结构,为了解决多个用户并发性访问带来的数据的安全性,完整性及一致性问题,必须要有一种机制,来使对这些共享资源的并发性访问串行化,oracle中的锁就可以提供这样的功能,当事务在对某个对象进行操作前,先向系统发出请求,对其加相应的锁,加锁后该事务就对该数据对象有了一定的控制权限,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作(可以做select动作,但select 利用的是undo中的前镜像数据了). 按锁保护的内容分类 dml锁 在 Oracle数据库中,当一个事务首次发起一个DML语句时就获得一个TX锁,该锁保持到事务被提交或回滚。在数据行上只有X锁(排他锁),就是说TX锁只能是排他锁,在记录行上设置共享锁没有意义。当两个或多个会话在表的同一条记录上执行DML语句时,第一个会话在该条记录上加锁,其他的会话处于等待状态。当第一个会话提交后,TX锁被释放,其他会话才可以加锁。 在数据表上,oracle默认是共享锁,在执行dml语句的时候,oracle会先申请对象上的共享锁,防止其他会话在这个对象上做ddl语句,成功申请表上的共享锁后,再在受影响的记录上加排它所,防止其他会话对这些做修改动作。 这样在事务加锁前检查TX锁相容性时就不用再逐行检查锁标志,而只需检查TM锁模式的相容性即可,大大提高了系统的效率。TM锁包括了SS、SX、S、X等多种模式,在数据库中用0-6来表示。不同的SQL操作产生不同类型的TM锁。如表1所示。 和锁相关的性能视图介绍 LMODE取值0,1,2,3,4,5,6, 数字越大锁级别越高, 影响的操作越多。 ID1,ID2的取值含义根据type的取值而有所不同 Dba_locks 和v$lock 内容差不多,略 V$session 如果某个session被因为某些行被其他会话锁定而阻塞,则该视图中的下面四个字段列出了这些行所属对象的相关信息 手工释放锁 怎样快速查出Oracle 数据库中的锁等待
---- 这些锁定中有"只读锁"、"排它锁","共享排它锁"等多种类型,而且每种类型又有"行级锁"(一次锁住一条记录),"页级锁"(一次锁住一页,即数据库中存储记录的最小可分配单元),"表级锁"(锁住整个表)。 ---- 若为"行级排它锁",则除被锁住的该行外,该表中其它行均可被其它的用户进行修改(Update)或删除(delete)操作,若为"表级排它锁",则所有其它用户只能对该表进行查询(select)操作,而无法对其中的任何记录进行修改或删除。当程序对所做的修改进行提交(commit)或回滚后(rollback)后,锁住的资源便会得到释放,从而允许其它用户进行操作。 ---- 但是,有时,由于程序中的原因,锁住资源后长时间未对其工作进行提交;或是由于用户的原因,如调出需要修改的数据后,未及时修改并提交,而是放置于一旁;或是由于客户服务器方式中客户端出现"死机",而服务器端却并未检测到,从而造成锁定的资源未被及时释放,影响到其它用户的操作。 ---- 因而,如何迅速地诊断出锁住资源的用户以及解决其锁定便是数据库管理员的一个挑战。 ---- 由于数据库应用系统越来越复杂, 一旦出现由于锁资源未及时释放的情况,便会引起对一相同表进行操作的大量用户无法进行操作,从而影响到系统的使用。此时,DBA应尽量快地解决问题。但是,由于在Oracle 8.0.x 中执行"获取正在等待锁资源的用户名"的查询语句 select a.username, a.sid, a.serial#, b.id1 ---- 十分缓慢,(在 Oracle 7.3.4中执行很快),而且,执行"查找阻塞其它用户的用户进程"的查询语句 ---- 执行得也十分缓慢。因而,往往只好通过将 v$session 中状态为"inactive"(不活动)并且最后一次进行操作时间至当前已超过 20 分钟以上(last_call_et>20*60 秒)的用户进程清除,然后才使得问题得到解决。 ---- 因而,我想出了一个解决办法。即通过将问题发生时的 v$lock,v$session视图中的相关记录保存于自己建立的表中,再对该表进行查询,则速度大大提高,可以迅速发现问题。经实际使用,效果非常好。在接到用户反映后,几秒钟即可查出由于锁住资源而影响其它用户的进程,并进行相应的处理。 ---- 首先,以 dba 身份(不一定为system)登录入数据库中,创建三个基本表:my_session,my_lock, my_sqltext,并在将会进行查询的列上建立相应的索引。语句如下: rem 从 v$session 视图中取出关心的字段,创建 my_session 表,并在查询要用到的字段上创建索引,以加快查询速度 drop table my_session; create unique index my_session_u1 on my_session(sid); ---- rem 从 v$lock 视图中取出字段,创建 my_lock 表,并在查询要用到的字段上创建索引,以加快查询速度 create index my_lock_n1 on my_lock(sid); ---- rem 从 v$sqltext 视图中取出字段,创建 my_sqltext 表,并在查询要用到的字段上创建索引,以加快查询速度 create index my_sqltext_n1 on my_sqltext ( hash_value); ---- 然后,创建一个 SQL 脚本文件,以便需要时可从 SQL*Plus 中直接调用。其中,首先用 truncate table 表名命令将表中的记录删除。之所以用 truncate 命令,而不是用delete 命令,是因为delete 命令执行时,将会产生重演记录,速度较慢,而且索引所占的空间并未真正释放,若反复做 insert及delete,则索引所占的空间会不断增长,查询速度也会变慢。而 truncate命令不产生重演记录,速度执行较delete快,而且索引空间被相应地释放出来。删除记录后,再将三个视图中的相关记录插入自己创建的三个表中。最后,对其进行查询,由于有索引,同时由于在插入时条件过滤后,记录数相对来说较少,因而查询速度很快,马上可以看到其结果。 alter system kill session 'sid, serial#'; prompt '获取数据.....' insert into my_lock insert into my_sqltext column username format a10 prompt "正在等待别人的用户" prompt "被等待的用户" prompt "查出其 sql " ---- 以上思路也可用于其它大型数据库系统如 Informix, Sybase,DB2中。通过使用该脚本,可以极大地提高获取系统中当前锁等待的情况,从而及时解决数据库应用系统中的锁等待问题。而且,由于实际上已取出其 program 名及相应的 sql 语句,故可以在事后将其记录下来,交给其开发人员进行分析并从根本上得到解决。 February 25 记忆中的歌声刚才CCTV3在播《记忆中的歌声》,我赶忙跑到客厅去饶有兴致的看起了。虽说是80后不过对于这些经典的老歌还是很欣赏的,个人感觉好的总是有它的道理,确实值得去回味下。应该说每首歌都能代表中国发展时期的一些故事吧。 February 18 Target今天就参加完了这次在拉法基驻厂的工作,明天回金牌服务中心了。怎么说呢虽然只有3天的时间,但还是学到了不少的东西,很多都是企业级的IT管理,感觉自己确实还要很多地方需要去学习和锻炼!我想这次的驻厂是对我的一个提高,也加深了对企业中计算机系统的了解。今年是工作的第一年很多东西都需要适应,说真的平时做惠普售后工程师还是比较辛苦,毕竟我们是现场工程师需要经常去用户现场维修机器。但我想这2年是锻炼自己提升自己的时间,我也给自己定了一个目标今年之内把Oracle OCP证书考了,不管以后有没有接触Oracle的机会,这总是我的一个理想吧,在我还有理想的时候我想努力做些自己喜欢的事情。说真的最近压力挺大的,一直闷在心里真不是很舒服,但还好我想我能调节好自己。努力工作,努力学习!现在辛苦一点多学一点没什么,为了以后为了我们这挺好的…… |
||||
|
|