|
|
用户名:vondon 笔名:冯唐 地区: 失败-成功 行业:其他 |
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
吉姆·克莱默的“二十五条股市投资规则”
规则2:缴点税没关系
“不要妄图用‘长期持有’来避免频繁进出造成的税负。不是所有的股票都值得长期持有,账面上的浮赢可能稍纵即逝,甚至眨眼工夫就变成浮亏。”
美国人炒股,如果平仓时有赢利就得缴上一笔不菲的“资本利得税”,而享受国家税收优惠的中国股民暂时还不必考虑纳税成本。国情不同,但道理相通。这条规则也可以总结成“适时平仓,落袋为安”,特别是原本就打算炒炒短线的股票,千万不要而幻想着多拿一天还会赚得更多。
规则3:何必一步到位
“建仓的时候不要一次买够,平仓的时候也不要一次都卖了。分几步走才能赶上更好的价位。”
没人能预知下秒钟的价格,多给自己几次机会。
规则4:发掘价值被低估的股票,别碰基本面出问题的公司
“华尔街不退货,买错了股只能自认倒霉。”
如果用中国的股票做例子,4月底国家统计局推迟发布一季度经济数据导致沪指下挫200点,可以算做“因外部因素导致价值被低估”,而“杭萧钢构”则绝对是基本面出了问题。但克莱默自己也承认,面对一只跳水的股票,有时候很难鉴别它是“价值被低估”还是基本面出了大问题。股民只能自己擦亮眼睛去判断了。
规则5:控制风险,分散投资
“你唯一需要做的就是控制风险,至于赚钱这件事,它会照顾好自己。”
“别把鸡蛋放在一个篮子里”,地球人都知道。但克莱默说,他经常分析新股民的持仓,发现很多人不知不觉就买了一篮子类似的股票。“他们还自以为同时持有太阳微系统、微软和EMC(注:三家都是IT行业的著名公司,但分属系统开发、软件和存储等不同领域)就算是分散投资!控制风险是你投资生涯中唯一要做的事情,而控制风险就要时时刻刻想到分散原则。”
规则6:认真完成家庭作业
“他们口口声声说懂得研究的重要性,但他们的真实态度就像小学生对待家庭作业一样!我们的确应当像监督孩子完成作业一样,督促自己去看财报,看股评,看所有你能找到的资料。而‘那么多的资料,实在是没时间看’以及‘听说不错,买进来看看吧’这是两个最要不得的态度。”
规则7:处乱不惊
“当人们涌向‘太平门’的时候,你最好保持冷静。总有一个更好的离场时机,记住。”
克莱默甚至建议在别人纷纷抛售的时候,不妨反其道行之——买入。不过,这要更像是高手的剑走偏锋,对于普通股民来说,能在恐慌中保存镇静,有条不紊地离场已经很难得了。
规则8:买蓝筹总是值得的
“就像我们买东西讲究品牌一样。蓝筹的确贵了些,但是你买到的是信誉。”
这一条看上去似乎不无道理,但正如另一位股评家指出的:你能保证这个“蓝筹”不是第
二个安然?而具体到中国的
国情,20年的改革开放,18年
的股市,尚不足以锻造出可
以“养老”的优质股票。
规则9:不要试图维持所有的头寸
“当市场走坏的时候,留几只你最中意的股票,至于其他的,最好的解决办法就是忍痛割爱。”
集中资金背水一战,才有可能多挽回一些损失。战线拉得越长,弹尽粮绝的一刻来得越早。
规则10:烂公司并不意味着会被收购
“并购题材实在是太诱惑了,以至于人们不惜在一些烂公司身上赌博。”
看来爆炒ST并不是中国股市特有的现象。克莱默坚信,只有那些股价便宜而基本面良好的公司才有可能被并购,如果基本面不好,再便宜的股价也不会被并购。他自己就在北电网络上栽了大跟头。当北电的股价因为巨亏而暴跌的时候,他还安慰自己说:都这么便宜了,北电很有希望被别的大公司收购啦。最后,他终于醒悟过来,收购或许终有一天会发生,但自己恐怕等不到那一天了。
规则11:你记不住那么多的名字
“我最多持有25只股票,买进一只,就必须卖出一只。”
这个规则看上去和“分散投资”有些冲突。其实克莱默强调的是选股时要“少而精”,而分散投资是说“不要把持仓集中在一个板块”。一个行业选一只,而你可以同时投资四五个行业。
规则12:现金是给赢家准备的
“如果你对市场的感觉不好,或者犹豫不决,那最好还是持币待购。”
不要害怕错过机会,正如巴菲特所说,只需要几次正确的投资就足以让你富有一生。
规则13:无怨无悔
“不要说‘我本该早点买’,‘我要是晚点卖’,‘我本可以’……”这些“屁话”不会让你挽回哪怕一分钱的损失,只会破坏你作出正确决策所必须的平和心态。
规则14:时刻准备着
“股价何时要回调是很难预测的,所以,时刻准备着吧。”
市场有涨就有跌,有跌就有涨。患得患失是投资的大忌。
规则15:眼睛不要只盯着股票
“别忘了还有债券!”
在自己的投资组合放一些债券品种。因为股市跌的时候往往就是债券涨的时候。
规则16:留着赚钱的卖掉赔钱的。错!
“先狠狠心卖掉赔钱的。冷静一天。如果你还是喜欢它,再买进来好了。可我敢保证,你不会再买了。”
仔细想想,有哪个股民没干过这样的蠢事?克莱默说,甚至一些专业的基金经理,在面对赎回压力时,同样会卖掉赚钱的头寸——这意味着“赢利”,去贴补亏钱的——留在手里意味着或许还有翻本的机会。我们难道真的如此难以接受赔钱的事实吗?
规则17:不要抱有任何希望
“每次听到有人说‘这该死的股票,希望它下周能回到我开仓的价格,这样我就能解套了’,我就禁不住想扇那人的耳光。”
“现价5元-买入价10元+10份希望=赢利”这样的公式从来都不成立。“希望和祈祷属于宗教,理智属于投资。站在股市的门口,放弃你所有的希望!”希望有时是支撑一个人活下去的唯一理由,而在股市里,翻本的希望是支撑你继续赔钱的主要原因。在这一点上,克莱默显示出职业投资人“冷血”的一面,但这样的冷血是必须的。
规则18:保持灵活性
“市场的本质是变化的,不要总是老眼光看新情况。”
在这里,克莱默恐怕是在为股评家的善变和自相矛盾开脱。但在诡异的证券市场上,又何妨做个“墙头草”?不要用你的“信念”或者“希望”去对抗市场的变化。
规则19:高管都溜了,你还在这干吗?
“没有哪个公司的高管会真的因为‘个人原因’而突然辞职。”
三十六计——走为上!
规则20:放弃价值投资,罪过罪过
“因为种种原因,总有一些公司的股价在一个阶段滑落到净值附近,而公司本身的经营状况并没有恶化。但大部分投资人似乎都没有耐心等待股价的回升。”
价值投资似乎总是在股市不好的时候才被提及。股市一派繁荣的时候,更多人是奔着块钱去的,投机才更有魅力。
规则21:不要轻信你从电视上听来的东西
“你在电视上听到的股评或许是对的,但仅限于‘或许’。”
在这一点上,中国股民有过深刻教训,而作为电视主持人的克莱默先生也展示了自己的真诚。
规则22:看到预告,等30天再做决定
“遵循这个原则的确让我错过了一些机会。但是,更多时候,我感到庆幸。”
虽然美国股市的信息披露原则近乎苛刻,但业绩变脸的事情同样时有发生,而中国股民更是深受其害。
规则23:小心被华尔街“忽悠”了
“那些躲在股票背后的分析师和公司,可以推动股票非正常地上涨。”
一个股评家说出这样的话,让人颇感意外。但面对投资机构的营销机器,的确,任何投资人都要倍加小心。
规则24:自圆其说
“及时修正错误决策的一个有效方法就是:向其他人解释你为什么要买这只股票。”
越来越多的人坐在电脑前,独自完成投资决策,我们只需说服自己就可以了。但是,如果有人问起,你确定自己能说服对方吗?不能自圆其说的决定,出问题的概率更大。
规则25:大牛市总是有的
“每次结束电视节目之前,我总会说这句话。我会找出个牛市给你看。因为我坚信。”股评家的广告。但借他之言,恭祝每个读者早日发财!
短信群发器也被列为打击对象了
时间的概念
日期操作常用代码
http://blog.csdn.net/qdzx2008/archive/2005/10/01/493751.aspx
using System;
namespace My.Utils {
/// <summary>
/// 日期操作常用工具
///
</summary>
public class DateUtils {
public DateUtils()
{
}
&160; /// <summary>
/// 比较日期的年份差
///
</summary>
/// <param
name="start">开始日期</param>
///
<returns>与当前日期的年份差</returns>
public static int DiffYear
(string start) {
return
DiffYear(Convert.ToDateTime(start));
}
/// <summary>
/// 比较日期的年份差
///
</summary>
/// <param
name="start">开始日期</param>
/// <param
name="end">结束日期</param>
///
<returns>年份差</returns>
public static int DiffYear (string
start, string end) {
return DiffYear(Convert.ToDateTime(start),
Convert.ToDateTime(end));
}
///
<summary>
/// 比较日期的年份差
///
</summary>
/// <param
name="start">开始日期</param>
///
<returns>与当前日期的年份差</returns>
public static int DiffYear
(DateTime start) {
return (DiffYear(start,
DateTime.Now));
}
/// <summary>
/// 比较两个日期的年份差
///
</summary>
/// <param
name="start">开始日期</param>
/// <param
name="end">结束日期</param>
///
<returns>年份差</returns>
public static int DiffYear
(DateTime start, DateTime end) {
return (end.Year -
start.Year);
}
/// <summary>
/// 格式化当天日期(yyyy-MM-dd)
///
</summary>
///
<returns>格式化后的日期字符串</returns>
public static string
DateFormat () {
return DateFormat(DateTime.Now);
}
/// <summary>
/// 格式化日期(yyyy-MM-dd)
///
</summary>
/// <param
name="date">待格式化的日期</param>
///
<returns>格式化后的日期字符串</returns>
public static string
DateFormat (string date) {
return
DateFormat(Convert.ToDateTime(date));
}
/// <summary>
/// 格式化日期
///
</summary>
/// <param
name="date">待格式化的日期</param>
/// <param
name="format">格式化串</param>
///
<returns>格式化后的日期字符串</returns>
public static string
DateFormat (string date, string format) {
return
DateFormat(Convert.ToDateTime(date), format);
}
/// <summary>
/// 格式化日期(yyyy-MM-dd)
///
</summary>
/// <param
name="date">待格式化的日期</param>
///
<returns>格式化后的日期字符串</returns>
public static string
DateFormat (DateTime date) {
return DateFormat(date,
"yyyy-MM-dd");
}
/// <summary>
/// 格式化日期
///
</summary>
/// <param
name="date">待格式化的日期</param>
/// <param
name="format">格式化串</param>
///
<returns>格式化后的日期字符串</returns>
public static string
DateFormat (DateTime date, string format) {
return
date.ToString(format);
}
/// <summary>
/// 格式化日期时间
///
</summary>
/// <param
name="datetime">待格式化的日期时间</param>
///
<returns>格式化后的日期时间字符串</returns>
public static string
DateTimeFormat (DateTime datetime) {
return
DateTimeFormat(datetime, "yyyy-MM-dd HH:mm");
}
/// <summary>
/// 格式化日期时间
///
</summary>
/// <param
name="datetime">待格式化的日期时间</param>
/// <param
name="format">格式化串</param>
///
<returns>格式化后的日期时间字符串</returns>
public static string
DateTimeFormat (DateTime datetime, string format {
return
datetime.ToString(format);
}
}
}
三叉神经痛
在我国
有人感觉脸部有短暂、或阵发性、闪电样剧痛,严重时不能说话、不能吃饭、刷牙,连洗脸、剃须。这到底是什么病呢?这可能是得了三叉神经疼。据文献报告,三叉神经痛发病年龄从10-90岁,最多人群为40岁以上的中老年人。男女比例为2:3,发病率为千分之二左右。
三叉神经为脑神经之最大支,负责面部主要的感觉神经,伴行咀嚼肌的运动神经。躯体感觉纤维大部分起源于三叉神经节。三叉神经节位于颞骨岩部尖端的三叉神经压迹处,由节的前外缘分出3
大支:(1)眼神经:是感觉神经,最小的,向前穿入海绵窦外侧壁,居滑车神经下方,继经眶上裂入眶。(2)上颌神经:较大,亦为感觉神经,向前穿入海绵窦
外侧壁下部,继水平向前,经圆孔出颅腔进入翼腭窝,再由眶下裂入眶,续为眶下神经。(3)下颌神经:最大,为混合神经,经卵圆孔至颞下窝,分出耳颞神经、
颧面神经、颧颞神经、颊神经、下牙槽神经和舌神经。
三叉神经痛属于一种神经痛,是
以反复发作的单侧面部电击样疼痛为特点。人群中的发病率约10万分之4。多见与老年人,通常的患病年龄为50-60岁,也可以发生于年轻人。典型发作形式
为:疼痛突然发作,疼痛性质剧烈,通常为电击样、针刺样或撕咬样;疼痛过程短暂,一般为数秒至一分钟,个别者可持续数分钟至一小时;疼痛发作为间断性,发
作间期可为数日甚至数十年,伴随病程发展,疼痛发作会日趋频繁,发作间期越来越短。最常见的是疼痛位于面下部和牙龈,以至好多患者误认为是牙病而拔牙治
疗。轻刺激面部的一些特定部位、咀嚼、大声说话、甚冷空气刺激都可以诱发疼痛。一旦患病就很难有自行痊愈的可能。
三
叉神经痛分为两类型,(1)继发性三叉神经痛是指可以检查到明确病因的三叉神经痛。例如,颅内桥脑小脑角等部位发生的肿瘤,先天血管畸形,多发硬化症等。
(2)原发性三叉神经痛是指无法找到明确发病原因的三叉神经痛。这类三叉神经痛经过一段时间针灸、中药、封闭等简单治疗无效或者反复的患者,要及时到疼痛
科就诊。
根据病史及临床表现不难做出诊断,有疼痛发作不典型或伴有异常神经系统体
征者应考虑为继发性三叉神经痛必要时可行颅底CT、头CT或MRI检查。至今该病发病机制不清楚。比较流行的说法是血管压迫学说。三叉神经的外面有一种神
经组织叫髓鞘,当有异常血管长期压迫神经时,髓鞘破坏,造成神经短路,正常的感觉通过短路进入中枢神经系统,而产生异常的痛觉。当气候变化或温度变化比较
明显时三叉神经痛的发病率会明显升高。
三 叉神经痛治疗方法,包括:药物治疗:如口服卡马西平。中医药治疗:口服中药,针灸,局部贴敷中药。对轻度的三叉神经痛效果很好。对于中度三叉神经痛患者需 要药物和外周神经阻滞(封闭)治疗。对严重三叉神经痛患者需要外科治疗:神经撕脱、神经切断、射频治疗、后颅凹开颅微血管减压术。最近疼痛科医生研究出的 超选择微创介入治疗三叉神经痛,是一种最新的治疗技术,利用超选择技术能够准确阻断三叉神经的痛觉细胞,不损伤感觉和运动神经细胞,对难治性三叉神经痛具 有更加安全有效的独到之处。
三叉神经痛病人日常生活中应注意以下事项:
1、 利用疼痛发作后的间歇期,清洁颜面、口腔,保持个人卫生,避免其他疾病发生。
2、 用温水洗脸和刷牙、避免冷水刺激。
3、 注意气候变化,避免风吹、和寒冷气候对颜面部的刺激。外出时戴口罩或头巾。
4、 戒烟、酒,少吃辛辣食物,避免化学刺激诱发疼痛。
5、 吃质软、易嚼食物,避免硬物刺激
6、 尽可能避免诱发疼痛的机械动作。
7、 保持乐观情绪,避免急噪、焦虑等情绪诱发疼痛。
病人在我院治疗康复后应注意以下事项:
1、 患侧面部治疗后感觉障碍,请勿做局部冷敷、热敷或热疗,以免冻伤或烫
2、 治疗后部分患者角膜反射减弱,应遵医嘱出院后继续点眼药水,风沙天外出时可戴眼镜,避免异物进入眼睛,保护角膜。如有角膜充血、水肿现象,请及时到眼科就医,以防发生角膜炎。
3、 治疗后病人患侧面部麻木,感觉障碍,易造成口唇、口腔粘膜的烫伤、咬伤或由异物引起机械性损伤及误吸等。所以注意不要食用带骨、带刺或过热的食物,进食后口腔往往滞留食物应饭后漱口,保持口腔清洁。
三叉神经痛病人的心理调节
三叉神经痛是医学界公认的神经系统中最痛苦、最顽固、治疗最困难的一种疾病,有“不死的癌症”之称。疾病不仅给病人带来了肉体上的痛苦,而且给病人带来了
精神上的折磨。病人终日处于畏惧疼痛发作的恐惧中,有的病人因此萌发轻生念头。因此,作为医务工作者我们首先要引导病人正确认识疾病、树立战胜病魔的信
心。
随着科学技术和医疗科技的发展,许多不治之症将迎刃而解。我院“颅底卵圆孔定位装置和方法”的发明和定位药物注射治疗方法的诞生,即是对广大三叉神经痛患
者的一大贡献,是以最小的损伤、最安全的方式治愈顽症的新方法,是医学发展的大势所趋。广大病人应充分认识到这一点,积极治疗,投身到与疾病的顽强抗争
中。
我们在对已康复的病人的随访中发现,许多病人仍表现为:性格孤僻、多疑,担心病情复发,对微小的面部异常感觉非常敏感,仍有戴口罩和头巾的习惯,闭门不
出,怕风、怕凉等。这都表明疾病的阴影并没有散去,给病人带来的心理创痛并没有康复。有这类情况的病人应该接受医生的开导,通过从事适当的运动、从事健康
的爱好或把精力多用于家务、工作等方面,调整心态,逐渐树立起乐观向上的生活信心。
&160; 总之,三叉神经痛病人应重视和积极做好自身的心理调节。在饮食和起居上象健康人一样生活。世界是美丽的,生活是美好的,让我们携手创造健康、美好的明天。
三叉神经痛的治疗常识
由于三叉神经痛的病因学和病理学至今还不清楚,所以,治疗的目的应是长期镇痛。镇痛的方法至今仍是多种多样。可大概分为无创和有创治疗方法。无创治疗方法
包括药物治疗、中医中药针灸疗法、理疗等。适用于病程短、疼痛较轻的患者。也可作为有创治疗方法的补充治疗。有创治疗方法包括手术疗法、注射疗法和射频热
凝疗法。
一、一般疗法
(一) 药物疗法
1.卡马西平(carbamazepine) 开始每日2次,以后可每日3次。每日0.2~0.6g,分2~3次服用,每日极量1.2g。服药24~48h后即有镇痛效果。
2.苯妥英钠(sodium phenytoin) 别名大仑丁(dilantin),为白色粉末,无臭,味微苦。易溶于水,几乎不溶于乙醚或氯仿,在空气中易潮解。
(二)中药治疗
祖国医学认为,三叉神经痛属“头痛”、“偏头痛”、“面痛”等范畴。古医书中有“首风”、“脑风”、“头风”等名称记载,如《素问.风论》:“首风之状,
头面多汗恶风,当先风1日则病甚,头痛不可以出内。”有些三叉神经痛患者,经服用中药后可收到一定的治疗效果,可使疼痛发作停止或减轻。有的临床医师采用
内服中药治疗三叉神经痛,取得了一定的效果。中医对于本病主张辨证施治,根据不同的类型,给与针对性的治疗。
对于风邪外袭型,主张治宜活血化瘀,祛风止痛。可采用加味吴茱萸汤(党参、川芎各25g,吴茱萸、白芷、天麻各18g,干姜、薄荷、防风各12g,丹参、
香附各20g,赤芍15g,钩藤30g,细辛3g),或可采用白附子10g,僵蚕10g,天麻10g,防风10g,白芷10g,细辛10g,胆南星
10g,地龙10g,川芎10g,全蝎3g。
对于肝火上炎型,采用滋阴潜阳,降火熄风。可采用全蝎5g,蜈蚣2条,僵蚕、地龙、川芎、牛膝、生地、白芍、白术各15g,制川乌10g,白芷、天麻、制
半夏各10g,细辛4g,钩藤20g,石决明30g(先煎)。也可采用白僵蚕、蔓荆子、炒没药、龙胆草、白蒺藜各9g,白芷12g,白芍、生地黄各
15g,石决明(先煎)30g,全蝎6g,甘草3g。
(三)针灸治疗
1.普通针刺疗法
针灸治疗在临床上应用方便,安全快捷,副作用小。主穴:风池、翳风、下关、手三里、合谷。配穴:第1支疼痛者加太阳,阳白,捞竹,头维。第2、3支疼痛者
加太阳、四白、下关、听 会、地仓、承浆、迎香。行重刺激法,并留针,也可用电刺激治疗机作电针治疗。
2.针刺三叉神经周围支
针刺眶上孔,眶下孔、后上齿槽孔及颏孔,直接针刺三叉神经周围支,待出现同侧分支的分布区疼痛及麻胀反应,而获迅速的镇痛效果。所持针刺手法,系提插捻转
强刺激,不论阴阳补泻,对初针患者采用卧位,手法宜轻,以免引起晕针,或产生惧怕情绪。
二、三叉神经周围支封闭疗法
三叉神经周围支封闭是临床治疗三叉神经痛的常用方法。注射的部位主要是三叉神经分支通过的骨孔,如眶上孔、眶下孔、下齿槽孔、颏孔、翼腭孔等。所用药物包
括无水乙醇、苯酚溶液、多柔比星、链霉素等。三叉神经周围支封闭治疗止痛范围局限,其效果与操作者的技术水平和患者的病情程度也关系密切,因此,多数病人
在半年至2年内复发。
三叉神经周围支阻滞根据注射部位分为:眶上神经阻滞术,眶下神经阻滞术,后上齿槽神经阻滞术,上颌神经阻滞术,颏神经阻滞,下齿糟神经阻滞和下颌神经阻滞术。
三、半月神经节阻滞疗法
概述
采用半月神经节阻滞治疗三叉神经痛目前己在国内外广泛使用,多年来,这一注射疗法已被证明是有效的,它的确能恒久地治愈三叉神经痛。但因其注射技术较难掌
握,主要是穿刺操作的准确性难以把握,因此,治疗效果随着各人的技术不同而大有出入。经卵圆孔刺入颅腔内的半月神经节,注入甘油、无水乙醇、苯酚溶液、多
柔比星、阿霉素等神经毁损药物,以阻滞三叉神经第2、3支甚至全部的三支,可获得长时间的阻滞效果。用于治疗顽固性三叉神经痛、颌面部癌痛及带状疱疹后遗
痛。
治疗适应证
1、本注射疗法适用于一切较严重而顽固的三叉神经痛患者,尤其是具有开颅手术禁忌的老弱及慢性病患者。2、三叉神经痛同时累及第2、3支,1、2支或全部
3支,并经各周围支阻滞无效者。3、顽固的面部带状疱疹后三叉神经痛。
并发症
半月神经节阻滞可能引起的一些并发症,大多是由于穿刺(无仪器定位的徒手穿刺)方向不准或进针过深损伤附近的血管、脑神经和组织,或乙醇(我院使用安全性
高的药物——医用高纯度甘油)剂量较大并流入蛛网膜下隙引起损害。并发症的发生率是非常低的。半月神经节阻滞的并发症经过努力大多可以避免。
并发症主要有:阻滞范围内感觉丧失或异常;眩晕综合征;咀嚼困难 ;脑神经损害;.同侧角膜炎、角膜溃疡等。
注射疗法和开颅手术的关系是可以互相补充的。手术治疗三叉神经痛近年来已很少。适用于开颅手术的患者,都应先行注射治疗,凡行开颅手术未能成功者,或手术
治疗效果不好,或手术后复发的患者,注射疗法也可收到很好的效果。
四、射频热凝疗法
概述
射频热凝疗法是利用高温作用于神经节、神经干和神经根等部位,使其蛋白质凝固变性,从而阻断神经冲动的传导。目前,射频热凝疗法在临床较广泛,热凝术的治
疗效果良好,但并发症较多,目前尚无死亡的病例报道。虽然复发率较高,由于操作方便,可重复实施,最终达到镇痛的目的。
不良反应及并发症
1、操作中疼痛 本方法需取得患者配合。治疗前应讲清楚,在局部麻醉下施行此种治疗具有一定的痛苦,必须取得患者的理解和配合,并注意从60℃开始缓慢加热,可减少突然高温所带来的痛苦。
2、颅内出血 半月神经节内侧邻近海绵窦和颈内动脉,穿刺不慎或进入卵圆孔过深易损伤而出血,严重者可形成颅内血肿。(仪器定位穿刺可完全避免)
3、脑神经损害 如面部轻瘫等。
4、颅内感染 严格无菌操作可防止颅内继发感染。特别需要注意防止反复穿刺时穿刺针穿破颊黏膜将口腔内细菌带入颅内。
5、带状疱疹 可在手术后数日出现在患区,其机理尚不清楚。局部可涂甲紫或可的松软膏,数日即可愈合。
6、角膜炎
半月神经节热凝术的一个较为严重的并发症即是角膜反射消失,严重者可引起麻痹性角膜炎,最终可导致患者失明。操作过程中要注意控制加热的温度和时间,并随
时查看角膜反射的变化。已发生角膜反射丧失者,要嘱患者带眼镜,使用眼膏保护角膜,防止角膜炎。有的角膜反射消失后需数个月才逐渐恢复。
7、 面部感觉障碍 大多数患者治疗后可有不同程度的面部感觉障碍。在Menzel总结的315例中,治疗后大约93.1%患者面部有不同程度的麻木感或烧灼感。
因此,在治疗前,患者及家属有权向主治医生了解治疗可能可能产生的副作用。
五、周围神经撕脱术
有的专家认为供养三叉神经的动脉发生硬化、缺血,以致神经纤维营养代谢紊而发生变性。远心端神经周围纤维组织增生对血管的压迫使血供进一步减少,加重神
经变性,导致神经纤维脱髓鞘而发生“短路串电”现象。因此,在临床上出现了周围神经撕脱术,进行该手术时,应尽可能多地向近心端撕脱,以防止手术后三叉神
经痛复发。由于该方法对多支痛或深部痛三叉神经痛的治疗捉襟见肘,效果不佳,因此应用不多。
六、半月神经节球囊压迫法
球囊压迫法是国际上八十年年代开始用于治疗三叉神经痛的技术。患者采用全身麻醉、气管插管和控制呼吸。由于穿刺操作者的熟练程度不同,麻醉时间在20分钟
~160分钟。所以要求麻醉随时终止,患者尽快清醒。在X线屏幕下进行半月神经节穿刺术。将有针芯的14号穿刺针经面部皮肤穿刺。穿刺针停在卵圆孔,并拔
出针芯,经穿刺针将Fogarty球囊放入半月神经节。用注射器接球囊外的导管接头,注入1~2ml液体,使球囊胀大,形成大约为1×1.5cm的梨形囊
(X线屏幕下所见),并维持数分钟。在压迫结束后抽出液体,胀大的球囊复原。把球囊与穿刺针一起拔出,压迫穿刺点止血。整个操作过程均在X线屏幕下进行。
手术成功率在90%左右,但半年后复发再次治疗有效,远期效果待观察。
七、三叉神经根微血管减压术
自从Dandy 1934年首先提出血管压迫三叉神经根能导致三叉神经痛的论点以后,一些临床资料也表明血管压迫三叉神经是三叉神经痛的原因之一。许多学者因此采用神经血管减压术治疗三叉神经痛。
(一) 常用方法
目前治疗三叉神经痛常用的开颅手术有:经颅中窝三叉神经感觉根切断术、三叉神经脊束切断术、三叉神经根解压术和颅后窝三叉神经根微血管解压术。
(二)手术操作技术
常规消毒后,采用2%利多卡因作耳后标记线内浸润麻醉或全麻。沿标记线作切口,用颅骨钻紧靠乙状窦后缘钻开一直径大约为2cm大的骨窗(将骨屑收集备
用)。在手术显微镜下将小脑向后上方轻轻牵开,用2~3mm宽带吸引管的微型脑压板由此放入达三叉神经根部,自神经出脑桥处向远端探查血管压迫及其他病灶
情况。在神经与血管之间夹放一块自体小肌片。将受血管压迫的神经包绕起来与血管隔开。此时嘱患者自己用手撞击扳机点及做平时易诱发疼痛的某些动作,若无疼
痛则达到减压目的。逐层缝合关闭切口。
(三)影响手术效果主观满意度的因素
三叉神经痛行显微血管减压治疗,虽长期疗效各报道不一,但仍可作为一种可行方法应用。以往远期疗效随访多偏重客观因素,缺乏了解患者对治疗效果的主观满意
度,而后者对于从整体判断三叉神经显微血管减压效果也是重要的。影响主观满意度的一些因素包括:
1、三叉神经痛是一个给患者带来极大痛苦,而各种治疗方法又均无十分理想效果的一种疾患。因而随访中发现,尽管客观上患者手术后疼痛未彻底消失,留有轻微
疼痛或疼痛复发,但疼痛程度轻,又改变了手术前疼痛不能为药物所控制的状况,或伴有轻度并发症者,主观上患者仍对本手术的效果表示满意。对于这种客观和主
观上不一致性,患者自我对比手术前那种难以忍受的疼痛与手术后的情况,得出正确的选择是可以理解的,这也为采用显微血管减压术治疗三叉神经痛增强了信心。
随访中患者较高的满意度表明,此手术仍不失为三叉神经痛治疗的较好方法。
2、
手术后早期治愈率并不可靠。随访中发现,手术后疼痛未缓解或未完全缓解者大多数表示不满意。这些患者均为开展显微血管减压手术早期的病例。近年来由于注重
了受累血管的识别,尤其是那些无名小动脉与三叉神经相交叉或在脑干处相接触,或多根侵犯血管存在或动脉环隐蔽的情况,对静脉压迫电凝切断,也采用完全切开
神经周围增厚的蛛网膜,以伸直三叉神经根的方法,皆获得了满意的效果。
3、在显微血管减压手术后,尽管疼痛缓解,如果仍遗留有面部感觉障碍或听力障碍等并发症,患者是不会满意的。行血管减压不仅仅为了缓解疼痛,还必须注意保
留神经功能,这是有别于三叉神经痛其他外科方法的重要一点。
八、伽玛刀治疗三叉神经痛
伽玛刀问世30多年来,已成为立体定向放射外科领域最重要的手段。伽玛刀镇痛的原理就是将伽玛射线聚焦于预选的与疼痛有关的脑部神经核团或痛觉传导通路
上,一次大剂量照射毁损痛觉的传导通路、阻断痛觉的传导而达到镇痛的效果。应用伽玛刀治疗三叉神经痛也取得了一定疗效。
应用伽玛刀治疗是先通过影像学定位,计算出三叉神经根的三维坐标,再将聚焦的伽玛射线会聚在靶点,治疗医师通过对剂量大小的控制,可阻断痛觉的传导。治疗
过程简单,患者痛苦小,易于接受。但一次治疗费用昂贵,约在2万元左右。根据从事伽玛刀工作的业内专家透露,伽玛刀治疗三叉神经痛的成功率在60%左右,
且有复发可能。来我院治疗的病人中就有很多做过伽玛刀治疗没有治愈的,其中新加坡病人杜某就是例证之一。
根据目前的经验,适合伽玛刀治疗的条件为:
①其他治疗无效的顽固型带状疱疹后三叉神经痛
②诊断为继发性三叉神经痛,经影像学检查颅内有较小的肿瘤或血管畸形,可应用伽玛刀治疗其原发病变。一般随原发病变的好转,疼痛也会缓解。
三叉神经痛的病因
三叉神经痛分为原发性三叉神经痛和继发性三叉神经痛,人们常说的三叉神经痛是指原发性三叉神经痛。
一、原发性三叉神经痛的病因
过去认为原发性三叉神经痛并无特殊病理改变。近年来对三叉神经痛的病因有了进一步的认识,大致归纳为以下两种原因:
⑴中枢性病因
三叉神经痛的阵发性提示一种感觉性癫痫样的放电,放电部位可能在三叉神经脊束核内或中枢其它部位。三叉神经痛的突然发作、持续时间短暂、有扳机点、抗癫痫
治疗有效、加之在疼痛发作时中脑处记录到局灶性癫痫样放电均支持中枢性病因学说。但此学说难以解释临床所见的许多现象。
⑵周围性病因
即病因在半月节到桥脑之间的后根部分,文献报告多倾向于周围病变,有以下学说:①机械性压迫或牵拉三叉神经根,主要是临近的血管压迫三叉神经根。②动脉硬
化引起三叉神经的供血不足。③多发性硬化或自发性脱髓鞘疾病。④家族性三叉神经痛。多数临床资料表明血管压迫三叉神经根是原发性三叉神经痛的主要病因。
总之,目前国内外医学界对原发性三叉神经痛的病因尚无一致意见,因此,临床治疗方案难以针对病因来确立。现有治疗方法多是以缓解症状、消除疼痛即所谓的对症治疗为目的。
二、继发性三叉神经痛的病因
继发性三叉神经痛,在临床上较少见,主要为颅内和颅底骨的肿瘤、血管畸形、蛛网膜粘连增厚、多发性硬化等原因导致的三叉神经痛。继发性三叉神经痛的病因可
通过辅助检查,如:颅底X线照片、脑血管造影 、脑室造影、CT或核磁共振检查来发现原发病灶。明确病因,以助诊断,针对原因进行处理。
原始的xcopy命令,解决你的拷贝备份问题
Oracle导入程序Imp的使用详解
心跳线的制作方法
laszlo安装
MySQL字符集及MySQL编码转换
出处:未知
个人建议,数据库字符集尽量使用utf8(utf-8),以使你的数据能很顺利的实现迁移,因为utf8字符集是目前最适合于实现多种不同字符集之间的转换的字符集,尽管你在命令行工具上无法正确查看数据库中的内容,我依然强烈建议使用utf8作为默认字符集.
接下来是完整的一个例子:
1.创建数据库表
#注意后面这句话 “COLLATE utf8_general_ci“,大致意思是在排序时根据utf8编码格式来排序
#那么在这个数据库下创建的所有数据表的默认字符集都会是utf8了
#这句话就是创建一个表了,制定默认字符集为utf8
2.写数据
通过php直接插入数据:
通过页面提交插入数据:
自此,使用utf8字符集的完整的例子结束了.
如果你想使用gb2312编码,那么建议你使用latin1作为数据表的默认字符集,这样就能直接用中文在命令行工具中插入数据,并且可以直接显示出来.而不要使用gb2312或者gbk等字符集,如果担心查询排序等问题,可以使用binary属性约束,例如:
附:旧数据升级办法
以原来的字符集为latin1为例,升级成为utf8的字符集。原来的表: old_table (default charset=latin1),新表:new_table(default charset=utf8)。
第一步:导出旧数据
第二步:转换编码
在这里,假定原来的数据默认是gb2312编码。
第三步:导入
修改old.sql,增加一条sql语句: “SET NAMES utf8;“,保存。
大功告成!
WebWork入门教程--创建你第一个WebWork action
通过JDBC连接oracle数据库的十大技巧
google搜索原理论文的中文版
Openlaszlo 开发技术简介
天下没有免费的午餐
oracle 切换归档方式
中国贫富标准线
windows 操作系统 的序列号
七夕情人节祝福有情人终成眷属
VC常用开发技巧总结
巧妙破解Windows XP的登录密码简法
首先找一台没有设置密码的Windows XP系统,进入XP系统盘的“\WINDOWS\system32”系统目录,把其中的名为“SPOOLSV.EXE”(50KB)拷贝到"软盘或闪存里(如图1)。
友情提示:
如果未在system32文件夹中找到指定文件,则说明当前系统隐藏显示系统文件,在资源管理器中点击菜单“工具→文件夹选项”,在“查看”标签页中撤消“隐藏受保护的操作系统文件(推荐)”复选框,并将“隐藏文件和文件夹”选择为“显示所有文件和文件夹”方式。
准备好密码文件后,先确认待破解的Windows XP的文件系统(即磁盘系统格式),如果是FAT32,那么只需找一张启动盘,把软盘里的“SPOOLSV.EXE”拷贝到目标XP系统的“\WINDOWS\system32”文件夹覆盖。
目标XP系统的文件系统是NTFS,如果是还装了能识别NTFS文件系统的其它操作系统(如Windows 2000或Windows Server 2003),直接进入系统进行覆盖。否则的话,可以在纯DOS状态下加载NTFS for DOS工具进行访问覆盖。
替换文件后,正常方式启动Windows XP,可以不用输入密码直接进入Windows
XP桌面已成功破解(多用户的XP系统会选择默认即第一个用户登录)。调出“Windows
任务管理器”工具(快捷键“Ctrl+Shift+Esc”),在“进程”列表中可以查看到“SPOOLSV.EXE”进程(如图2)。
请注意,通过此方法会造成XP无法使用休眠关机,切换用户时(快捷键“Win+L”)还会提示输入密码才能返回桌面,请读者们谨慎使用。另外本文只作技巧探讨,千万别用在非法目的,否则后果自负。^)^
转载:Windows密码与SAM文件问题汇总
Windows密码与SAM文件问题汇总
作者:Andy1990zx 时间:2006-3-30 19:28:34
Windows 2000所在的Winnt\System32\Config下有个SAM文件(即账号密码数据库文件),它保存了Windows 2000中所有的用户名和密码。当你登录的时候系统就会把你键入的用户名和密码。与SAM文件中的加密数据进行校对,如果两者完全符合,则会顺利进入系 统,否则将无法登录,因此我们可以使用删除SAM文件的方法来恢复管理员密码。
用Windows PE(EDR软件)、Bart PE、NTFSDOS等启动,把管理员Administrator账号密码置空,这时你可以用Administrator帐户登录系统,不用输入任何密码,进入系统后再重新设置你的管理员账户密码即可。
把sam考到别的机器上,用LC5破解很快,或者直接把硬盘挂到其他的2K或XP系统下进行这个操作
需要注意的是:
A.这方法不能在Windows XP/2003上使用,如果删除SAM文件,会引起系统崩溃。
B.WindowsNT/2000/XP 中对用户账户的安全管理使用了安全账号管理器(Security
AccountManager,SAM)的机制,安全账号管理器对账号的管理是通过安全标识进行的,安全标识在账号创建时就同时创建,一旦账号被删除,安
全标识也同时被删除。安全标识是惟一的,即使是相同的用户名,在每次创建时获得的安全标识都是完全不同的。因此,一旦某个账号被删除,它的安全标识就不再
存在了,即使用相同的用户名重建账号,也会被赋予不同的安全标识,不会保留原未的权限。安全账号管理器的具体表现就是%SystemRoot%\
system32\config\sam文件。SAM文件是WindowsNT/2000/XP的用户账户数据库,所有用户的登录名及口令等相关信息部会
保存在这个文件中。
C.另外,在Windows XP中,将\WINDOWS\repair\sam文件复制到\WINDOWS\system32\config\目录下覆盖掉原有的文件(如果不放心可以先备份一下原有的SAM文件)Administrator帐号的密码即为空的了
D.如有可能,建议使用其它方法。
优点:使用简单 缺点:破坏安全标识,不能在Windows XP、Windows 2003 使用,如果用EFS加密,加密破坏,数据丢失。
E.Repair下的sam文件是当初安装XP时产生的
这样操作成功登陆后,如果系统打开了系统还原,可以还原到最新的还原点。
转者注:在网上看到了一堆这样、那样的windows 2000/XP的管理员口令的破解。绝大多数误导大家,看到这篇文章,觉得是说到了点子上:回复管理员口令时,对windows 2000和XP的SAM文件的处理是不同的,2000的SAM文件可以直接改名或删除,管理员的口令就为空了;XP的口令要用%SystemRoot%\ Repair\Sam 文件覆盖(将以前的改名比较保险)才行,删除config下的Sam文件就惨了。
总结了一下,有如下的几个方法:
1. 用各种启动盘(软盘、USB盘、可启动的光盘)启动,使用一些工具直接修改管理员口令,还比较好使,就是要用启动盘。软盘估计大家都没有了,USB盘还必须要一个啥的windows98来做,光盘嘛,还要刻一张,最好还是用RW的,要不有一点浪费。
2. 利用windows xp的安装盘或带命令行方式的安全模式启动xp,钻xp的漏洞来修改。不过这些现在都不太好用了,盖茨也在不断的改进啊,因此,许多人认为按照教程来,就是不成功的原因了。
3. 像什么使用LC4/LC5的方法,如果口令比较复杂,那可有你等的了。
4. 就是上面偶很欣赏的方法,启动起来,直接用一些rename,copy等命令就搞定了。
WEB服务的规划==>HTTPD安装/应用模块配置==>升级/维护等过程
如何匹配字符串中的汉字
匹配汉字:
Regex r= new Regex(@"[\u4e00-\u9fa5]+");
MatchCollection m=r.Match(yourstring);
-------------------------
如果需要使用正则表达式匹配Unicode字符的话...
这里是几个主要非英文语系字符范围(google上找到的):
2E80~33FFh:中日韩符号区。收容康熙典部首、中日韩辅助部首、注音符号、日本假名、韩文音符,中日韩的符号、标点、带圈或带括符文数字、月份,以及日本的假名组合、单位、年号、月份、日期、时间等。
3400~4DFFh:中日韩认同表意文字扩充A区,总计收容6,582个中日韩汉字。
4E00~9FFFh:中日韩认同表意文字区,总计收容20,902个中日韩汉字。
A000~A4FFh:彝族文字区,收容中国南方彝族文字和字根。
AC00~D7FFh:韩文拼音组合字区,收容以韩文音符拼成的文字。
F900~FAFFh:中日韩兼容表意文字区,总计收容302个中日韩汉字。
FB00~FFFDh:文字表现形式区,收容组合拉丁文字、希伯来文、阿拉伯文、中日韩直式标点、小符号、半角符号、全角符号等。
比如需要匹配所有中日韩非符号字符,那么正则表达式应该是^[\u3400-\u9FFF]+$
理论上没错, 可是我到msn.co.ko随便复制了个韩文下来, 发现根本不对, 诡异
再到msn.co.jp复制了个'お', 也不得行..
然后把范围扩大到^[\u2E80-\u9FFF]+$, 这样倒是都通过了, 这个应该就是匹配中日韩文字的正则表达式了, 包括我們臺灣省還在盲目使用的繁體中文
而关于中文的正则表达式, 应该是^[\u4E00-\u9FFF]+$, 和论坛里常被人提起的^[\u4E00-\u9FA5]+$很接近
需要注意的是论坛里说的^[\u4E00-\u9FA5]+$这是专门用于匹配简体中文的正则表达式, 实际上繁体字也在里面, 我用测试器测试了下'中華人民共和國', 也通过了, 当然, ^[\u4E00-\u9FFF]+$也是一样的结果
载 http://sgsoft.cnblogs.com/archive/2006/04/26/32486.html
利用集群技术实现 Web 服务器的负载均衡
Oracle如何配置逻辑备用数据库
1.逻辑备用数据库介绍
逻辑备用数据库使用主数据库的拷贝创建出来,但是创建出来以后,该备用数据库的物理结构就与主数据库不同了。逻辑备用数据库通过应用SQL语句进行更新。这样就允许用户在任何时候都可以在备用数据库上运行查询和报表了。
因为逻辑备用数据库使用SQL语句进行与主数据库的同步,所以逻辑备用数据库必须打开。而且,在逻辑备用数据库上,还可以创建其他的索引和物化视图来提高效率。不过逻辑备用数据库在数据类型、表的类型和DDL以及DML上有些限制。
逻辑备用数据库的优点:
a、更加有效利用了备用数据库的硬件资源
b、减小了主数据库的负载,例如将非实时性的查询转移到备用数据库等
c、可以作为主数据库的备份
2.创建逻辑备用数据库前对主数据库的准备
在创建逻辑备用数据库的过程中,必须确保在主数据库上做配置所用的用户帐号具有以下数据库角色:
a、logstdby_administrator角色,用来使用逻辑备用功能
b、select_catalog_role角色,能够访问所有数据字典视图。
下面详细说明了创建一个逻辑备用数据库前,必须在主数据库上进行的准备工作。
2.1 启用forced logging
将主数据库设置为force logging模式:
SQL>alter database force logging;
2.2 启用归档,并在本地定义一个归档路径
确保主数据库设置成归档模式,启用自动归档,并且必须有一个本地的归档路径。
SQL> alter system set log_archive_dest_1='location=D:\oradata\rmantgt\archive mandatory' scope=both;
2.3 确认log_parallelism初始化参数
在主数据库上,使用show parameter的命令显示当前log_parallelism初始化参数的值。逻辑备用数据库要求你将该初始化参数设置为1,同时这也是该参数的缺省 值。如果该参数已经是1了,则跳到2.4步骤。否则,设置log_parallelism=1,如下:
SQL>alter system set log_parallelism=1 scope=spfile;
设置完以后,需要重启数据库以使设置生效。
2.4 确定所能支持的数据类型和表类型
在建立逻辑备用数据库前,确保在当前主数据库中的数据类型和表类型都是逻辑备用数据库所能支持的。
逻辑备用数据库所支持的数据类型有:char、nchar、varchar2和varchar、nvarchar2、number、date、 timestamp、timestamp with time zone、timestamp with local time zone、interval year to month、interval year to second、raw、clob、blob
逻辑备用数据库不支持的数据类型有:nclob、long、long raw、bfile、rowid、urowid、user-defined types、objec types refs、varrays、nested tables
逻辑备用数据库不支持的表、sequences和视图有:用户在sys schema里定义的表和sequences、那些含有不支持的数据类型的表、使用了segment compression的表、索引组织表(index-organized tables)
确定主数据库是否含有不支持的对象,查看dba_logstdby_unsupported视图,该视图列出了逻辑备用数据库所不支持的对象:
SQL> select distinct owner,table_name from dba_logstdby_unsupported order by owner,table_name;
如果主数据库含有不支持的对象,则日志应用服务在逻辑备用数据库上运用重做日志会自动剔除那些不支持的对象。
如果以下SQL语句在主数据库上运行了的话,那么传到逻辑备用数据库以后,也不会在逻辑备用数据库上运行:ALTER DATABASE、ALTER SESSION、ALTER SNAPSHOT、ALTER SNAPSHOT LOG、ALTER SYSTEM SWITCH LOG、CREATE CONTROL FILE、CREATE DATABASE、CREATE DATABASE LINK、CREATE PFILE FROM SPFILE、CREATE SCHEMA AUTHORIZATION、CREATE SNAPSHOT、CREATE SNAPSHOT LOG、CREATE SPFILE FROM PFILE、CREATE TABLE AS SELECT FROM A CLUSTER TABLE、DROP DATABASE LINK、DROP SNAPSHOT、DROP SNAPSHOT LOG、EXPLAIN、LOCK TABLE、RENAME、SET CONSTRAINTS、SET ROLE、SET TRANSACTION。
那些在主数据库上修改元数据的pl/sql存储过程也不会在逻辑备用数据库上运行。比如在主数据库上运行了 dbms_mview_refresh,但是传到备用数据库后并不会被应用。唯一的例外是dbms_job包,job元数据会应用到逻辑备用数据库上,但 是jobs本身不会执行。
2.5 确认主数据库里表的行都可以唯一标识
由于在逻辑备用数据库里rowid可能不等于主数据库里的rowid,所以必须采取一些机制来保证在主数据库里所更新的行能够对应到备用数据库里相应的行。
可以采用以下对应方法:主键或唯一索引。
在主数据库里,无论合适与否,每个表都添加主键或唯一索引。这样就能确保应用SQL操作时可以有效的更新逻辑备用数据库里的数据了。
采用以下的方法来确保日志应用服务可以唯一的标识表里的行。
2.5.1 在主数据库里找到那些没有唯一标识的表
查询dba_logstdbby_not_unique视图,来确定主数据库里那些还没有主键或唯一索引的表。
SQL> select owner,table_name,bad_column from dba_logstdby_not_unique where table_name not in(select table_name from dba_logstdby_unsupported);
该语句找出的表仍然能够支持,因为supplemental logging在重做日志里添加了唯一标识行的信息。主键或唯一索引的存在与否,能够影响追加的日志(supplemental logging):
a、如果表有主键或唯一索引,则在supplemental logging的时候,向重做日志添加的信息是最少的。
b、如果表没有主键或唯一索引,supplemental logging会自动在重做日志里记录所有字段的值。
2.5.2 添加一个disabled的主键类型的rely的限制(disabled primary key rely constraint)
如果应用程序确保表里的行是唯一标识的,你可以在表上创建一个disabled主键类型的rely的限制:
SQL>alter table mytab add primary key(id,name) rely disable;
rely constraint告诉系统确保了所有的行都是唯一的。如果rely constraint所指定的列没有唯一,则在逻辑备用数据库应用SQL时将会失败。最好添加主键或唯一索引,这样在逻辑备用数据库应用SQL语句时也会速度快些。
2.6 确保启用追加的日志(supplemental logging)
在创建逻辑备用数据库前,在主数据库上,必须启用supplemental logging。因为oracle只会对那些修改的列生成日志,这对唯一标识那些被修改的行时并不总是足够的,额外的信息(supplemental)必 须被加到重做日志里。这些被加到联机日志里的supplemental信息能够帮助日志应用服务正确的标识逻辑备用数据库里的表和表里的行。
确定在主数据库上,supplemental logging是否被启用,可以查询v$database,如下:
SQL> select supplemental_log_data_pk,supplemental_log_data_ui from v$database;
如果为NO,则说明supplemental logging没有被启用。如果被启用,则转到2.7,否则如果没有被启用,则采用下面的方法来启用。
2.6.1 启用supplemental logging
在主数据库上,执行下面语句以便将主键和唯一索引信息添加到归档日志里:
SQL> alter database add supplemental log data(primary key,unique index) columns;
该语句在主数据库中向重做日志添加了唯一标识行的信息,从而日志应用服务可以在备用数据库里正确的标识相同的行了。
2.6.2 切换到一个新的重做日志
在主数据库上,执行以下语句:
SQL> alter system archive log current;
通过切换到一个新的日志文件,这样,你就可以保证当前重做日志既不含有supplemental日志数据也不含有 nonsupplemental日志数据。逻辑备用数据库不能使用那些既含有supplemental日志数据又含有nonsupplemental日志 数据的重做日志。
2.6.3 确保启用supplemental logging
SQL> select supplemental_log_data_pk as primaryKey,supplemental_log_data_ui as uniqueIndex from v$database;
如果都为yes则说明启动了。
如果在一个已经含有物理备用数据库的data guard配置中启用了supplemental logging的话,那么必须在每个物理备用数据库中分别执行alter database add supplemental log data,以便将来在switchover的时候能够正常工作。
2.7 创建一个可替代的表空间
如果希望在主数据库和逻辑备用数据库之间进行switchover,你必须在主数据库上创建一个替代表空间,并且将逻辑备用数据库里system表转移到这个替代表空间里。
逻辑备用数据库使用一组在sys和system schema下的表。这些表缺省创建在system表空间下。这些表可能会增长非常快。通过预先准备一个单独的表空间,然后将这些逻辑备用系统表转移到这 个单独的表空间下,从而避免了这些表将整个system表空间都填满的情况出现。
在逻辑备用数据库创建时,会向这些逻辑备用系统表填数据。这样,应该在创建逻辑备用数据库前,就将这些表转移到独立的表空间里去。
创建表空间:
SQL> create tablespace logmnrts datafile 'D:\oradata\rmantgt\logmnrts.dbf' size 25m autoextend on maxsize unlimited;
转移表:
SQL> execute dbms_logmnr_d.set_tablespace('logmnrts');
如果在备用数据库里的初始化参数standby_file_management设置为true,则前面创建表空间的命令会自动应用到备用数据库上。否则如果没有设置为true,则需要手工在备用数据库上执行。
3.创建逻辑备用数据库
3.1 确认主数据库的数据文件和联机日志文件
在主数据库上,查询v$datafile列出所有的逻辑备用数据库所需要的数据文件:
SQL> select name from v$datafile;NAME------------------------------------------------D:\ORADATA\RMANTGT\SYSTEM01.DBFD:\ORADATA\RMANTGT\USERS02.DBFD:\ORADATA\RMANTGT\USERS01.DBFD:\ORADATA\RMANTGT\UNDO02.DBF
在主数据库上,查询v$logfile列出所有的逻辑备用数据库所需要的日志文件:
SQL> select group#,type,member from v$logfile; GROUP# TYPE MEMBER---------- ------- ------------------------------ 1 ONLINE D:\ORADATA\RMANTGT\REDO01.LOG 2 ONLINE D:\ORADATA\RMANTGT\REDO02.LOG 3 ONLINE D:\ORADATA\RMANTGT\REDO03.LOG
3.2 对主数据库生成一份拷贝
在主数据库上,进行以下步骤,以生成一份主数据库文件的冷拷贝备份。
第一步 关闭主数据库
SQL> shutdown;
第二步 拷贝数据文件到临时目录
使用操作系统命令将3.1所找出来的数据文件拷贝到一个临时目录。拷贝到临时目录是因为主数据库后面还会再次被关闭。
第三步 重启主数据库
SQL> startup
第四步 为备用数据库创建一个控制文件的备份拷贝在主数据库上,为备用数据库创建一个控制文件的备份:
SQL> alter database backup controlfile to'D:\oradata\dataguard_logic_tmp\logicdg.ctl';
第五步 在主数据库上启用限制登录(restrict session)模式
在主数据库上,启用限制登录模式,这样就不允许其他用户登录进行DDL或DML操作。
SQL> alter system enable restricted session;
第六步 创建logminer目录
为了创建逻辑备用数据库,你必须为逻辑备用数据库手工创建目录结构。在主数据库上,采用以下命令创建logminer目录:
SQL> execute dbms_logstdby.build;
第七步 在主数据库上禁用限制登录(restrict session)模式
SQL> alter system disable restricted session;
第八步 确定最后归档的日志文件
为了获得创建逻辑备用数据库的起点,查询v$archived_log视图,确定最后的归档日志,并且在后面创建的过程中,输入该归档日志的名字。
SQL> alter system archive log current;SQL> select name from v$archived_log where (sequence#=(select max(sequence#) from v$archived_log where dictionary_begin='YES' and standby_dest='NO'));NAME---------------------------------------------------------------------------D:\ORADATA\RMANTGT\ARCHIVE\ARC00315.001
3.3 为备用数据库准备一个初始化参数文件
在主数据库上通过spfile创建一个传统的文本格式的初始化参数文件。该文本格式的初始化参数文件可以拷贝到备用数据库所在的系统并且可以被手工修改。
SQL> create pfile='D:\oradata\dataguard_logic_tmp\initLogic.ora' from spfile;
在后面的3.11的时候,还需要修改该文件的参数以对应备用数据库,然后还要将其转换为spfile。
3.4 从主数据库所在系统向备用数据库所在系统拷贝文件
在主数据库所在的系统上,使用操作系统命令拷贝以下二进制文件到备用数据库所在的系统。
a、备份的数据文件(在4.2.2处创建)
b、备份的日志文件(在4.2.2处创建)
c、初始化参数文件(在4.2.3处创建)
3.5 为备用数据库设置初始化参数
尽管从主数据库处拷贝的初始化参数文件里的参数设置大部分都适用于逻辑备用数据库,但是有些还是需要修改。
下面的例子显示了为逻辑备用数据库所作的初始化参数修改。被修改的部分用黑体表示。
1*.aq_tm_processes=1 2*.background_dump_dest='C:\oracle92\ora92\admin\logicdg\bdump' 3*.compatible='9.2.0.0.0' 4*.control_files='D:\oradata\logicdg\LOGICDG.CTL' 5*.core_dump_dest='C:\oracle92\ora92\admin\logicdg\cdump' 6*.standby_archive_dest='D:\oradata\logicdg\standby' 7*.parallel_max_servers=9 8*.db_block_size=8192 9*.db_cache_size=2516582410*.db_domain=''11*.db_file_multiblock_read_count=1612*.db_name='rmantgt'13*.dispatchers='(PROTOCOL=TCP) (SERVICE=ora920XDB)'14*.fast_start_mttr_target=30015*.global_names=TRUE16*.hash_join_enabled=TRUE17*.instance_name='logicdg'18*.java_pool_size=3355443219*.job_queue_processes=1020*.large_pool_size=838860821*.log_archive_dest=''22*.log_archive_dest_1='location=D:\oradata\logicdg\archive mandatory'23*.log_archive_start=TRUE24*.log_parallelism=125*.open_cursors =30026*.pga_aggregate_target=2516582427*.processes=15028*.query_rewrite_enabled ='FALSE'29*.remote_login_passwordfile='EXCLUSIVE'30*.shared_pool_size=5033164831*.sort_area_size =52428832*.star_transformation_enabled='FALSE'33*.timed_statistics=TRUE34*.undo_management ='AUTO'35*.undo_retention=1080036*.undo_tablespace='UNDOTBS2'37*.user_dump_dest ='C:\oracle92\ora92\admin\logicdg\udump'38#如果主数据库和备用数据库在同一台机器上,就需要做以下参数配 置39*.lock_name_space=logicdg
这里,对上面的设置做一个简单解释:
a、db_name:不需要修改,与主数据库保持一致。
b、compatible:不需要修改,与主数据库保持一致。
c、control_files:说明了备用数据库的控制文件所在的路径。
d、log_archive_start:不需要修改,与主数据库保持一致。
e、standby_archive_dest:说明了主数据库向备用数据库传递归档日志的路径。需要主数据库上配置归档路径为备用数据库,这样,主数据库在归档时,会将归档日志文件发送到备用数据库上该参数指定的位置。
f、log_archive_dest_1:说明备用数据库的归档日志所存放的路径。一旦出现switchover,那么该备用数据库成为主数据库,则该参数指定了联机日志文件的归档路径。
g、log_parallelism:不需要修改,与主数据库保持一致。
h、instance_name:如果主数据库和备用数据库在同一台机器上的话,就需要定义该参数并且与主数据库不同。
i、lock_name_space:指定备用数据库所在的实例名称。该参数与instance_name相同。
记住,可能还需要修改一些参数,比如background_dump_dest、user_dump_dest等。
3.6 创建一个windows服务
如果备用数据库所在机器为windows系统,则需要使用oradim创建windows服务。
C:\>oradim -new -sid logicdg -startmode manual
3.7 为主数据库和备用数据库配置监听
在主数据库和备用数据库上,分别为彼此配置监听器。如果使用了data guard broker,则必须使用TCP/IP协议配置监听器。
如果数据库在安装oracle介质的时候就自动创建了数据库的话,则不用配置。
3.8 在备用数据库所在系统启用死亡连接检测
通过在sqlnet.ora文件里设置sqlnet.expire_time参数来检测死亡连接。比如
sqlnet.expire_time=2
3.9 创建Oracle Net连接名
在主数据库和备用数据库里,分别创建连接到主数据库和备用数据库的tnsnames名称。
3.10 启动并mount备用数据库
在备用数据库上,启动并mount备用数据库。
注意,如果是windows系统,则还需要创建密码文件。
C:\>orapwd file=C:\oracle92\ora92\DATABASE\PWDlogicdg.ORA password=hanson entries=5SQL>startup mount pfile=C:\oracle92\ora92\admin\logicdg\pfile\initLogic.ora
3.11 在逻辑备用数据库上重命名数据文件
在逻辑备用数据库上,需要将从主数据库拷贝来的数据文件所在的路径重新命名,因为要告诉控制文件,现在的数据文件所在的路径已经与主数据库中的路径不一致了,需要更改为当前最新的路径。
C:\>orapwd file=C:\oracle92\ora92\DATABASE\PWDlogicdg.ORA password=hanson entries=5SQL>startup mount pfile=C:\oracle92\ora92\admin\logicdg\pfile\initLogic.ora
3.12 在逻辑备用数据库上重命名联机日志文件
SQL> select member from v$logfile;MEMBER----------------------------------------------------------------------------D:\ORADATA\RMANTGT\REDO01.LOGD:\ORADATA\RMANTGT\REDO02.LOGD:\ORADATA\RMANTGT\REDO03.LOGSQL> alter database rename file 'D:\ORADATA\RMANTGT\REDO01.LOG'to 'D:\oradata\logicdg\redo01.log';Database altered.SQL> alter database rename file 'D:\ORADATA\RMANTGT\REDO02.LOG'to 'D:\oradata\logicdg\redo02.log';Database altered.SQL> alter database rename file 'D:\ORADATA\RMANTGT\REDO03.LOG'to 'D:\oradata\logicdg\redo03.log';Database altered.SQL> select member from v$logfile;MEMBER----------------------------------------------------------------------------D:\ORADATA\LOGICDG\REDO01.LOGD:\ORADATA\LOGICDG\REDO02.LOGD:\ORADATA\LOGICDG\REDO03.LOG
3.13 打开database guard
为了防止其他用户在逻辑备用数据库上进行DML操作,在逻辑备用数据库上打开database guard。
SQL>alter database guard all;
由于使用的控制文件比数据文件要新,所以直接open时会报错,需要进行恢复。
SQL>recover database using backup controlfile until cancel;
然后,直接输入cancel结束恢复。
SQL>alter database open resetlogs;
3.14 重新设置逻辑备用数据库名
通过运行oracle的DBNEWID(nid)实用程序,来改变逻辑备用数据库的名称。改变逻辑备用数据库的名称可以防止该逻辑备用数据库与主数据库之间进行交互作用。在运行nid的时候,必须关闭数据库,并启动到mount状态:
然后,现在可以运行nid来改变数据库名了:
C:\>nid target=sys/hanson@dataguard dbname=logicdgDBNEWID: Release 9.2.0.1.0 - ProductionCopyright (c) 1995, 2002, Oracle Corporation. All rights reserved.Connected to database RMANTGT (DBID=2455129425)Control Files in database: D:\ORADATA\LOGICDG\LOGICDG.CTLChange database ID and database name RMANTGT to LOGICDG? (Y/[N]) => yProceeding with operationChanging database ID from 2455129425 to 2205596403Changing database name from RMANTGT to LOGICDG Control File D:\ORADATA\LOGICDG\LOGICDG.CTL - modified Datafile D:\ORADATA\LOGICDG\SYSTEM01.DBF - dbid changed, wrote new name Datafile D:\ORADATA\LOGICDG\LOGMNRTS.DBF - dbid changed, wrote new name Datafile D:\ORADATA\LOGICDG\USERS01.DBF - dbid changed, wrote new name Datafile D:\ORADATA\LOGICDG\UNDO02.DBF - dbid changed, wrote new name Control File D:\ORADATA\LOGICDG\LOGICDG.CTL - dbid changed, wrote new nameDatabase name changed to LOGICDG.Modify parameter file and generate a new password file before restarting.Database ID for database LOGICDG changed to 2205596403.All previous backups and archived redo logs for this database are unusable.Shut down database and open with RESETLOGS option.Succesfully changed database name and ID.DBNEWID - Completed succesfully.
3.15 在初始化参数文件中修改数据库名
第一步 修改初始化参数文件中的db_name为logicdg。
第二步 关闭逻辑备用数据库
SQL>shutdown immediate;
第三步 根据pfile创建spfile
SQL> create spfile from pfile='C:\oracle92\ora92\admin\logicdg\pfile\initLogic.ora';
第四步 重启逻辑备用数据库
SQL>startup mount;SQL>alter database open resetlogs;
3.16 为逻辑备用数据库创建一个新的临时表空间
临时数据文件不需要从主数据库拷贝到逻辑备用数据库上。
第步 确定当前临时数据文件
在逻辑备用数据库上,执行如下SQL:
SQL>select * from v$tempfile;
如果没有记录,则跳到第三步。
第二步 在逻辑备用数据库上删除临时数据文件
SQL>alter database tempfile 'tempfilename' drop;
第三步 在逻辑备用数据库上,添加一个新的临时数据文件
1、确定临时表空间
SQL>select tablespace_name from dba_tablespaces where contents='TEMPORARY';
2、添加一个临时文件
SQL>alter tablespace temp add tempfile 'D:\ORADATA\LOGICDG\temp01.dbf' size 50m reuse;
注意,这里的temp表空间空间必须足够,否则逻辑备用数据库在运用主数据库传来的归档日志时会出错。
3.17 注册归档的日志,并启动SQL应用操作
注册最新的归档日志文件,并应用重做日志里的数据。
第一步 注册最新的归档日志文件
将3.2的第八步查到的归档日志文件注册到逻辑备用数据库。
SQL> alter database register logical logfile 'D:\oradata\logicdg\ARC00290.001';
第二步 在逻辑备用数据库里开始应用重做日志
SQL> alter database start logical standby apply initial;
只有在逻辑备用数据库第一次启动应用重做日志时,指定initial选项。以后启动SQL应用按照以下方法:
SQL>alter database stop logical standby apply;SQL>alter database start logical standby apply;
3.18 使主数据库向备用数据库进行归档
必须在主数据库上设置,以使得主数据库能够向备用数据库归档。
第一步 设置定义归档的初始化参数
在主数据库的log_archive_dest_n和log_archive_dest_state_n参数重设置主数据库向备用数据库的归档。
下面的例子显示了如何设置这些参数:
第一步 设置远程归档参数
SQL> alter system set log_archive_dest_2='service=dataguard mandatory' scope=both;SQL> alter system set log_archive_dest_state_2=enable scope=both;
第二步 启动远程归档
SQL> alter system archive log current;
4.确认逻辑备用数据库正常工作
一旦你创建了逻辑备用数据库,并启动了日志转移服务,可能你需要确定一下主数据库的修改已经成功转移到备用数据库上了。为了查看归档的日志文件 已经被备用数据库所接收,首先,需要确定在备用数据库下存在归档的日志文件。在主数据库上归档少量的日志文件,然后检查备用数据库。
第一步 确定归档日志文件在备用数据库上已经注册了
SQL>select sequence#,first_time,next_time,dict_begin,dict_end from dba_logstdby_log order by sequence#;
第二步 在主数据库上归档一些日志
SQL>alter system archive log current;
第三步 再次查询dba_logstdby_log视图
SQL>select sequence#,first_time,next_time,dict_begin,dict_end from dba_logstdby_log order by sequence#;
查看是否有新的归档日志记录。如果有,就说明成功注册到备用数据库了。这些日志现在可以开始被应用了。
第四步 确定重做日志的已经被正确应用了在逻辑备用数据库上,查询dba_logstdby_status视图确定重做数据已经被正确应用了。
SQL>select name,value from v$logstdby_stats where name='coordinator state';
如果结果是initializing,则说明日志应用服务已经准备好应用SQL操作了,但是从重做日志来的数据还没有应用到逻辑备用数据库上。
逻辑备用数据库如果有很多表,那么初始化的过程会需要几个小时,但是,一旦初始化结束,后面的应用重做日志会快很多。
第五步 查询v$logstdby视图,确定当前SQL应用活动
SQL>select type,high_scn,status from v$logstdby;
一旦在逻辑备用数据库上,coordinator进程开始应用重做日志,v$logstdby视图通过在status显示applying状态表明正在应用重做日志。high_scn会不断增加。
第六步 检查日志应用服务的进行到的程度
SQL>select applied_scn,newest_scn from dba_logstdby_progress;
如果applied_scn与newest_scn相同,这就意味着所有重做日志里的可用数据都被应用了。这些值可以与dba_logstdby_log视图里的first_change#的值做比较,来得知有多少日志信息已经被应用了以及有多少没应用。
集群系统实现方案详解