<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>java </title>
    <description>http://bbs.hexiao.cn</description>
    <link>http://jsf.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>Mysql的NO_AUTO_CREATE_USER模式</title>
        <author>icess</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jsf.javaeye.com">icess</a>&nbsp;
          链接：<a href="http://jsf.javaeye.com/blog/165688" style="color:red;">http://jsf.javaeye.com/blog/165688</a>&nbsp;
          发表时间: 2008年02月28日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Mysql的NO_AUTO_CREATE_USER模式 - 2007-10-14 16:49:02<br /><br />以前一直使用如下面的语句给mysql服务器添加用户：<br /><br />grant CREATE, DROP,INSERT, SELECT, DELETE, UPDATE,ALTER on xxx.* to xxx;<br />grant CREATE, DROP,INSERT, SELECT, DELETE, UPDATE,ALTER on xxx.* to xxx@localhost;<br />set password for xxx@'%' = password(xxx);<br />set password for xxx@'localhost' = password(xxx);<br />flush privileges;<br /><br />谁知道今天在另一个Mysql服务器上照葫芦画瓢出了问题，抱错说：<br /><br />ERROR 1133 (42000): Can't find any matching row in the user table<br /><br />Google了一下，原来Mysql还有一个模式控制这个，那就是NO_AUTO_CREATE_USER模式。<br />也就是说，如果在mysql客户端中运行：<br /><br />mysql> set sql_mode = 'no_auto_create_user';<br /><br />那么，上述的语句将不能成功，原因是没有提供用户密码，解决的办法是添加一个indentified 子句，例如：<br /><br />grant CREATE, DROP,INSERT, SELECT, DELETE, UPDATE,ALTER on xxx.* to xxx identified by 'xxx';<br /><br />另外，要注意的是，空密码是不认的，例如：<br /><br />grant CREATE, DROP,INSERT, SELECT, DELETE, UPDATE,ALTER on xxx.* to xxx identified by ''; 就不行。<br /><br />关于服务器模式的详细文档见：<br /><br />http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html<br /><br />另外看了网上的讨论，仿佛linux下默认的都是可以直接添加密码为空的用户的，而windows版本都是不可以的，到底是Mysql自己的开发人员的观点问题还是系统的问题呢？
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsf.javaeye.com/blog/165688#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 28 Feb 2008 12:08:41 +0800</pubDate>
        <link>http://jsf.javaeye.com/blog/165688</link>
        <guid>http://jsf.javaeye.com/blog/165688</guid>
      </item>
      <item>
        <title>urlrewrite</title>
        <author>icess</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jsf.javaeye.com">icess</a>&nbsp;
          链接：<a href="http://jsf.javaeye.com/blog/158006" style="color:red;">http://jsf.javaeye.com/blog/158006</a>&nbsp;
          发表时间: 2008年01月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <a href="http://tuckey.org/urlrewrite" target="_blank">http://tuckey.org/urlrewrite</a>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsf.javaeye.com/blog/158006#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 21 Jan 2008 13:44:54 +0800</pubDate>
        <link>http://jsf.javaeye.com/blog/158006</link>
        <guid>http://jsf.javaeye.com/blog/158006</guid>
      </item>
      <item>
        <title>align 属性的值使用说明</title>
        <author>icess</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jsf.javaeye.com">icess</a>&nbsp;
          链接：<a href="http://jsf.javaeye.com/blog/157233" style="color:red;">http://jsf.javaeye.com/blog/157233</a>&nbsp;
          发表时间: 2008年01月18日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          align="absmiddle"成员名称 说明<br />AbsBottom 图像的下边缘与同一行中最大元素的下边缘对齐<br /><br />AbsMiddle 图像的中间与同一行中最大元素的中间对齐<br /><br />Baseline 图像的下边缘与第一行文本的下边缘对齐<br /><br />Bottom 图像的下边缘与第一行文本的下边缘对齐<br /><br />Left 图像沿网页的左边缘对齐，文字在图像右边换行<br /><br />Middle图像的中间与第一行文本的下边缘对齐<br /><br />NotSet未设定对齐方式<br /><br />Right图像沿网页的右边缘对齐，文字在图像左边换行<br /><br />Top图像的上边缘与同一行上最高元素的上边缘对齐<br /><br />TextTop图像的上边缘与同一行上最高文本的上边缘对齐
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsf.javaeye.com/blog/157233#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 18 Jan 2008 12:24:55 +0800</pubDate>
        <link>http://jsf.javaeye.com/blog/157233</link>
        <guid>http://jsf.javaeye.com/blog/157233</guid>
      </item>
      <item>
        <title>关于: org.hibernate.StaleStateException: Batch update </title>
        <author>icess</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jsf.javaeye.com">icess</a>&nbsp;
          链接：<a href="http://jsf.javaeye.com/blog/151401" style="color:red;">http://jsf.javaeye.com/blog/151401</a>&nbsp;
          发表时间: 2007年12月28日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在使用hibernate项目中,持久化类的ID用Long与long有很大区别!! <br /><br />用long 作为id,当一个新的临时类要持久化时会报一个这种错:<br />Exception executing batch: org.hibernate.StaleStateException: Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1<br />因为这个临时类,已经有一个id=0 (long的默认值);这时hibernate 为错认为这是一条持久化类,从而进行更新操作,故报错!!<br />这时把持久类的id 类型改成Long 就OK了,再create 时,临时类的id为null ,hibernate 才会正确的判断这是临时类而进行save操作!! <br /><br />from: http://www.blogjava.net/mose2006/archive/2007/09/28/149034.html
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsf.javaeye.com/blog/151401#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 28 Dec 2007 10:11:37 +0800</pubDate>
        <link>http://jsf.javaeye.com/blog/151401</link>
        <guid>http://jsf.javaeye.com/blog/151401</guid>
      </item>
      <item>
        <title>关于在tomcat下配置 error-page 500错误不能在IE下转发页面的问题</title>
        <author>icess</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jsf.javaeye.com">icess</a>&nbsp;
          链接：<a href="http://jsf.javaeye.com/blog/141949" style="color:red;">http://jsf.javaeye.com/blog/141949</a>&nbsp;
          发表时间: 2007年11月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在tomcat下配置&nbsp; <br />
<br />
&nbsp;&nbsp;&nbsp; <error-page><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <error-code>500</error-code><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <location>/e500.jsp</location><br />
&nbsp;&nbsp;&nbsp;&nbsp; </error-page><br />
<br />
来 转发 500错误页面, 在Firefox下面可以正常显示错误页面, 但是在IE下面显示<br />
<br />
[code]<br />
<table cellspacing="5" cellpadding="3" width="400">
    <tbody>
        <tr>
            <td id="tableProps" align="left" valign="top">&nbsp;</td>
            <td id="tableProps2" align="left" valign="center" width="360">
            <h1 id="errortype" style="font-family: 宋体; font-style: normal; font-variant: normal; font-weight: normal; font-size: 13pt; line-height: 14pt; font-size-adjust: none; font-stretch: normal; color: black;"><span id="errorText">无法显示网页</span></h1>
            </td>
        </tr>
        <tr>
            <td id="tablePropsWidth" colspan="2" width="400"><font style="font-family: 宋体; font-style: normal; font-variant: normal; font-weight: normal; font-size: 9pt; line-height: 12pt; font-size-adjust: none; font-stretch: normal; color: black;">您要访问的网页有问题，无法显示。</font></td>
        </tr>
        <tr>
            <td id="tablePropsWidth" colspan="2" width="400"><font id="LID1" style="font-family: 宋体; font-style: normal; font-variant: normal; font-weight: normal; font-size: 9pt; line-height: 12pt; font-size-adjust: none; font-stretch: normal; color: black;"> </font><hr noshade="" color="#c0c0c0" />
            <p id="LID2"><font id="LID1" style="font-family: 宋体; font-style: normal; font-variant: normal; font-weight: normal; font-size: 9pt; line-height: 12pt; font-size-adjust: none; font-stretch: normal; color: black;">请尝试以下操作:</font></p>
            <ul><font id="LID1" style="font-family: 宋体; font-style: normal; font-variant: normal; font-weight: normal; font-size: 9pt; line-height: 12pt; font-size-adjust: none; font-stretch: normal; color: black;">
                <li id="instructionsText1">打开 <span id="homepageContainer"><a href="http://localhost:8280/">localhost:8280</a></span>&nbsp; 主页，然后查找指向您感兴趣信息的链接。  </li>
                <li id="instructionsText2">单击<a href="javascript:location.reload()" xhref="javascript:location.reload()" target="_self"> </a><a href="javascript:location.reload()" xhref="javascript:location.reload()" target="_self">刷新</a>按钮，或以后再试。<br />
                </li>
                <li id="instructionsText3">单击<a href="javascript:doSearch()"> 搜索</a>，寻找 Internet 上的信息。  </li>
                <li id="instructionsText4">也可查看<a href="" onclick=" _fcksavedurl=">相关站点列表</a>。 </li>
                </font></ul>
                <p><font id="LID1" style="font-family: 宋体; font-style: normal; font-variant: normal; font-weight: normal; font-size: 9pt; line-height: 12pt; font-size-adjust: none; font-stretch: normal; color: black;"><br />
                </font></p>
                <h2 id="ietext" style="font-family: 宋体; font-style: normal; font-variant: normal; font-weight: normal; font-size: 9pt; line-height: 12pt; font-size-adjust: none; font-stretch: normal; color: black;"><font id="LID1" style="font-family: 宋体; font-style: normal; font-variant: normal; font-weight: normal; font-size: 9pt; line-height: 12pt; font-size-adjust: none; font-stretch: normal; color: black;">HTTP 500 - 内部服务器错误  <br />
                Internet Explorer </font></h2>
                </td>
            </tr>
        </tbody>
    </table>
    <br />
    [/code]<br />
    <br />
    这是IE自身的设定导致的,经过百度,找到几个解决办法:<br />
    <br />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     <br />
    1, IE设定&nbsp;&nbsp; 工具--&gt;Internet选项--&gt;高级---&gt;显示http友好错误信息(取消选择) , 这样就可以了<br />
    2, 设置指定错误页页状态为正常,来告诉IE这不是一个服务器错误, 从而不显示IE的自定义错误页&nbsp; <br />
    &lt;%<br />
    &nbsp;&nbsp;&nbsp; response.setStatus(200); // 200 = HttpServletResponse.SC_OK<br />
    %&gt;<br />
    3, 把错误页做大一点,弄个几百K 就可以显示错误页面 (加一个div块,display设为none就可以了),这个问题比较奇怪. <br />
    &nbsp;&nbsp;&nbsp;
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsf.javaeye.com/blog/141949#comments" style="color:red;">已有 <strong>1</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 20 Nov 2007 10:24:35 +0800</pubDate>
        <link>http://jsf.javaeye.com/blog/141949</link>
        <guid>http://jsf.javaeye.com/blog/141949</guid>
      </item>
      <item>
        <title>如果根据递归表高效的生成树</title>
        <author>icess</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jsf.javaeye.com">icess</a>&nbsp;
          链接：<a href="http://jsf.javaeye.com/blog/124799" style="color:red;">http://jsf.javaeye.com/blog/124799</a>&nbsp;
          发表时间: 2007年09月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          由如下一个递归表数据结构，UpBranchNo为该节点的父亲节点，如果为1代表该节点为根节点。<br />注意： 递归表大家都比较熟悉，如果保存在数据库表中的话， 操作起来会比较方便， 但是这里请注意 该结构是通过一个外部程序返回的一个数据集合，不是在数据库中的。 这样的话如何生成树结构才高效呢。<br /><pre name="code" class="java">
*********************************************
No.   BranchNo.   Label        UpBranchNo.
1     6666        test6          1           
2     11          1234567890     6666        
3     22          测试2002       6666        
4     44          44             6666        
5     55          55             6666        
6     66          66             6666        
7     77          7              6666        
8     101         测试2027       11        
9     223         测试2027d      11        
10     302         chi           6666        
11     403         测试2027      6666        
12     500         测试202       6666        
13     801         测试17        6666        
14     802         测试16        6666        
15     803         测试15        6666        
16     805         0805          6666        
17     829         测试132       77        
18     830         0830          77        
19     831         0831          6666        
20     866         测试12        6666        
21     995         测试1         6666        
22     1110        测试          829        
23     1234        xym           829        
24     1982        zhouxin       829        
25     2001        测试2001      6666        
26     2002        测试2002      6666        
27     2003        测试2003      1982        
28     2004        测试2004      1982 
********************************************* 
</pre><br /><br />下面是一个实现， 在测试的时候发现数据很多的话， 效率不是很高。 <br />节点实现类： Branch<br /><pre name="code" class="java">
public class Branch {
	
	private int branchNo;
	private String branchName; 
	private int upBranchNo ;

   ... getter and setter 函数省略
}
</pre><br /><br />构造树：Tree<br /><pre name="code" class="java">
public class Tree {
//ds 为包含该数据集合的一个数据集
	public Branch normalOrganization(ds) {
		 
		List&lt;Branch> branchs = new ArrayList&lt;Branch>(ds.getRows());
		while (!ds.end()) {

			Branch branch = new Branch();
			branch.setBranchName(ds.value("branch_name"));
			branch.setBranchNo(ds.value("branch_no"));
			branch.setUpBranchNo(ds.value("up_branch_no"));
			branchs.add(branch);
			ds.next();
			
		}

		System.out.println("*********************************************");

		// 利用得到的branchs 构造一棵树结构
		return buildBranchTree(branchs);
	}

	private Branch buildBranchTree(List&lt;Branch> branchs) {
		Branch topBranch = null;
		for (Iterator iterator = branchs.iterator(); iterator.hasNext();) {
			Branch branch = (Branch) iterator.next();
			if (1 == branch.getUpBranchNo()) {
				topBranch = branch;
				topBranch.setBranchs(new ArrayList&lt;Branch>());
				// branchs.remove(branch); // 删除该数据， 减少下次的查询时间
				iterator.remove();
				buildTree(topBranch, branchs);

			}
			break;
		}
		
		return topBranch;

	}

	private void buildTree(Branch parent, List&lt;Branch> branchs) {
		for (Iterator iterator = branchs.iterator(); iterator.hasNext();) {
			Branch branch = (Branch) iterator.next();
			if (branch.getUpBranchNo() == parent.getBranchNo()) {
				if (null == parent.getBranchs())
					parent.setBranchs(new ArrayList&lt;Branch>());
				parent.getBranchs().add(branch);
				iterator.remove();
			}
		}
		if (branchs.size() == 0)
			return;
		if (null != parent.getBranchs()) {

			for (Branch branch2 : parent.getBranchs()) {
				if (1 == branch2.getBranchType()) {
					buildTree(branch2, branchs);
				}
			}
		}

	}

}
</pre><br /><br />大家有什么更高效的实现， 欢迎拍砖。
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsf.javaeye.com/blog/124799#comments" style="color:red;">已有 <strong>5</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 17 Sep 2007 18:39:43 +0800</pubDate>
        <link>http://jsf.javaeye.com/blog/124799</link>
        <guid>http://jsf.javaeye.com/blog/124799</guid>
      </item>
      <item>
        <title>[算法]生成树的算法</title>
        <author>icess</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jsf.javaeye.com">icess</a>&nbsp;
          链接：<a href="http://jsf.javaeye.com/blog/118505" style="color:red;">http://jsf.javaeye.com/blog/118505</a>&nbsp;
          发表时间: 2007年08月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          场景:<br /> 有一组2纬数据,一个代表树节点的名字, 一个代表树节点出现的位置: 如下<br /><pre name="code" class="java">
 site    name

 1       name1
 11      name2
 111     name3
 112     name4
 113     name5
 12      name6
 121     name7
 122     name8
 13      name9
</pre><br /> <br />按照site来计算树的出现位置：　这上面的数据对应如下的树:(就不用图片了, 使用文字简单按照缩进排列)<br /><pre name="code" class="java">
 name1 
       name2
             name3
             name4
             name5
       name6
             name7
             name8
       name9

</pre><br />树的深度最多5层, 在数据量比较大的情况下 使用甚么算法比较高效呢?
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsf.javaeye.com/blog/118505#comments" style="color:red;">已有 <strong>4</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 30 Aug 2007 22:25:14 +0800</pubDate>
        <link>http://jsf.javaeye.com/blog/118505</link>
        <guid>http://jsf.javaeye.com/blog/118505</guid>
      </item>
      <item>
        <title>hibernate 几点注意事项</title>
        <author>icess</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jsf.javaeye.com">icess</a>&nbsp;
          链接：<a href="http://jsf.javaeye.com/blog/114995" style="color:red;">http://jsf.javaeye.com/blog/114995</a>&nbsp;
          发表时间: 2007年08月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          从2年前买了&lt;深入浅出Hibernate&gt; 精读了N次后用Hibernate做了2个项目后就再没有用过Hibernate了.&nbsp; 最近又用到了, 就使用Hibernate Tools做个测试, 熟悉熟悉, 结果发现问题多多. 百度 + google了一下, 发现了一些解决方法.&nbsp; 备案在此.<br />
<br />
如果发现这个异常 Exception in thread &quot;main&quot; org.hibernate.HibernateException: Hibernate Dialect must be explicitly set <br />
说明你使用的是xml配置文件,不是property文件, 同时你也没有调用 XXConfiguration()的configure()方法,该方法才可以从xml文件中初始化Hibernate配置. <br />
<br />
如果发现 <span class="javascript" id="text126575">.WARN SessionFactoryObjectFactory:98 - Could not bind factory to JNDI <br />
这个异常, 请去掉 &nbsp;&nbsp;&nbsp; <session-factory name="org.hibernate.SessionFactory"> </session-factory></span><span class="javascript" id="text126575">中的<br />
name=&quot;org.hibernate.SessionFactory&quot;<br />
如果上面的属性出现, Hibernate 会想把session绑定到JNDI中的. 这个选项一般是使用Hibernate Tools时候生成的. <br />
<br />
如果出现 java2dll 时候创建数据库的语句不正常请注意看看 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<property name="hibernate.default_catalog">db</property>
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<property name="hibernate.default_schema">db</property>
<br />
这两个属性都在配置文件中.&nbsp; 对于Mysql来说, 使用2个是不可以的. 去掉一个. <br />
<br />
如果出现 </span><strong>Hibernate Exception - Simultaneously Fetch Multiple Bags&nbsp; 参考这里 <br />
<a href="http://www.jroller.com/eyallupu/entry/hibernate_exception_simultaneously_fetch_multiple" target="_blank">http://www.jroller.com/eyallupu/entry/hibernate_exception_simultaneously_fetch_multiple</a> <br />
<br />
</strong>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsf.javaeye.com/blog/114995#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 21 Aug 2007 22:31:10 +0800</pubDate>
        <link>http://jsf.javaeye.com/blog/114995</link>
        <guid>http://jsf.javaeye.com/blog/114995</guid>
      </item>
      <item>
        <title>同行评审过程描述（四）——测量</title>
        <author>icess</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jsf.javaeye.com">icess</a>&nbsp;
          链接：<a href="http://jsf.javaeye.com/blog/112266" style="color:red;">http://jsf.javaeye.com/blog/112266</a>&nbsp;
          发表时间: 2007年08月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <strong>8. Measurements（测量）</strong><br />
The moderator shall collect the data items in Table 4 from each inspection. These data items are used to calculate the process metrics in Table 5 and to monitor and improve the inspection process. The moderator shall record the data items in the appropriate spaces on the Inspection Summary Report and Issue Log and report them to the organization&rsquo;s peer review coordinator. The peer review coordinator shall maintain these metrics in a repository and produce periodic reports of summary data for practitioners and managers.<br />
评审负责人应当对每个评审收集表4中列出的数据项。这些数据项用于计算表5中的过程度量值，从而监督和改进评审过程。评审负责人应当在评审总结报告和问题日志的适当位置记录这些数据，并报告给组织的同行评审协调者。同行评审协调者应当在存储库中保存这些度量值，并生成阶段性的数据总结报告给实践者和经理们。<br />
<br />
&lt;添加部分描述同行评审协调者向存储库输入评审数据及生成报告的工具和步骤&gt;<br />
Table 4. Data Items Collected From Each Inspection.<br />
表4. 每次评审中收集的数据项<br />
<table class="t_table" cellspacing="0" align="center" width="96%">
    <tbody>
        <tr>
            <td width="27%"><strong>Data Item数据项</strong></td>
            <td width="73%">
            <p align="center"><strong>Definition定义</strong></p>
            </td>
        </tr>
        <tr>
            <td>Effort.Planning<br />
            计划工作量</td>
            <td>total labor hours spent by the moderator and author in planning, scheduling meetings, assembling, duplicating, and distributing materials, and any other related tasks评审负责人和创建者进行计划，安排会议时间，整理、复制、分发评审材料及其他相关任务的全部工作时间</td>
        </tr>
        <tr>
            <td>Effort.Overview<br />
            评审说明工作量</td>
            <td>total labor hours spent by the participants in an overview meeting, if one was held如果有评审说明会议的话，会议参与者的全部工作时间</td>
        </tr>
        <tr>
            <td>Effort.Preparation<br />
            准备工作量</td>
            <td>total labor hours spent by the inspectors and author preparing for the inspection检查者和创建者准备评审的全部工作时间</td>
        </tr>
        <tr>
            <td>Effort.Rework<br />
            返工工作量</td>
            <td>total labor hours the author spent correcting defects in the initial deliverable and making other improvements; include verification time from the follow-up stage创建者改正原始交付物中的缺陷及进行改进的全部工作量；包括跟踪阶段的审核时间。</td>
        </tr>
        <tr>
            <td>Time.Meeting<br />
            会议时间</td>
            <td>duration of the inspection meeting in hours评审会议持续的小时数</td>
        </tr>
        <tr>
            <td>Defects.Found.Major, Defects.Found.Minor<br />
            发现的严重缺陷，轻微缺陷</td>
            <td>otal number of major and minor defects found by the inspection team; do not include non-defect issues raised, such as questions, requests for clarification, points of style, or items from the Typo Lists评审小组发现的严重缺陷和轻微缺陷的总数；不包括非缺陷的问题，如疑问，说明性请求，风格问题或微错清单上的项</td>
        </tr>
        <tr>
            <td>Defects.Corrected.Major, Defects.Corrected.Minor<br />
            改正的严重缺陷，轻微缺陷</td>
            <td>total number of major and minor defects corrected during rework返工期间改正的严重缺陷和轻微缺陷总数</td>
        </tr>
        <tr>
            <td>Size.Planned, Size.Actual<br />
            计划规模，实际规模</td>
            <td>total physical lines of code (not including comments and blank lines) or number of document pages that were planned for inspection and that were actually inspected计划评审和实际评审的代码行总数（不包括注视和空行）或文档页数。</td>
        </tr>
        <tr>
            <td>Number.of.Inspectors<br />
            检查者人数</td>
            <td>number of active participants in the inspection meeting评审会议参与者人数</td>
        </tr>
        <tr>
            <td>Inspection.Appraisal<br />
            评审的评估结果</td>
            <td>inspection team&rsquo;s decision about disposition of the inspected work product (accepted as is, accepted conditionally, re-inspect following rework)评审小组对被评审的工作产品的处理决议（完全接受，有条件的接收，二次评审返工工作）</td>
        </tr>
    </tbody>
</table>
Table 5. Metrics Calculated From Inspection Data Items.<br />
表5. 由评审数据项计算得到的度量值<br />
<table class="t_table" cellspacing="0" align="center" width="97%">
    <tbody>
        <tr>
            <td width="22%"><strong>Metric度量值</strong></td>
            <td width="78%">
            <p align="center"><strong>How Calculated计算方法</strong></p>
            </td>
        </tr>
        <tr>
            <td>Defect.Density<br />
            缺陷密度</td>
            <td>Defects.Found.Total / Size.Actual发现的缺陷总数/实际规模</td>
        </tr>
        <tr>
            <td>Defects.Found.Total<br />
            发现的缺陷总数</td>
            <td>Defects.Found.Major + Defects.Found.Minor发现的严重缺陷＋发现的轻微缺陷</td>
        </tr>
        <tr>
            <td>Defects.Corrected.Total<br />
            改正缺陷总数</td>
            <td>Defects. Corrected.Major + Defects. Corrected.Minor改正的严重缺陷＋改正的轻微缺陷</td>
        </tr>
        <tr>
            <td>Effort.Inspection<br />
            评审工作量</td>
            <td>Effort.Planning + Effort.Overview + Effort.Preparation + Effort.Meeting +Effort.Rework计划工作量＋评审说明工作量+准备工作量＋会议工作量+返工工作量</td>
        </tr>
        <tr>
            <td>Effort.per.Defect<br />
            工作量/缺陷</td>
            <td>Effort.Inspection / Defects.Found.Total评审工作量/发现缺陷总数</td>
        </tr>
        <tr>
            <td>Effort.per.Unit.Size<br />
            工作量/单元规模</td>
            <td>Effort.Inspection / Size.Actual评审工作量/实际规模</td>
        </tr>
        <tr>
            <td>Percent.Inspected<br />
            评审比例</td>
            <td>100 * Size.Actual / Size.Planned100*实际规模/计划规模</td>
        </tr>
        <tr>
            <td>Percent.Majors<br />
            严重缺陷比例</td>
            <td>100 * Defects.Found.Major / Defects.Found.Total100*发现的严重缺陷/发现的缺陷总数</td>
        </tr>
        <tr>
            <td>Rate.Inspection<br />
            评审效率</td>
            <td>Size.Actual / Time.Meeting实际规模/会议时间</td>
        </tr>
        <tr>
            <td>Rate.Preparation<br />
            准备效率</td>
            <td>Size.Planned / (Effort.Preparation / Number.of.Inspectors)计划规模/（准备工作量/检查者人数）</td>
        </tr>
        <tr>
            <td>Rework.per.Defect<br />
            返工工作量/缺陷</td>
            <td>Effort.Rework / Defects.Corrected.Total返工工作量/改正的缺陷总数</td>
        </tr>
    </tbody>
</table>
<strong>9. Process Maintenance（过程维护）</strong><br />
Submit suggestions for improvements to be made in this peer review process to &rsquo;s peer review process owner.<br />
向组织的同行评审过程拥有者提交该次同行评审过程的改进建议<br />
<strong>10. Revision History（修订纪录）</strong> <br />
<table class="t_table" cellspacing="0" align="center" width="98%">
    <tbody>
        <tr>
            <td width="18%">Name名称</td>
            <td width="16%">Date日期</td>
            <td width="41%">Reason For Changes修改原因</td>
            <td width="25%">Version版本</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>original draft初稿</td>
            <td>1.0 draft 1</td>
        </tr>
    </tbody>
</table>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsf.javaeye.com/blog/112266#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 14 Aug 2007 22:48:21 +0800</pubDate>
        <link>http://jsf.javaeye.com/blog/112266</link>
        <guid>http://jsf.javaeye.com/blog/112266</guid>
      </item>
      <item>
        <title>同行评审过程描述（三）——走查步骤</title>
        <author>icess</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jsf.javaeye.com">icess</a>&nbsp;
          链接：<a href="http://jsf.javaeye.com/blog/112265" style="color:red;">http://jsf.javaeye.com/blog/112265</a>&nbsp;
          发表时间: 2007年08月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <strong>&nbsp;6. Walkthrough Procedure（走查步骤）<br />
</strong>
<table class="t_table" cellspacing="0" align="center" width="97%">
    <tbody>
        <tr>
            <td width="17%">Participants<br />
            参与者</td>
            <td colspan="2">The author selects the participants in a walkthrough. No specific roles are assigned.由创建者选择走查的参与者。不需要分配特定的角色。</td>
        </tr>
        <tr>
            <td>Entry Criteria<br />
            入口条件</td>
            <td colspan="2">o The author selected a walkthrough review approach for the product being reviewed.o 创建者为需要评审的工作产品选择了走查评审方法。o The author has stated his or her objectives for the review.o 创建者陈述了评审目标。</td>
        </tr>
        <tr>
            <td><strong>Tasks<br />
            任务</strong></td>
            <td width="62%">
            <p align="center"><strong>Task任务</strong></p>
            </td>
            <td width="21%"><strong>Responsible责任人</strong></td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>1. Select review participants, obtain their agreement to participate, and schedule a walkthrough meeting.选者评审参与者，确认他们同意参与评审，安排走查会议时间。</td>
            <td>Author创建者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>2. Distribute work product to reviewers prior to the meeting.在会议之前分发工作产品给评审者</td>
            <td>Author创建者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>3. Describe the work product to the reviewers during the meeting in any appropriate way. Lead discussion on the topics of interest or concerns about the work product.在会议期间，以适当的方式向评审者描述工作产品。针对工作产品中关心的或感兴趣的议题组织讨论。</td>
            <td>Author创建者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>4. Present comments, possible defects, and improvement suggestions to the author.向创建者表述评论，可能的缺陷，和改进建议。</td>
            <td>Reviewers评审者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>5. Based on reviewer comments, perform any necessary rework of the work product.基于评审者的评论，对工作产品执行必要的返工</td>
            <td>Author创建者</td>
        </tr>
        <tr>
            <td>Deliverables<br />
            交付物</td>
            <td colspan="2">Modified work product修改的工作产品</td>
        </tr>
        <tr>
            <td>Verification<br />
            审核</td>
            <td colspan="2">No verification of rework is required. Changes are made at the author&rsquo;s discretion.不需要审核返工工作。根据创建者的判断进行修改。</td>
        </tr>
        <tr>
            <td>Exit Criteria<br />
            出口条件</td>
            <td colspan="2">o The author has made any appropriate changes in the work product.o 创建者已经对工作产品做了恰当的修改。</td>
        </tr>
    </tbody>
</table>
<strong>&nbsp; &nbsp;&nbsp; &nbsp;7. Passaround Procedure（轮查步骤）</strong><br />
<table class="t_table" cellspacing="0" align="center" width="98%">
    <tbody>
        <tr>
            <td width="20%">Participants<br />
            参与者</td>
            <td colspan="2">The author selects the participants in a passaround. No specific roles are assigned. However, it can be beneficial to ask individual reviewers to examine the work product from specific perspectives, such as checking internal cross-references, confirming interface definitions, checking conformance to standards, or identifying grammatical and typographical errors.创建者选择了轮查的参与者。不需要分配特定的角色。但要求各个评审者从不同的角度检查工作产品是很有益的，例如检查内部交叉引用，确认接口定义，检查对标准的服从性，识别语法和排版错误。</td>
        </tr>
        <tr>
            <td>Entry Criteria<br />
            入口标准</td>
            <td colspan="2">o The author selected a passaround review approach.o 创建者选择了轮查评审方法。o The author has stated his or her objectives for the review.o 创建者陈述了评审目标。o The document has been spell-checked.o 文档经过了拼写错误检查。</td>
        </tr>
        <tr>
            <td><strong>Tasks<br />
            任务</strong></td>
            <td width="59%"><strong>Task<br />
            任务</strong></td>
            <td width="21%"><strong>Responsible<br />
            责任人</strong></td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>1. Either distribute a physical or electronic copy of the work product to each reviewer, or create a file to which all reviewers have read/write access.将工作产品文档或电子拷贝发送给每个评审者，或者创建一个所有评审者都具有读写权限的文件。</td>
            <td>Author创建者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>2. Notify reviewers that work product is available and indicate the date by which review comments are to be provided.通知评审者工作产品已经准备好，指定了评论阶段的结束日期。</td>
            <td>Author创建者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>3. Either hand-write comments directly on the work product, or enter comments into the work product file, using a revision marks convention or an annotation feature of the tool being used. If working with an individual copy of the work product, deliver the work product with comments to the author after completing the review.直接在工作产品上手写评论，或者使用工具的修订标记或注释形式将评论添加到工作产品文件中。如果使用的是工作产品的个人拷贝，那么评审结束后将工作产品和评论一起交给创建者。</td>
            <td>Reviewers评审者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>4. After the final date of the review period, remove work product from the shared file location and examine added comments.评审阶段结束以后，从共享目录中移走工作产品，并检查添加的评论。</td>
            <td>Author创建者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>5. Based on reviewer comments, perform any necessary rework of the work product. 基于评审者的评论，对工作产品执行必要的返工工作。</td>
            <td>Author创建者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>6. If a shared file was used to accumulate comments, delete each comment from the work product as it is resolved. Leave any comments that require discussion in the work product until agreement is reached on actions to be taken.如果使用了共享文件收集评论，在解决问题后，要从工作产品中删除评论。需要讨论的评论要保留在工作产品上，直到对其处理方法达成一致。</td>
            <td>Author创建者</td>
        </tr>
        <tr>
            <td>Deliverables<br />
            交付物</td>
            <td colspan="2">Modified work product修改后的工作产品</td>
        </tr>
        <tr>
            <td>Verification<br />
            审核</td>
            <td colspan="2">No verification of rework is required. The author is responsible for making appropriate decisions on issues and for correctly performing any rework.不需要审核返工工作。创建者负责对问题的处理决定和返工工作的正确执行。</td>
        </tr>
        <tr>
            <td>Exit Criteria<br />
            出口条件</td>
            <td colspan="2">o The author has addressed all review issues raised.o 创建者已经对应了评审中的所有问题。</td>
        </tr>
    </tbody>
</table>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsf.javaeye.com/blog/112265#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 14 Aug 2007 22:47:49 +0800</pubDate>
        <link>http://jsf.javaeye.com/blog/112265</link>
        <guid>http://jsf.javaeye.com/blog/112265</guid>
      </item>
      <item>
        <title>同行评审过程描述（二）——评审步骤</title>
        <author>icess</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jsf.javaeye.com">icess</a>&nbsp;
          链接：<a href="http://jsf.javaeye.com/blog/112263" style="color:red;">http://jsf.javaeye.com/blog/112263</a>&nbsp;
          发表时间: 2007年08月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <strong>&nbsp;5. Inspection Procedure（评审步骤）<br />
</strong>
<table class="t_table" cellspacing="0" align="center" width="97%">
    <tbody>
        <tr>
            <td width="20%">Participants<br />
            参与者</td>
            <td colspan="2">The roles and responsibilities shown below pertain to the inspection process. All participants are inspectors, in addition to any specialized role they might have. At least three participants, including the author, are required for an inspection. If only three people participate in an inspection, the moderator shall also serve as recorder or reader. The author may not serve as reader, moderator, or recorder.下面是评审过程中涉及的角色及责任。所有参与者除了自身担任的特定角色外，也都是检查者。一次评审需要至少三个参与者，包括创建者。如果只有三个人参与评审，那么评审负责人还要兼作记录人或阅读人。创建者一般不作阅读人，评审负责人或记录人。</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td width="17%"><strong>Role角色</strong></td>
            <td width="63%"><strong>Responsibilities责任</strong></td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Author<br />
            创建者</td>
            <td>&middot; Creator or maintainer of the work product to be inspected. Initiates the inspection process by asking the peer review coordinator to assign a moderator.<br />
            &middot; 被评审的工作产品的创建者或维护者请求同行评审协调者分配一位评审负责人，从而发起评审过程。<br />
            &middot; States his or objectives for the inspection.<br />
            &middot; 陈述评审目标&middot; Delivers work product and its specification or predecessor document to moderator.<br />
            &middot; 提交工作产品及其规范或以往的文档给评审负责人。<br />
            &middot; Works with moderator to select inspectors and assign roles. <br />
            &middot; 与评审负责人一起选择检查者，并分配角色。<br />
            &middot; Addresses items on the Issue Log and Typo Lists.<br />
            &middot; 对应问题日志和微错清单上的项目。<br />
            &middot; Reports rework time and defect counts to moderator.<br />
            &middot; 向评审负责人报告返工时间和缺陷数。</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Moderator<br />
            评审负责人</td>
            <td>&middot; Uses Inspection Moderator&rsquo;s Checklist as a work aid.<br />
            &middot; 使用评审负责人检查表作为工作辅助。<br />
            &middot; Plans, schedules, and leads the inspection events.<br />
            &middot; 计划，安排，组织评审活动。<br />
            &middot; Works with author to select inspectors and assign roles.<br />
            &middot; 与创建者一起选择检查者，并分配角色。<br />
            &middot; Assembles inspection package and delivers it to inspectors at least 3 days prior to the inspection meeting.<br />
            &middot; 提前评审会议至少三天，将评审项目打包并发送给检查者。<br />
            &middot; Determines whether preparation is sufficient to hold the meeting. If not, reschedules the meeting.<br />
            &middot; 确定会议准备是否充分。如果不充分，重新安排会议时间。<br />
            &middot; Facilitates inspection meeting. Corrects any inappropriate behavior. Solicits input from inspectors as reader presents each section of the work product. Records any action items or side issues that arise during the inspection.<br />
            &middot; 促进评审会议进行。纠正任何不适当的行为。随着阅读人展现工作产品的各部分，引导检查者提出问题。记录评审过程中提出的行动决议或问题。<br />
            &middot; Leads inspection team in determining the work product appraisal.<br />
            &middot; 领导评审小组确定工作产品的评估结果。<br />
            &middot; Serves as verifier or delegates this responsibility to someone else.<br />
            &middot; 作为审核者或指派其他人承担该责任。<br />
            &middot; Delivers completed Inspection Summary Report to the organization&rsquo;s peer review coordinator.<br />
            &middot; 提交完成的评审总结报告给组织的同行评审协调者。</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Reader<br />
            阅读人</td>
            <td>Presents portions of the work product to the inspection team to elicit comments, issues, or questions from inspectors.向评审小组展示工作产品的各部分，引导检查者进行评论，提出问题或疑问。</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Recorder<br />
            记录人</td>
            <td>Records and classifies issues raised during inspection meeting.记录并分类评审会议中提出的问题。</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Inspector<br />
            检查者</td>
            <td>Examines work product prior to the inspection meeting to find defects and prepare for contributing to the meeting. Records preparation time. Participates during the meeting to identify defects, raise issues, and suggest improvements.在评审会议之前检查工作产品，发现其缺陷，为参加评审会议做准备。记录准备时间。参加评审，识别缺陷，提出问题，给出改进建议。</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Verifier<br />
            审核者</td>
            <td>Performs follow-up to determine whether rework has been performed appropriately and correctly.<br />
            进行跟踪，确认返工工作被正确执行。</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Peer Review Coordinator<br />
            同行评审协调者</td>
            <td>Custodian of the project&rsquo;s inspection metrics database. Maintains records of inspections conducted and data from the Inspection Summary Report for each inspection. Generates reports on inspection data for management, process improvement team, and peer review process owner.项目评审度量数据库的拥有者。维护每次评审的评审记录及来自评审总结报告中的数据。根据评审数据形成报告，提交给管理层、过程改进组及同行评审过程的拥有者。</td>
        </tr>
        <tr>
            <td>Entry Criteria<br />
            入口条件</td>
            <td colspan="2">o The author selected an inspection approach for the product being reviewed.<br />
            o 创建者为待评审的工作产品选择了评审方法。<br />
            o All necessary supporting documentation is available<br />
            o 准备好所有必需的支持文档。<br />
            o The author has stated his or her objectives for this inspection.<br />
            o 创建者陈述了该次评审的目标。<br />
            o Reviewers are trained in the peer review process.<br />
            o 评审者接受了同行评审过程的培训。<br />
            o Documents to be inspected are identified with a version number. All pages are numbered and line numbers are displayed. The documents have been spell-checked.<br />
            o 为待评审的文档分配了版本号。所有页面都标明了页号和行号。文档经过了拼写错误检查。<br />
            o Source code to be inspected is identified with a version number. Listings have line numbers and page numbers. Code compiles with no errors or warning messages using the project&rsquo;s standard compiler switches. Errors found using code analyzer tools have been corrected.<br />
            o 为待评审的源代码分配了版本号。代码清单标明了行号和页码。代码已经使用项目标准编译转换器编译过，并且没有错误和警告信息。使用代码分析器发现的错误已经被改正。<br />
            o For a re-inspection, all issues from the previous inspection were resolved.<br />
            o 对于二次评审，前一次评审中发现的所有问题都已经解决。<br />
            o Any additional entry criteria defined for the specific type of work product are also satisfied.<br />
            o 满足所有针对特定的工作产品定义的附加入口条件。</td>
        </tr>
    </tbody>
</table>
<strong>&nbsp;&nbsp;</strong>
<table class="t_table" cellspacing="0" align="center" width="97%">
    <tbody>
        <tr>
            <td width="21%"><strong>Planning计划</strong></td>
            <td width="61%">
            <p align="center"><strong>Task任务</strong></p>
            </td>
            <td width="18%"><strong>Responsible责任人</strong></td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>1. Give moderator the work product to be inspected and supporting documents, such as specifications, predecessor documents, or pertinent test documentation.将需要评审的工作产品和支持文档，如规范、以往文档，相关测试文档交给评审负责人。</td>
            <td>Moderator<br />
            评审负责人</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>2. Determine whether work product satisfies inspection entry criteria.确定工作产品是否满足评审入口条件。</td>
            <td>Author<br />
            创建者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>3. Based on the size and complexity of the work product, determine how many inspection meetings will be required.根据工作产品的规模和复杂度确定需要多少次评审会议。</td>
            <td>Moderator and Author评审负责人和创建者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>4. Select inspectors and assign roles to individuals. Gain agreement from the other inspectors to participate.选择检查者，并为其分配角色。确认检查者同意参加评审。</td>
            <td>Moderator and Author评审负责人和创建者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>5. Determine whether an overview meeting is required.确定是否需要一次评审说明会议。</td>
            <td>Author创建者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>6. Schedule the inspection, and possibly overview, meetings and distribute a meeting notice.安排评审会议或者还有评审说明会议的时间，并发出会议通知。</td>
            <td>Moderator评审负责人</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>7. Distribute the inspection package to the participants at least 3 working days prior to the inspection meeting.提前评审会议至少三个工作日向参与者分发评审包。</td>
            <td>Moderator or Author评审负责人或创建者</td>
        </tr>
    </tbody>
</table>
<br />
<table class="t_table" cellspacing="0" align="center" width="97%">
    <tbody>
        <tr>
            <td width="19%"><strong>Overview<br />
            评审说明</strong></td>
            <td width="59%">
            <p align="center"><strong>Task<br />
            任务</strong></p>
            </td>
            <td width="22%"><strong>Responsible<br />
            责任人</strong></td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>1. Describe the important features of the work product to the rest of the inspection team. State inspection objectives.向评审小组的其他成员描述工作产品的重要特征。陈述评审目标。</td>
            <td>Author创建者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Evaluate the assumptions, history, and context of the work product.评估工作产品的前提条件，历史记录及背景。</td>
            <td>Inspectors检查者</td>
        </tr>
        <tr>
            <td><strong>Preparation<br />
            评审准备</strong></td>
            <td>
            <p align="center"><strong>Task任务</strong></p>
            </td>
            <td><strong>Responsible<br />
            责任人</strong></td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>1. Ask Individual inspectors to prepare with specific objectives in mind, such as: checking the consistency of cross-references; checking for interface errors; checking traceability to, and consistency with, predecessor specifications; or checking conformance to standards.要求每个检查者以特定的角度准备评审。例如，检查交叉引用的一致性，检查接口错误，检查对以往的规范的可追溯性和一致性，检查对标准的符合性。</td>
            <td>Moderator and Author评审负责人和创建者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>2. Examine the work product, to understand it, find defects, and raise questions about it. Use the appropriate defect checklist to focus attention on defects commonly found in the type of product being inspected. Use other analysis methods to look for defects as appropriate.检查工作产品，理解它，发现其缺陷，并提出问题。使用适当的缺陷检查表，集中于发现这类工作产品中普遍存在的缺陷。适当使用其它分析方法查找缺陷。</td>
            <td>Inspectors检查者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>2. Examine the work product, to understand it, find defects, and raise questions about it. Use the appropriate defect checklist to focus attention on defects commonly found in the type of product being inspected. Use other analysis methods to look for defects as appropriate.检查工作产品，理解它，发现其缺陷，并提出问题。使用适当的缺陷检查表，集中于发现这类工作产品中普遍存在的缺陷。适当使用其它分析方法查找缺陷。</td>
            <td>Inspectors检查者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>3. Log minor defects found, such as typographical errors or style inconsistencies, on the Typo List. Deliver this to the author at or prior to the inspection meeting.将微小缺陷记录到微错清单上，如排版错误或风格不一致。在评审会议上或之前交给创建者。</td>
            <td>Inspectors检查者</td>
        </tr>
        <tr>
            <td><strong>Inspection Meeting<br />
            评审会议</strong></td>
            <td>
            <p align="center"><strong>Task任务</strong></p>
            </td>
            <td><strong>Responsible<br />
            责任人</strong></td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>1. Open the Meeting: Introduce the participants (if necessary) and state their roles, state the purpose of the inspection, and direct inspectors to focus their efforts toward finding defects, not solutions. Remind participants to address their comments to the work product under review, not to the author.召开会议：介绍参与者（如果需要），说明其角色，陈述评审的目标。指导检查者将精力集中于发现缺陷，而不是解决方法。提醒参与者评论要针对正在评审的工作产品，而不是创建者。</td>
            <td>Moderator评审负责人</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Establish Preparedness: Ask each inspector for his or her preparation time and records the times on the Inspection Summary Report. If preparation is insufficient, reschedule the meeting.确认准备情况：询问每个检查者的准备时间，并记录到评审总结报告上。如果准备不充分，重新安排会议时间。</td>
            <td>Moderator评审负责人</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Present Work Product: Describe portions of the work product to the inspection team.展示工作产品：向评审小组描述工作产品的各部分。</td>
            <td>Reader阅读人</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Raise Defects and Issues: Point out concerns, potential defects, questions, or improvement opportunities after the reader presents each section.提出缺陷和问题：每当阅读人展示完工作产品的一部分，指出关心的，潜在的缺陷，疑问或改进建议。</td>
            <td>Inspectors检查者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Record Issues: Capture the information in Table 2 on the Issue Log for each issue raised. State aloud what was recorded to make sure it was recorded accurately.记录问题：对每个提出的问题，获取表2中列出的信息，记录到问题日志上。大声读出记录，以确认问题被正确地记录。</td>
            <td>Recorder记录人</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Answer Questions: Respond briefly to any specific questions raised, and contribute to defect detection based on special understanding of the work product.解答问题：简短回答提出的问题，使检查者进一步了解工作产品，从而帮助发现缺陷。</td>
            <td>Author创建者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Make Product Appraisal: After all meetings scheduled for a given inspection are complete, decide on the work product appraisal, selecting from the options in Table 3. If the inspectors disagree, assign the most conservative appraisal offered by any of the inspectors.确定产品评估结果：所有评审会议结束以后，确定工作产品的评估结果，从表3中选择。如果检查者们的意见不一致，那么评估结果应确定为所有检查者给出的评估结果中最保守的一个。</td>
            <td>Inspectors检查者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Sign Inspection Summary Report: All participants sign the Inspection Summary Report to indicate their agreement with the inspection outcome.签署评审总结报告：所有参与者都要在评审总结报告上签字，说明他们同意评审结果。</td>
            <td>Inspectors检查者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Collect Inspection Feedback. Ask the inspectors to evaluate the inspection and suggest improvements, using the Inspection Lessons Learned Questionnaire.收集评审反馈：使用评审经验教训问卷，要求检查者评估评审并提出改进建议。</td>
            <td>Moderator评审负责人</td>
        </tr>
    </tbody>
</table>
<br />
Table 2. Information to Record for Each Defect Found.<br />
表2. 对每个发现的缺陷需要纪录的信息<br />
<table class="t_table" cellspacing="0" align="center" width="97%">
    <tbody>
        <tr>
            <td width="26%"><strong>Appraisal</strong></td>
            <td width="74%">
            <p align="center"><strong>Meaning</strong></p>
            </td>
        </tr>
        <tr>
            <td>Accepted As Is完全接受</td>
            <td>Modifications may be required in the work product, but verification of the modification is not necessary.可能需要修改工作产品，但修改不需要审核。</td>
        </tr>
        <tr>
            <td>Accept Conditionally有条件的接受</td>
            <td>Defects must be corrected, and the changes must be verified by the individual named on the Inspection Summary Report.必须修改缺陷，所作的修改必须由评审总结报告上指定的人审核。</td>
        </tr>
        <tr>
            <td>e-inspect Following Rework二次评审返工工作</td>
            <td>A substantial portion of the product must be modified, or there are many changes to make. A second inspection is required after the author has completed rework.工作产品的很大部分都需要修改或需要做很多变更。创建者完成返工工作后需要二次评审。</td>
        </tr>
        <tr>
            <td>Inspection Not Completed评审未完成</td>
            <td>A significant fraction of the planned material was not inspected, or the inspection was terminated for some reason.评审内容的重要部分没有评审或评审因某些原因中断。</td>
        </tr>
    </tbody>
</table>
<br />
<table class="t_table" cellspacing="0" align="center" width="96%">
    <tbody>
        <tr>
            <td width="18%">&nbsp;</td>
            <td width="59%">
            <p align="center"><strong>Task任务</strong></p>
            </td>
            <td width="23%"><strong>Responsible责任人</strong></td>
        </tr>
        <tr>
            <td>Rework返工</td>
            <td>1. Correct defects and typos found, resolve issues raised, and modify work product accordingly. Mark issues list to indicate action taken. 改正缺陷和微小错误，解决提出的问题，并相应地修改工作产品。标注问题列表中已经处理过的问题。</td>
            <td>Author创建者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Correct any other project documents based on defects identified in the inspected work product.基于工作产品评审发现的缺陷，修改其他项目文档。</td>
            <td>Author创建者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Record any uncorrected defects in the project&rsquo;s defect tracking system.将没有改正的缺陷记录到项目缺陷跟踪系统中。</td>
            <td>Author创建者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>If rework verification is not needed, report the number of major and minor defects found and corrected and the actual rework effort to the moderator.如果返工工作不需要审核，要向评审负责人报告发现和修改的严重缺陷和轻微缺陷的数量，以及实际的返工工作量。</td>
            <td>Author创建者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Record the actual rework effort on the Inspection Summary Report.在评审总结报告上纪录实际的返工工作量。</td>
            <td>Moderator评审负责人</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>
            <p align="center"><strong>Task任务</strong></p>
            </td>
            <td><strong>Responsible责任人</strong></td>
        </tr>
        <tr>
            <td>Follow-Up跟踪</td>
            <td>2. Confirm that the author has addressed every item on the Issue Log. Determine whether the author made appropriate decisions as to which defects not to correct and which improvement suggestions not to implement.确认创建者已经对应了问题日志上的每一项。确定创建者是否正确的判断了哪些缺陷不必改正，那些改进建议不必实现。</td>
            <td>Verifier审核者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Examine the modified work product to judge whether the rework has been performed correctly. Report any findings to the author, so rework can be declared complete, incorrect rework can be redone, or items that were not originally pursued can be addressed.检查修改后的工作产品，判断返工工作是否正确执行，将结果报告给创建者，从而声明返工工作已经完成，重做没有正确完成的返工工作，对应之前没有对应的项目。</td>
            <td>Verifier审核者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Report the number of major and minor defects found and corrected and the actual rework effort to the moderator.向评审负责人报告发现和修改的严重缺陷数和轻微缺陷数及实际的返工工作量。</td>
            <td>Author创建者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Check whether the exit criteria for the inspection and for the peer review process have been satisfied. If so, the inspection is complete.检查是否满足评审和同行评审过程的出口条件。如果满足，则评审结束</td>
            <td>Moderator评审负责人</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Check the baselined work product into the project&rsquo;s configuration management system.将工作产品基线化到项目配置管理系统中</td>
            <td>Author创建者</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>Deliver Inspection Summary Report and counts of defects found and defects corrected to peer review coordinator.向同行评审协调者提交评审总结报告及发现的缺陷数和改正的缺陷数。</td>
            <td>Author创建者</td>
        </tr>
        <tr>
            <td>Deliverables<br />
            交付物</td>
            <td colspan="2">1. Baselined work product基线化的工作产品<br />
            2. Completed Inspection Summary Report完成的评审总结报告<br />
            3. Completed Issue Log完成的问题日志<br />
            4. Completed Typo Lists完成的微错清单<br />
            5. Counts of defects found and defects corrected发现和改正的缺陷数</td>
        </tr>
        <tr>
            <td>Exit Criteria<br />
            出口条件</td>
            <td colspan="2">o All of the author&rsquo;s inspection objectives are satisfied.<br />
            o 创建者的所有评审目标都已达成。<br />
            o Issues raised during the inspection are tracked to closure.<br />
            o 评审中提出的问题被跟踪直至关闭。<br />
            o All major defects are corrected.<br />
            o 所有严重缺陷都已改正。<br />
            o Uncorrected defects are logged in the project&rsquo;s defect tracking system.<br />
            o 没改正的缺陷已被纪录到项目缺陷跟踪系统中。<br />
            o The modified work product is checked into the project&rsquo;s configuration management system.<br />
            o 修改的工作产品已基线化到项目配置管理系统中。<br />
            o If changes were required in earlier project deliverables, those deliverables have been correctly modified, checked into the project&rsquo;s configuration management system, and any necessary regression tests were passed.<br />
            o 如果需要修改以前的项目交付物，则已经正确的修改了这些交付物，保存到了项目配置管理系统中，并且通过了所有必要的测试。<br />
            o Moderator has collected and recorded the inspection data.<br />
            o 评审负责人收集并记录了评审数据。<br />
            o Moderator has delivered the completed Inspection Summary Report and defect counts to the peer review coordinator.<br />
            o 评审负责人已经向同行评审协调者提交了完成的评审总结报告和缺陷数。</td>
        </tr>
    </tbody>
</table>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsf.javaeye.com/blog/112263#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 14 Aug 2007 22:47:21 +0800</pubDate>
        <link>http://jsf.javaeye.com/blog/112263</link>
        <guid>http://jsf.javaeye.com/blog/112263</guid>
      </item>
      <item>
        <title>同行评审过程描述（一）——概述</title>
        <author>icess</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jsf.javaeye.com">icess</a>&nbsp;
          链接：<a href="http://jsf.javaeye.com/blog/112261" style="color:red;">http://jsf.javaeye.com/blog/112261</a>&nbsp;
          发表时间: 2007年08月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <strong>1. Overview（概述）</strong><br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>In a peer review, co-workers of a person who created a software work product examine that product to identify defects and correct shortcomings. A review: <br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>在同行评审中，由软件工作产品创建者的同行们检查该工作产品，识别产品的缺陷，改进产品的不足。评审：<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; verifies whether the work product correctly satisfies the specifications found in any predecessor work product, such as requirements or design documents<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 检验工作产品是否正确的满足了以往的工作产品中建立的规范，如需求或设计文档<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; identifies any deviation from standards, including issues that may affect maintainability of the software<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 识别工作产品相对于标准的偏差，包括可能影响软件可维护性的问题<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; suggests improvement opportunities to the author<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 向创建者提出改进建议<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; promotes the exchange of techniques and education of the participants.<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 促进参与者之间的技术交流和学习<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>All interim and final development work products are candidates for review, including:<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>所有中间和最终的开发工作产品都可以进行评审，包括：<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; requirements specifications<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 需求规格说明书<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; user interface specifications and designs<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 用户界面规范及设计<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; architecture, high-level design, and detailed designs and models<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 架构，概要设计，详细设计及模型<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; source code<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 源代码<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; test plans, designs, cases, and procedures<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 测试计划，设计，用例及步骤<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; software development plans, including project management plan, configuration management plan, and quality assurance plan<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 软件开发计划，包括项目管理计划，配置管理计划和质量保证计划<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>This document defines an overall peer review process. It includes procedures for conducting inspections and two types of informal peer review, a walkthrough and a passaround, as well as guidance for selecting the appropriate approach for each review.<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>该文档定义了一个全面的同行评审过程。包括了执行评审的步骤和两种非正式的同行评审，走查和轮查，以及对每个评审选择适当方法的指南。<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;2. Work Aids（工作辅助项）</strong><br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>The following peer review work aids are available from :<br />
&lt;场所&gt;中，需要有如下的同行评审工作辅助项：<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; Inspection Summary Report<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 评审总结报告<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; Issue Log<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 问题日志<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; Typo List<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 微错清单<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; Inspection Moderator&rsquo;s Checklist<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 评审负责人的检查表<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; Inspection Lessons Learned Questionnaire<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 评审经验教训问卷<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; defect checklists for several types of software work products<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 各种软件工作产品的缺陷检查表<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;3. Risk Assessment Guidance（风险评估指南）</strong><br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>To judge which software components (or portions of components) to review and what type of review method to use, consider the following risk criteria:<br />
在判断哪些软件组件（或组件的部分）需要评审及使用哪种评审方法的时候，需要考虑如下的风险条件：<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; components that use new technology, techniques, or tools<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 使用了新技术，方法，工具的组件<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; key architectural components<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 关键的架构性的组件<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; complex logic or algorithms that are difficult to understand but must be accurate and optimized<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 难以理解，却又必须准确和优化的复杂逻辑或算法<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; mission-, security-, or safety-critical components with dangerous failure modes<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 具有危险失败模式的组件，而且是任务、可靠性、安全性关键的<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; components having many exception conditions or failure modes<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 具有多个异常条件或失败模式的组件<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; exception handling code that cannot easily be tested<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 不易测试的异常处理代码<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; components that are intended to be reused<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 打算复用的组件<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; components that will serve as models or templates for other components<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 将作为其他组件的模型或模板的组件<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; components that affect multiple portions of the product<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 影响产品多个部分的组件<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; complex user interfaces<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 复杂的用户界面<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; components created by less experienced developers<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 由缺乏经验的开发者创建的组件<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; code modules having high cyclomatic complexity<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 具有高度圈复杂性的代码模块<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; modules having a history of many defects or changes<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 以往具有很多缺陷或变更的模块<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>Work products that fit in one or more of these categories are considered high risk. A product is considered low risk if an undetected error will not significant affect the project&rsquo;s ability to meet its schedule, quality, cost, and feature objectives. Use inspections for high-risk work products, or the high-risk portions of large products, and for major work products that are about to be baselined. Less formal reviews are acceptable for other work products<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>符合这些条件中一种或几种的工作产品被认为是高风险的。如果未发现的缺陷对项目达成进度，质量，成本及特征目标的能力没有重大影响，则该工作产品被认为是低风险的。评审只用于高风险的工作产品或大产品的高风险部分或将要被基线化的主要工作产品。对其他的工作产品可以进行不太正式的评审。<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;4. Participants（参与者）</strong><br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>Table 1 suggests project roles who might review different work products. Not all of these perspectives need to be represented. In general, a work product should be reviewed by:<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>表1列出了评审不同工作产品的项目角色。不是所有这些角度都必须表现出来。通常，一项工作产品的评审需要有：<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; the author of any predecessor document or specification<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 以往的文档或规范的创建者<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; someone who must base their subsequent work on the work product<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 以该工作产品为基础进行后续工作的人。<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; peers of the author<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 创建者的同行们<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; anyone responsible for a component to which the work product interfaces<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>&middot; 使用该工作产品接口的组件的负责人 <br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>Attendance by anyone with supervisory authority over the author is by invitation of the author only.<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>对工作产品创建者具有监督权力的人只能在创建者的邀请下参加评审。 <br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</strong>Table 1. Review Participants for Different Types of Work Products.<br />
<strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;表1. 各类工作产品的参评人</strong><br />
<table class="t_table" cellspacing="0" align="center" width="97%">
    <tbody>
        <tr>
            <td width="32%">Work Product Type工作产品类型</td>
            <td width="68%">Work Product Type工作产品类型</td>
        </tr>
        <tr>
            <td>Architecture or High-Level Design架构或概要设计</td>
            <td>architect, requirements analyst, designer, project manager, integration test engineer架构师，需求分析师，设计师，项目经理，集成测试工程师</td>
        </tr>
        <tr>
            <td>Detail Design详细设计</td>
            <td>designer, architect, programmer, integration test engineer设计师，架构师，程序员，集成测试工程师</td>
        </tr>
        <tr>
            <td>Process Documentation过程文档</td>
            <td>process improvement group leader, process improvement working group members, management-level process owner, practitioner representatives who will use the process过程改进组负责人，过程改进工作组成员，管理级的过程拥有者，使用过程的实践者的代表</td>
        </tr>
        <tr>
            <td>Project Plans项目计划</td>
            <td>project manager, program manager, business sponsor, marketing or sales representative, technical lead, quality assurance manager项目经理，产品经理，需求提出者，市场或销售代表，技术负责人，质量保证工程师</td>
        </tr>
        <tr>
            <td>Requirements Specification需求规格说明书</td>
            <td>requirements analyst, project manager, architect, designer, system test engineer, quality assurance manager, user or marketing representative, documentation writer, subject matter expert, technical support representative需求分析师，项目经理，架构师，设计师，系统测试工程师，质量保证经理，用户或市场代表，文档编写者，业务专家，技术支持代表</td>
        </tr>
        <tr>
            <td>Source Code源代码</td>
            <td>programmer, designer, unit test engineer, maintainer, requirements analyst, coding standards expert程序员，设计师，单元测试工程师，维护者，需求分析师，编码标准专家</td>
        </tr>
        <tr>
            <td>System Technical Documentation系统技术文档</td>
            <td>author, project manager, maintainer, programmer创建者，项目经理，维护者，程序员</td>
        </tr>
        <tr>
            <td>Test Documentation测试文档</td>
            <td>test engineer, programmer (unit testing) or architect (integration testing) or requirements analyst (system testing), quality assurance representative测试工程师，程序员（单元测试）或架构师（集成测试）或需求分析师（系统测试），质量保证代表</td>
        </tr>
        <tr>
            <td>User Interface Design用户界面设计</td>
            <td>user interface designer, requirements analyst, user, application domain expert, usability or human factors expert, system test engineer用户界面设计师，需求分析师，用户，应用领域专家，可用性或人体专家，系统测试工程师</td>
        </tr>
        <tr>
            <td>User Manual用户手册</td>
            <td>ocumentation writer, requirements analyst, user or marketing representative, system test engineer, maintainer, designer, instructional designer, trainer, technical support representative文档编写者，需求分析师，用户或市场代表，系统测试工程师，维护人员，设计师，用户教育设计师，培训师，技术支持代表</td>
        </tr>
    </tbody>
</table>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsf.javaeye.com/blog/112261#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 14 Aug 2007 22:46:38 +0800</pubDate>
        <link>http://jsf.javaeye.com/blog/112261</link>
        <guid>http://jsf.javaeye.com/blog/112261</guid>
      </item>
      <item>
        <title>Redhat AS4上安装64位Oracle9204 </title>
        <author>icess</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jsf.javaeye.com">icess</a>&nbsp;
          链接：<a href="http://jsf.javaeye.com/blog/109668" style="color:red;">http://jsf.javaeye.com/blog/109668</a>&nbsp;
          发表时间: 2007年08月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>Redhat AS4上安装<font color="#ff0000">&nbsp; 6 4</font> 位Oracle9204 <br />
=========================================================== <br />
作者: yangtingkun(<a href="http://yangtingkun.itpub.net/" _base_href="http://shanchao7932297.blog.163.com/blog/static/13636242006102711013753/">http://yangtingkun.itpub.net</a>)<br />
发表于: 2006.09.20 20:03<br />
分类: ORACLE <br />
出处: <a href="http://yangtingkun.itpub.net/post/468/211768" _base_href="http://shanchao7932297.blog.163.com/blog/static/13636242006102711013753/">http://yangtingkun.itpub.net/post/468/211768</a><br />
--------------------------------------------------------------- </p>
<p>第一次尝试在REDHAT AS4上安装64位Oracle，由于缺少资料且操作系统知识相对匮乏，导致安装过程中错误频繁出现，不过幸好通过两天的不断折腾，终于将Oracle安装成功。这里将安装步骤简单总结一下，尽量使后来人少走弯路。</p>
<p>这篇文档参考了Oracle9i for Linux x86-64的官方安装文档，不过这篇文档中遗留的东西很多。另外还参考了metalink上的几篇文档，这几篇文章主要是介绍如何解决isqlplus链接失败的。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>下面就开始介绍安装步骤，对于简单的部分就不多做说明了：</p>
<p>首先检查系统是否满足安装Oracle的要求，其实这个对于目前大部分的服务器都是满足的，不过为了完整起见，还是把Oracle的最低要求和检查脚本列出来：</p>
<p>512M以上内存；</p>
<p>1G以上交换空间；</p>
<p>/tmp目录下400M以上空间。</p>
<p># grep MemTotal /proc/meminfo<br />
# grep SwapTotal /proc/meminfo<br />
# df -k /tmp<br />
# grep &quot;model name&quot; /proc/cpuinfo</p>
<p>另外，需要保证Oracle的安装目录至少有超过2.5G的空间，才能保证企业版的正常安装。</p>
<p>通过下面的脚本检查操作系统信息</p>
<p># more /etc/issue<br />
# uname -a</p>
<p>下面通过rpm &ndash;qa来检查操作系统是否已经包含了安装Oracle所需要的包。由于没有官方版的AS4所需的包的列表，我根据官方AS3所需列表将我的环境中对应的包列出，并将个人认为比较重要的放在前面。</p>
<p>kernel-2.6.9-42.EL</p>
<p>glibc-devel-2.3.4-2.25</p>
<p>glibc-2.3.4-2.25</p>
<p>gcc-3.4.6-3</p>
<p>gcc-c++-3.4.6-3</p>
<p>compat-libgcc-296-2.96-132.7.2</p>
<p>compat-gcc-32-3.2.3-47.3</p>
<p>compat-gcc-32-c++-3.2.3-47.3</p>
<p>libstdc++-devel-3.4.6-3</p>
<p>libstdc++-3.4.6-3</p>
<p><a name="baidusnap5" _base_href="http://shanchao7932297.blog.163.com/blog/static/13636242006102711013753/"></a><strong style="color: white; background-color: rgb(136, 0, 0);">make</strong>-3.80-6.EL4</p>
<p>gtk+-1.2.10-33</p>
<p>gnome-libs-1.4.1.2.90-44.1</p>
<p>tcp_wrappers-7.6-37.2</p>
<p>ORBit-0.5.17-14</p>
<p>libpng10-1.0.16-1</p>
<p>libungif-4.1.3-1.el4.2</p>
<p>imlib-1.9.13-23</p>
<p>setarch-1.6-1</p>
<p>libaio-0.3.105-2</p>
<p>audiofile-0.2.6-1.el4.1</p>
<p>esound-0.2.35-2</p>
<p>上面列出的包并不见得都是必须的，最后几个包没有的话，应该也可以安装成功。不过根据Oracle官方文档的建议都加上肯定不会有问题。这里要额外注意compat-libgcc-296-2.96-132.7.2这个包，这个包必须要加上，否则后面的安装无法继续进行。</p>
<p>下面需要修改一下系统的核心参数，具体的含义就不多解释了，Oracle的推荐默认参数为：</p>
<p>kernel.shmall = 2097152</p>
<p>kernel.shmmax = 2147483648</p>
<p>kernel.shmmni = 4096</p>
<p>kernel.sem = 250 32000 100 128</p>
<p>fs.<a name="baidusnap6" _base_href="http://shanchao7932297.blog.163.com/blog/static/13636242006102711013753/"></a><strong style="color: white; background-color: rgb(0, 170, 0);">file</strong>-max = 65536</p>
<p>net.ipv4.ip_local_port_range = 1024 65000</p>
<p>我只修改了kernel.shmmax参数，设置其大小超过我预计SGA的值。</p>
<p>将上面的核心参数添加到/etc/sysctl.conf文件中。</p>
<p>完成设置后，重启操作系统。通过/sbin/sysctl &ndash;p可以修改当前核心参数，不过如果系统可以重启，还是通过这种方式比较保险。</p>
<p>下面为Oracle用户设置进程数和打开文件数的限制：修改/etc/security/limits.conf文件，将下面内容填入：</p>
<p>* soft nproc 2047</p>
<p>* hard nproc 16384</p>
<p>* soft nofile 1024</p>
<p>* hard nofile 65536</p>
<p>修改/etc/pam.d/login文件，添加如下的内容：</p>
<p>session required /lib/security/pam_limits.so</p>
<p>这些操作完成之后，开始安装的前期工作了，首先是创建Oracle帐户：</p>
<p># groupadd oinstall<br />
# groupadd dba<br />
# useradd -g oinstall -G dba oracle<br />
# passwd oracle<br />
# mkdir -p /opt/oracle/product/9.2<br />
# chown -R oracle.oinstall /opt/oracle</p>
<p>至此，root用户的设置基本结束，可以切换到oracle用户了。</p>
<p># su - oracle<br />
$ vi .bashrc</p>
<p>在oracle用户的初始化脚本中添加如下内容：</p>
<p>if [ $USER = &quot;oracle&quot; ]; then</p>
<p>ulimit -u 16384 -n 65536</p>
<p>fi</p>
<p><br />
export ORACLE_BASE=/opt/oracle</p>
<p>export ORACLE_HOME=/opt/oracle/product/9.2</p>
<p>export ORACLE_SID=testdb</p>
<p>export NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16GBK'</p>
<p>export PATH=$ORACLE_HOME/bin:$PATH</p>
<p>export DISPLAY=172.25.6.201:0</p>
<p><br />
export LD_ASSUME_KERNEL=2.4.1</p>
<p>其中上面设置进程和文件的限制是Oracle推荐的。ORACLE_BASE、ORACLE_HOME、ORACLE_SID以及NLS_LANG 的设置都需要根据个人的具体进行调整。DISPLAY变量设置的是我自己机器在局域网中的IP地址，这是方便我使用X-MANAGER进行图形化操作的。</p>
<p>最需要注意的是LD_ASSUME_KERNEL的设置。首先Oracle的官方文档中并没有包含这个变量的设置，但是如果不进行设置的话，那么一 会在安装Oracle的时候，安装到17%，提示拷贝文件naeet.o的时候，整个安装就停住了，这个时候即使点cancel按钮都没有用，只能将整个 安装窗口关闭。</p>
<p>Metalink上的文章倒是提到了对这个参数的设置，但是Metalink给出的建议设置是2.4.21。这个设置似乎对SuSE 8环境是有效的，但是对REDHAT AS4环境仍然没有作用。从Metalink上的回复看，也没有看到对这个问题的进一步说明。</p>
<p>Oracle9204在REDHAT AS3上的安装时，建议将这个变量设置为2.4.1，因此，我选择了将这个变量也设置为2.4.1，在随后的安装过程中，上面提到的问题没有再次出现。我 估计将这个值设置的稍微大一些的话，也是可以的，我没有进行具体的测试，如果有兴趣，可以尝试一下，看看这个值最大可以设置到多大。</p>
<p>设置好环境变量后，重新应用一下初始脚本，保证设置的环境应用到当前用户：</p>
<p>$ . .bashrc</p>
<p>如果是使用光盘介质，可以跳过下面的步骤，如果是下载的压缩包，需要将压缩包ftp到oracle用户可以访问的目录下。解压并展开：</p>
<p>$ gunzip amd64_db_9204_Disk1.cpio.gz<br />
$ gunzip amd64_db_9204_Disk2.cpio.gz<br />
$ gunzip amd64_db_9204_Disk3.cpio.gz<br />
$ cpio -idcmv &lt; amd64_db_9204_Disk1.cpio<br />
$ cpio -idcmv &lt; amd64_db_9204_Disk2.cpio<br />
$ cpio -idcmv &lt; amd64_db_9204_Disk3.cpio</p>
<p>展开文件后，终于可以开始安装了：</p>
<p>$ cd Disk1<br />
$ . runInstaller</p>
<p>安装开始没有什么值得说的，无非是点击几个NEXT的，输入用户组oinstall，并根据提示在后台使用root用户执行/tmp/orainstRoot.sh脚本。</p>
<p>随后选择安装Oracle Database 9204，同时添加简体中文语言，选择企业版，并选择定制数据库配置。这些配置都可以根据个人的需求进行调整。</p>
<p>所有准备工作完成，点击install。</p>
<p>在安装到88%的时候，会报错，错误信息如下：Error in invoking target install_isqlplus of makefile /opt/oracle/product/9.2/sqlplus/lib/ins_sqlplus.mk。</p>
<p>这是使用了64位的gcc编译32位程序时出现的错误，这里先点击ignore忽略错误，随后我们在解决这个问题。</p>
<p>在安装到98%的时候，会报和刚才类似的错误：Error in invoking target install of makefile /opt/oracle/product/9.2/rdbms/lib/<a name="baidusnap0" _base_href="http://shanchao7932297.blog.163.com/blog/static/13636242006102711013753/"></a><strong style="color: black; background-color: rgb(255, 255, 102);">ins_rdbms.mk</strong>，这里也点击ignore忽略错误。</p>
<p>忽略了两个错误后，安装完成，这时候Oracle会但出一个对话框，要求用户以root身份执行$ORACLE_HOME目录下的一个root.sh脚本。</p>
<p>我们先修正上面两个错误，然后在执行这个脚本。</p>
<p>修正这两个错误是整个安装过程中最麻烦的地方，参照metalink上的文章，我又反反复复摸索了四、五次才尝试成功。</p>
<p>首先以root身份来到/usr/bin目录下，查看gcc*：</p>
<p># cd /usr/bin<br />
# ls -l gcc*<br />
-rwxr-xr-x 2 root root 105392 May 24 07:46 gcc<br />
-rwxr-xr-x 2 root root 94360 Dec 2 2004 gcc32</p>
<p>这时候我们需要编写一个gcc296的脚本，内容如下：</p>
<p>#!/bin/sh<br />
exec /usr/bin/gcc32 -static-libgcc -B/usr/lib/gcc-lib/i386-redhat-linux/2.96/ &quot;$@&quot;</p>
<p>注意，上述脚本是metalink给出的，不过metalink给出的脚本至少有3个问题，首先metalink上给出的gcc32错误拼写成了 gcc33，第二点metalink脚本中包含了-m32，而这个编译标志在编译上述两个错误时是不需要的，当然metalink上有进一步的说明，不过 还是容易使人误导。第三点其实不是metalink脚本的问题，而是这个脚本太长了，导致脚本最后的&rdquo;$@&rdquo;跑到了第三行，而实际上整个脚本只有两行。像 我这样对操作系统、shell脚本语言以及gcc编译不是很熟悉的人很容易在这里出错。</p>
<p>将上面给出的内容添加到gcc296中，然后修改gcc296的文件属性为755。</p>
<p>然后进行类似的操作编写g++296的脚本：</p>
<p>#!/bin/sh<br />
exec /usr/bin/g++32 -static-libgcc -B/usr/lib/gcc-lib/i386-redhat-linux/2.96/ &quot;$@&quot;</p>
<p>同样，将g++296的脚本的文件属性修改为755。</p>
<p># chmod 755 gcc296<br />
# chmod 755 g++296</p>
<p>下面根据gcc和g++的版本信息，将gcc和g++重命名。然后将gcc和g++分别指向gcc296和g++296。</p>
<p># mv gcc gcc346<br />
# mv g++ g++346<br />
# ln -s -f gcc296 gcc<br />
# ln -s -f g++296 g++</p>
<p>下面回到oracle用户环境，重新编译刚才出现错误的两个对象：</p>
<p>通过/opt/oracle/product/9.2/install/<strong style="color: white; background-color: rgb(136, 0, 0);">make</strong>.log文件，找到刚才出现错误的两个对象，重新<strong style="color: white; background-color: rgb(136, 0, 0);">make</strong>：</p>
<p># su - oracle<br />
$ cd /opt/oracle/product/9.2/sqlplus/lib<br />
$ /usr/bin/<strong style="color: white; background-color: rgb(136, 0, 0);">make</strong> -f ins_sqlplus.mk install_isqlplus ORACLE_HOME=/opt/oracle/product/9.2<br />
$ cd /opt/oracle/product/9.2/rdbms/lib<br />
$ <strong style="color: white; background-color: rgb(136, 0, 0);">make</strong> -f /opt/oracle/product/9.2/rdbms/lib/<strong style="color: black; background-color: rgb(255, 255, 102);">ins_rdbms.mk</strong> /opt/oracle/product/9.2/rdbms/lib/extproc32 EXTPROC=/opt/oracle/product/9.2/rdbms/lib/extproc32 LIBDIR=lib32 LDFLAGS='-m32 -o $@ $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME) $(LDPATHFLAG)$(LIBHOME)stubs/'</p>
<p>重新编译后，回到root用户，恢复刚才进行的操作：</p>
<p>$ exit<br />
# rm -f gcc<br />
# rm -f g++<br />
# mv gcc346 gcc<br />
# mv g++346 g++<br />
# . /opt/oracle/product/9.2/root.sh</p>
<p>至此，Oracle9204的软件部分安装完毕。</p>
<p>建库、配置listener等操作就没有什么可说的了，值得一提的是，建库过程中安装data mining的时候碰到了一个ORA-1031的错误，比较奇怪。</p>
<p>&nbsp;</p>
yangtingkun 发表于:2006.09.20 20:03
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsf.javaeye.com/blog/109668#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 07 Aug 2007 10:17:35 +0800</pubDate>
        <link>http://jsf.javaeye.com/blog/109668</link>
        <guid>http://jsf.javaeye.com/blog/109668</guid>
      </item>
      <item>
        <title>xlib 不能在本地主机上显示的问题</title>
        <author>icess</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jsf.javaeye.com">icess</a>&nbsp;
          链接：<a href="http://jsf.javaeye.com/blog/109486" style="color:red;">http://jsf.javaeye.com/blog/109486</a>&nbsp;
          发表时间: 2007年08月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          由于经常在windows 和其他linux 机器上访问服务器,有时会导致本机上的Xlib 不能正确显示,&nbsp; 运行 xhost local:local 可以解决该问题. <br />
<br />
<strong style="color: black; background-color: rgb(255, 255, 102);">Xlib:</strong> <strong style="color: black; background-color: rgb(153, 255, 153);">connection</strong> <strong style="color: black; background-color: rgb(255, 153, 153);">to</strong> &quot;<strong style="color: black; background-color: rgb(255, 102, 255);">:0.0</strong>&quot; <strong style="color: white; background-color: rgb(0, 70, 153);">refused</strong> <strong style="color: white; background-color: rgb(153, 0, 153);">by</strong> server<br />
<strong style="color: black; background-color: rgb(255, 255, 102);">Xlib:</strong> No protocol specified<br />
<br />
Error: Can't open display: <strong style="color: black; background-color: rgb(255, 102, 255);">:0.0</strong><br />
<br />
这是老问题了，不过这次对我来说却有些不同。想在自己的本本ubuntu上安装oracle10，结果新增加的用户oracle不能运行X程序。<br />
<br />
查了查资料和手册，以日常工作用的那个用户登录，在shell中运行<br />
xhost local:oracle<br />
non-network local connections being added <strong style="color: black; background-color: rgb(255, 153, 153);">to</strong> access control list<br />
<br />
然后oracle身份就可以运行X程序了。<br />
<br />
man xhost中有这样一段<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A complete name has the syntax &lsquo;&lsquo;family:name&rsquo;&rsquo; where the families are as follows:<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Internet host (IPv4)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inet6&nbsp;&nbsp;&nbsp;&nbsp; Internet host (IPv6)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dnet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DECnet host<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nis&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Secure RPC network name<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; krb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Kerberos V5 principal<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local&nbsp;&nbsp;&nbsp;&nbsp; contains only one name, the empty string<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; si&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Server Interpreted<br />
<br />
其中local那个是用来解决同一台机器的不同用户访问X的问题的。
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsf.javaeye.com/blog/109486#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 06 Aug 2007 19:38:40 +0800</pubDate>
        <link>http://jsf.javaeye.com/blog/109486</link>
        <guid>http://jsf.javaeye.com/blog/109486</guid>
      </item>
      <item>
        <title>CPIO用法(比tar快很多哦)</title>
        <author>icess</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jsf.javaeye.com">icess</a>&nbsp;
          链接：<a href="http://jsf.javaeye.com/blog/109483" style="color:red;">http://jsf.javaeye.com/blog/109483</a>&nbsp;
          发表时间: 2007年08月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span id="ctl00_MainContentPlaceholder_ctl01_ctl00_labelPermalink"></span>
<h4 id="subjcns!ecc32d5c4f04fc33!366"><a name="baidusnap0" _base_href="http://lubinbin.spaces.live.com/mmm2007-02-10_13.26/"></a><strong style="color: black; background-color: rgb(255, 255, 102);">CPIO用法</strong>(比tar快很多哦)</h4>
<a href="http://lubinbin.spaces.live.com/blog/cns" target="_blank">http://lubinbin.spaces.live.com/blog/cns</a>!ecc32d5c4f04fc33!366.entry<br />
<div id="msgcns!ecc32d5c4f04fc33!366">
<div>
<p>cpio使用  </p>
<p>用法：cpio [ option ] [ &lt;&gt; device ]<br />
例： 备份/home目录<br />
&lt;1&gt;建立备份<br />
(1)绝对路径：find /home -print ｜cpio -ov &gt; home.cpio<br />
(2)相对路径：cd /home;find . -print ｜cpio -ov &gt; home.cpio<br />
&lt;2&gt;检查备份内容<br />
(1)绝对路径：cpio -itv --absolute-filenames &lt; home.cpio<br />
(2)相对路径：cpio -itv &lt; home.cpio<br />
&lt;3&gt;解开备份<br />
(1)绝对路径：cpio -ivdum --absolute-filenames &lt; home.cpio<br />
(2)相对路径：cpio -ivdum &lt; home.cpio </p>
<p>option：<br />
-o：建立备份<br />
-v：显示过程<br />
-i：解开备份<br />
-t：检查备份<br />
-d：自动建立目录<br />
-u：强制覆盖已经存在的内容<br />
-m：保留时间属性<br />
--absolute-filenames：保留绝对路径</p>
</div>
</div>
<table cellspacing="0" border="0" _base_href="http://lubinbin.spaces.live.com/mmm2007-02-10_13.26/">
</table>
<div class="footer" style="border: 0pt none ;"><span></span></div>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsf.javaeye.com/blog/109483#comments" style="color:red;">已有 <strong>2</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 06 Aug 2007 19:17:47 +0800</pubDate>
        <link>http://jsf.javaeye.com/blog/109483</link>
        <guid>http://jsf.javaeye.com/blog/109483</guid>
      </item>
      <item>
        <title>Maven中的AJAX4JSF资源配置</title>
        <author>icess</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jsf.javaeye.com">icess</a>&nbsp;
          链接：<a href="http://jsf.javaeye.com/blog/106692" style="color:red;">http://jsf.javaeye.com/blog/106692</a>&nbsp;
          发表时间: 2007年07月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>From: <font face="Arial"><a href="http://hi.baidu.com/jsfcn/blog/item/207b0146a6292a0b6b63e58d.html">http://hi.baidu.com/jsfcn/blog/item/207b0146a6292a0b6b63e58d.html</a> </font></p>
<p>要使用Maven来管理AJAX4JSF程序的开发，要首先配置起资源库（repository），下面来看看如何配置吧：</p>
<p>1. 首先你应该安装好了Maven。要安装Maven请按照如下步骤: </p>
<p>* 打开 http://maven.apache.org/download.html 页面<br />
* 下载 2.0.6 版本，并安装到你的电脑上面<br />
* 把Maven的bin目录添加到环境变量 PATH中<br />
</p>
<p>在命令行中输入 <em>mvn -version</em> ，如果显示了Maven的版本信息，则说明你已经安装好了。</p>
<p>2. 在你刚才安装Maven的目录下面，找到一个conf目录下面的settings.xml的文件，打开并编辑它： </p>
<p>把下面的代码添加到 &lt;profiles&gt; 中： </p>
<p>&nbsp;</p>
<pre>&nbsp;&nbsp;&nbsp;&nbsp; &lt;profile&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;id&gt;ajax4jsf&lt;/id&gt;
&nbsp;&nbsp;&nbsp; &lt;repositories&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;repository&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;releases&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;enabled&gt;true&lt;/enabled&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/releases&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;snapshots&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;enabled&gt;false&lt;/enabled&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;updatePolicy&gt;never&lt;/updatePolicy&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/snapshots&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;id&gt;repository.jboss.com&lt;/id&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;name&gt;Jboss Repository for Maven&lt;/name&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;url&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://repository.jboss.com/maven2/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/url&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;layout&gt;default&lt;/layout&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/repository&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;repository&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;releases&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;enabled&gt;false&lt;/enabled&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/releases&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;snapshots&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;enabled&gt;true&lt;/enabled&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;updatePolicy&gt;always&lt;/updatePolicy&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/snapshots&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;id&gt;maven.exadel.com&lt;/id&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;name&gt;Exadel Repository for Maven Snapshots&lt;/name&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;url&gt;http://maven.exadel.com/&lt;/url&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;layout&gt;default&lt;/layout&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/repository&gt;
&nbsp;&nbsp;&nbsp; &lt;/repositories&gt;
 &lt;pluginRepositories&gt;
&nbsp;&nbsp;&nbsp; &lt;pluginRepository&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;id&gt;maven.exadel.com&lt;/id&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;name&gt;Exadel Repository for Maven Snapshots&lt;/name&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;url&gt;http://maven.exadel.com/&lt;/url&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;releases&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;enabled&gt;false&lt;/enabled&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/releases&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;snapshots&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;enabled&gt;true&lt;/enabled&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;updatePolicy&gt;always&lt;/updatePolicy&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/snapshots&gt;
&nbsp;&nbsp;&nbsp; &lt;/pluginRepository&gt;
&nbsp;&nbsp;&nbsp; &lt;pluginRepository&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;releases&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;enabled&gt;true&lt;/enabled&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/releases&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;snapshots&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;enabled&gt;false&lt;/enabled&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;updatePolicy&gt;never&lt;/updatePolicy&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/snapshots&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;id&gt;repository.jboss.com&lt;/id&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;name&gt;Jboss Repository for Maven&lt;/name&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;url&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://repository.jboss.com/maven2/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/url&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;layout&gt;default&lt;/layout&gt;
&nbsp;&nbsp;&nbsp; &lt;/pluginRepository&gt;
 &lt;/pluginRepositories&gt;
&nbsp;&nbsp;&nbsp; &lt;/profile&gt;
</pre>
<p>在 &lt;/profiles&gt; 后面，添加下面的代码： </p>
<p>&nbsp;</p>
<pre>&lt;activeProfiles&gt;
&nbsp;&nbsp;&nbsp;&nbsp; &lt;activeProfile&gt;ajax4jsf&lt;/activeProfile&gt;
&lt;/activeProfiles&gt;</pre>
<p>OK，现在Maven已经配置好了.</p>
<p>&nbsp;</p>
<p>如果配置有变化，请参考原文： <a href="http://labs.jboss.com/wiki/Ajax4jsfMaven">http://labs.jboss.com/wiki/Ajax4jsfMaven</a>&nbsp;</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsf.javaeye.com/blog/106692#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 29 Jul 2007 15:59:50 +0800</pubDate>
        <link>http://jsf.javaeye.com/blog/106692</link>
        <guid>http://jsf.javaeye.com/blog/106692</guid>
      </item>
      <item>
        <title>Oracle 数据库导入导出使用</title>
        <author>icess</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jsf.javaeye.com">icess</a>&nbsp;
          链接：<a href="http://jsf.javaeye.com/blog/72425" style="color:red;">http://jsf.javaeye.com/blog/72425</a>&nbsp;
          发表时间: 2007年04月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">Oracle</strong> <strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">数据</strong>库导入<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">导出</strong>使用
<div class="postText">
<p>&nbsp; <font face="Arial">http://blog.csdn.net/hufei1204/archive/2006/11/06/1369743.aspx</font></p>
<div twffan="done"><strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">数据</strong><strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">导出</strong>：<br />
&nbsp;1 将<strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">数据</strong>库TEST完全<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">导出</strong>,用户名system 密码manager <strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">导出</strong>到D:\daochu.dmp中<br />
&nbsp;&nbsp; exp <a href="mailto:system/manager@TEST">system/manager@TEST</a> file=d:\daochu.dmp full=y<br />
&nbsp;2 将<strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">数据</strong>库中system用户与sys用户的表<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">导出</strong><br />
&nbsp;&nbsp; exp <a href="mailto:system/manager@TEST">system/manager@TEST</a> file=d:\daochu.dmp owner=(system,sys)<br />
&nbsp;3 将<strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">数据</strong>库中的表table1 、table2<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">导出</strong><br />
&nbsp;&nbsp; exp <a href="mailto:system/manager@TEST">system/manager@TEST</a> file=d:\daochu.dmp tables=(table1,table2)&nbsp;<br />
&nbsp;4 将<strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">数据</strong>库中的表table1中的字段filed1以&quot;00&quot;打头的<strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">数据</strong><strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">导出</strong><br />
&nbsp;&nbsp; exp <a href="mailto:system/manager@TEST">system/manager@TEST</a> file=d:\daochu.dmp tables=(table1)&nbsp;query=\&quot; where filed1 like '00%'\&quot;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; 上面是常用的<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">导出</strong>，对于压缩我不太在意，用winzip把dmp文件可以很好的压缩。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不过在上面命令后面 加上 compress=y&nbsp; 就可以了</div>
<div twffan="done" style="WORD-BREAK: break-all; TEXT-INDENT: 24pt"><strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">数据</strong>的导入<br />
&nbsp;1 将D:\daochu.dmp 中的<strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">数据</strong>导入 TEST<strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">数据</strong>库中。<br />
&nbsp;&nbsp; imp <a href="mailto:system/manager@TEST">system/manager@TEST</a>&nbsp; file=d:\daochu.dmp<br />
&nbsp;&nbsp; 上面可能有点问题，因为有的表已经存在，然后它就报错，对该表就不进行导入。<br />
&nbsp;&nbsp; 在后面加上 ignore=y 就可以了。<br />
&nbsp;2 将d:\daochu.dmp中的表table1 导入<br />
&nbsp;imp <a href="mailto:system/manager@TEST">system/manager@TEST</a>&nbsp; file=d:\daochu.dmp&nbsp; tables=(table1)&nbsp;<br />
&nbsp;<br />
&nbsp;基本上上面的导入<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">导出</strong>够用了。不少情况我是将表彻底删除，然后导入。<br />
&nbsp;<br />
注意：<br />
&nbsp;你要有足够的权限，权限不够它会提示你。<br />
&nbsp;<strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">数据</strong>库时可以连上的。可以用tnsping TEST 来获得<strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">数据</strong>库TEST能否连上。</div>
</div>
          <br/><br/>
          <span style="color:red;">
            <a href="http://jsf.javaeye.com/blog/72425#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 19 Apr 2007 11:55:54 +0800</pubDate>
        <link>http://jsf.javaeye.com/blog/72425</link>
        <guid>http://jsf.javaeye.com/blog/72425</guid>
      </item>
      <item>
        <title>浅析Oracle和SQL Server</title>
        <author>icess</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jsf.javaeye.com">icess</a>&nbsp;
          链接：<a href="http://jsf.javaeye.com/blog/71830" style="color:red;">http://jsf.javaeye.com/blog/71830</a>&nbsp;
          发表时间: 2007年04月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div id="newsview">
<div class="title">
<h1>浅析<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">Oracle</strong>和SQL Server</h1>
<div align="left">文章出处：<font face="Arial">http://www.2168.net/html/database/oracle/25701/</font>&nbsp;&nbsp;&nbsp;发布时间：2006-02-17 </div>
</div>
<div class="content">
<p><br />
&nbsp;<br />
T-SQL是SQL Server的语言引擎，而<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">Oracle</strong>的语言引擎却是PLSQL。这两种查询语言都对ANSI SQL-92标准进行了扩展以提供额外的支持力度。你所创建的应用程序几乎都要用到这些补充特性。本文就对最常用的、非标准的<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">Oracle</strong>扩展进行了说明，同时还要介绍下如何对这些扩展进行转化以用在SQL Server环境下。 </p>
<p>列的选择 <br />
<br />
用PLSQL执行数据查询的时候，FROM子句是必须的，这同SQL Server的要求是一样的。 SELECT语句必须选择针对的数据表。在<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">Oracle</strong>数据库内有一种特殊的表Dual。Dual表是<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">Oracle</strong>中的一个实际存在的表，任何用户均可读取，常用在没有目标表的Select中。Dual表由<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">Oracle</strong>连同数据字典一同创建，所