﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-数据仓库之路-随笔分类-数据仓库</title><link>http://www.cnitblog.com/liuhongtao/category/4291.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 28 Sep 2011 20:48:42 GMT</lastBuildDate><pubDate>Wed, 28 Sep 2011 20:48:42 GMT</pubDate><ttl>60</ttl><item><title>数据仓库定义</title><link>http://www.cnitblog.com/liuhongtao/archive/2007/05/19/27279.html</link><dc:creator>数据仓库之路</dc:creator><author>数据仓库之路</author><pubDate>Sat, 19 May 2007 14:49:00 GMT</pubDate><guid>http://www.cnitblog.com/liuhongtao/archive/2007/05/19/27279.html</guid><wfw:comment>http://www.cnitblog.com/liuhongtao/comments/27279.html</wfw:comment><comments>http://www.cnitblog.com/liuhongtao/archive/2007/05/19/27279.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/liuhongtao/comments/commentRss/27279.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/liuhongtao/services/trackbacks/27279.html</trackback:ping><description><![CDATA[<p>数据仓库之父Bill Inmon在1991年出版的&#8220;Building the Data Warehouse&#8221;一书中所提出的定义被广泛接受——数据仓库（Data Warehouse）是一个面向主题的（Subject Oriented）、集成的（Integrated）、相对稳定的（Non-Volatile）、反映历史变化（Time Variant）的数据集合，用于支持管理决策(Decision Making Support)。</p>
<p>◆面向主题：操作型数据库的数据组织面向事务处理任务，各个业务系统之间各自分离，而数据仓库中的数据是按照一定的主题域进行组织的。</p>
<p>◆集成的：数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的，必须消除源数据中的不一致性，以保证数据仓库内的信息是关于整个企业的一致的全局信息。</p>
<p>◆相对稳定的：数据仓库的数据主要供企业决策分析之用，所涉及的数据操作主要是数据查询，一旦某个数据进入数据仓库以后，一般情况下将被长期保留，也就是数据仓库中一般有大量的查询操作，但修改和删除操作很少，通常只需要定期的加载、刷新。</p>
<p>◆反映历史变化：数据仓库中的数据通常包含历史信息，系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息，通过这些信息，可以对企业的发展历程和未来趋势做出定量分析和预测。</p>
<p>数据仓库是一个过程而不是一个项目。</p>
<p>数据仓库系统是一个信息提供平台，他从业务处理系统获得数据，主要以星型模型和雪花模型进行数据组织，并为用户提供各种手段从数据中获取信息和知识。</p>
<p>从功能结构化分，数据仓库系统至少应该包含数据获取（Data Acquisition）、数据存储（Data Storage）、数据访问（Data Access）三个关键部分。 <br>OLAP逻辑概念和典型操作<br>OLAP展现在用户面前的是一幅幅多维视图。<br>维（Dimension）：<br>是人们观察数据的特定角度，是考虑问题时的一类属性，属性集合构成一个维（时间维、地理维等）。<br>维的成员（Member）：<br>维的一个取值，是数据项在某维中位置的描述。（&#8220;某年某月某日&#8221;是在时间维上位置的描述）。<br>度量（Measure）：<br>多维数组的取值。（2000年1月，上海，笔记本电脑，$100000）。<br>OLAP的基本多维分析操作有钻取（Drill-up和Drill-down）、切片（Slice）和切块（Dice）、以及旋转（Pivot）等。<br>钻取：<br>是改变维的层次，变换分析的粒度。它包括向下钻取（Drill-down）和向上钻取（Drill-up）/上卷(Roll-up)。Drill-up是在某一维上将低层次的细节数据概括到高层次的汇总数据，或者减少维数；而Drill-down则相反，它从汇总数据深入到细节数据进行观察或增加新维。<br>切片和切块：<br>是在一部分维上选定值后，关心度量数据在剩余维上的分布。如果剩余的维只有两个，则是切片；如果有三个或以上，则是切块。<br>旋转：是变换维的方向，即在表格中重新安排维的放置（例如行列互换）</p>
<p>数据仓库与OLAP的关系是互补的，现代OLAP系统一般以数据仓库作为基础，即从数据仓库中抽取详细数据的一个子集并经过必要的聚集存储到OLAP存储器中供前端分析工具读取。<br>OLAP系统按照其存储器的数据存储格式可以分为关系OLAP（RelationalOLAP，简称ROLAP）、多维OLAP（MultidimensionalOLAP，简称MOLAP）和混合型OLAP（HybridOLAP，简称HOLAP）三种类型。<br>1.ROLAP<br>ROLAP将分析用的多维数据存储在关系数据库中并根据应用的需要有选择的定义一批实视图作为表也存储在关系数据库中。不必要将每一个SQL查询都作为实视图保存，只定义那些应用频率比较高、计算工作量比较大的查询作为实视图。对每个针对OLAP服务器的查询，优先利用已经计算好的实视图来生成查询结果以提高查询效率。同时用作ROLAP存储器的RDBMS也针对OLAP作相应的优化，比如并行存储、并行查询、并行数据管理、基于成本的查询优化、位图索引、SQL的OLAP扩展(cube, rollup)等等。<br>2. MOLAP<br>MOLAP将OLAP分析所用到的多维数据物理上存储为多维数组的形式，形成&#8220;立方体&#8221;的结构。维的属性值被映射成多维数组的下标值或下标的范围，而总结数据作为多维数组的值存储在数组的单元中。由于MOLAP采用了新的存储结构，从物理层实现起，因此又称为物理OLAP（Physical OLAP）；而ROLAP主要通过一些软件工具或中间软件实现，物理层仍采用关系数据库的存储结构，因此称为虚拟OLAP（Virtual OLAP）。<br>3. HOLAP<br>由于MOLAP和ROLAP有着各自的优点和缺点（如下表所示）,且它们的结构迥然不同，这给分析人员设计OLAP结构提出了难题。为此一个新的OLAP结构——混合型OLAP（HOLAP）被提出，它能把MOLAP和ROLAP两种结构的优点结合起来。迄今为止，对HOLAP还没有一个正式的定义。但很明显，HOLAP结构不应该是MOLAP与ROLAP结构的简单组合，而是这两种结构技术优点的有机结合，能满足用户各种复杂的分析请求。</p><img src ="http://www.cnitblog.com/liuhongtao/aggbug/27279.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/liuhongtao/" target="_blank">数据仓库之路</a> 2007-05-19 22:49 <a href="http://www.cnitblog.com/liuhongtao/archive/2007/05/19/27279.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于MicroStrategy的一个问题和回复－－续二</title><link>http://www.cnitblog.com/liuhongtao/archive/2006/12/12/20407.html</link><dc:creator>数据仓库之路</dc:creator><author>数据仓库之路</author><pubDate>Tue, 12 Dec 2006 09:28:00 GMT</pubDate><guid>http://www.cnitblog.com/liuhongtao/archive/2006/12/12/20407.html</guid><wfw:comment>http://www.cnitblog.com/liuhongtao/comments/20407.html</wfw:comment><comments>http://www.cnitblog.com/liuhongtao/archive/2006/12/12/20407.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/liuhongtao/comments/commentRss/20407.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/liuhongtao/services/trackbacks/20407.html</trackback:ping><description><![CDATA[<p>对于上次问的两个问题，原问题：<a href="/liuhongtao/archive/2006/12/05/20075.html">http://www.cnitblog.com/liuhongtao/archive/2006/12/05/20075.html</a>  <br />经过对MSTR的工程的回答进行验证，发现，对于MSTR中的表，在MSTR的Desktop中是不能进行编辑，对表的操作可以建立“创建表别名”，这个在以后继续探索。<br /><br />经过ELT过程进行表的复制，虽然已经解决了问题，但是这种解决问题的方法比较局限，通过对数据仓库特点的分析，目前又有一种方法能够解决这种问题。<br /><br /><font color="#ff0000" size="4"><strong>数据库设计是尽量避免冗余，一般采用符合范式的规则来设计，数据仓库在设计是有意引入冗余，采用反范式的方式来设计。</strong></font></p>
		<p>所以经过讨论最终决定，不采用复制表的模式，而是采用数据字段冗余的方法来解决此问题，就是将Dim_A的表结构调整为：<br /><br /></p>
		<table class="MsoNormalTable" style="BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="0">
				<tbody>
						<tr>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #d9d9d9; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 40.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="54" bgcolor="#d9d9d9">
										<p class="MsoNormal">
												<font face="Arial" size="1">
														<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">A_ID<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span>
												</font>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #d9d9d9; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 18pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="24" bgcolor="#d9d9d9">
										<p class="MsoNormal">
												<font face="Arial" size="1">
														<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">D_1_NAME</span>
												</font>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #d9d9d9; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 13.1pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="17" bgcolor="#d9d9d9">
										<p class="MsoNormal">
												<font face="Arial" size="1">
														<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">D_2_NAME<o:p></o:p></span>
												</font>
										</p>
								</td>
						</tr>
						<tr>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 40.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="54">
										<p class="MsoNormal">
												<font face="Arial" size="1">
														<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">1<o:p></o:p></span>
												</font>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 18pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="24">
										<p class="MsoNormal">
												<font face="Arial" size="1">
														<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">A</span>
												</font>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 13.1pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="17">
										<p class="MsoNormal">
												<font face="Arial" size="1">
														<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">C</span>
												</font>
										</p>
								</td>
						</tr>
						<tr>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 40.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="54">
										<p class="MsoNormal">
												<font face="Arial" size="1">
														<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">2<o:p></o:p></span>
												</font>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 18pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="24">
										<p class="MsoNormal">
												<font face="Arial" size="1">
														<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">B</span>
												</font>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 13.1pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="17">
										<p class="MsoNormal">
												<font face="Arial" size="1">
														<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">E</span>
												</font>
										</p>
								</td>
						</tr>
						<tr>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 40.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="54">
										<p class="MsoNormal">
												<font face="Arial" size="1">
														<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">3<o:p></o:p></span>
												</font>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 18pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="24">
										<p class="MsoNormal">
												<font face="Arial" size="1">
														<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">D</span>
												</font>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 13.1pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="17">
										<p class="MsoNormal">
												<font face="Arial" size="1">
														<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">F</span>
												</font>
										</p>
								</td>
						</tr>
				</tbody>
		</table>
		<br />咋看上去好像没有什么变化，但是当D的属性有多个时就能够很清晰的表示出这种结构的特点。<br />此方法有一个很大的优点，就是<font style="BACKGROUND-COLOR: #d3d3d3" color="#006400" size="4"><strong>当数据量非常大时，数据库检索能够比第一种很大程度上节省效率。<br /><br /></strong></font><font size="3">如果还有其他的解决方法，可以一起讨论。</font><img src ="http://www.cnitblog.com/liuhongtao/aggbug/20407.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/liuhongtao/" target="_blank">数据仓库之路</a> 2006-12-12 17:28 <a href="http://www.cnitblog.com/liuhongtao/archive/2006/12/12/20407.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于MicroStrategy的一个问题和回复－－续一</title><link>http://www.cnitblog.com/liuhongtao/archive/2006/12/06/20124.html</link><dc:creator>数据仓库之路</dc:creator><author>数据仓库之路</author><pubDate>Wed, 06 Dec 2006 01:24:00 GMT</pubDate><guid>http://www.cnitblog.com/liuhongtao/archive/2006/12/06/20124.html</guid><wfw:comment>http://www.cnitblog.com/liuhongtao/comments/20124.html</wfw:comment><comments>http://www.cnitblog.com/liuhongtao/archive/2006/12/06/20124.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/liuhongtao/comments/commentRss/20124.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/liuhongtao/services/trackbacks/20124.html</trackback:ping><description><![CDATA[对于上次问的两个问题，原问题：<a href="/liuhongtao/archive/2006/12/05/20075.html">http://www.cnitblog.com/liuhongtao/archive/2006/12/05/20075.html</a>  <br />经过对MSTR的工程的回答进行验证，发现，对于MSTR中的表，在MSTR的Desktop中是不能进行编辑，对表的操作可以简历“创建表别名”，这个在以后继续探索。<br /><br /><p class="MsoNormal"><font face="宋体" color="navy" size="1"><span style="FONT-SIZE: 9pt; COLOR: navy; FONT-FAMILY: 宋体">对于问题</span></font><font face="Arial" color="navy" size="1"><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: navy; FONT-FAMILY: Arial">1</span></font><font face="宋体" color="navy" size="1"><span style="FONT-SIZE: 9pt; COLOR: navy; FONT-FAMILY: 宋体">，一种方法是将</span></font><font face="Arial" color="navy" size="1"><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: navy; FONT-FAMILY: Arial">dim_d</span></font><font face="宋体" color="navy" size="1"><span style="FONT-SIZE: 9pt; COLOR: navy; FONT-FAMILY: 宋体">再复制一份。原因是：复制后，虽然两表内容一样，但可以表示两种维度，正如你的</span></font><font face="Arial" color="navy" size="1"><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: navy; FONT-FAMILY: Arial">dim_a</span></font><font face="宋体" color="navy" size="1"><span style="FONT-SIZE: 9pt; COLOR: navy; FONT-FAMILY: 宋体">中，虽然</span></font><font face="Arial" color="navy" size="1"><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: navy; FONT-FAMILY: Arial">d_id_1</span></font><font face="宋体" color="navy" size="1"><span style="FONT-SIZE: 9pt; COLOR: navy; FONT-FAMILY: 宋体">和</span></font><font face="Arial" color="navy" size="1"><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: navy; FONT-FAMILY: Arial">d_id_2</span></font><font face="宋体" color="navy" size="1"><span style="FONT-SIZE: 9pt; COLOR: navy; FONT-FAMILY: 宋体">的元素不可能超出</span></font><font face="Arial" color="navy" size="1"><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: navy; FONT-FAMILY: Arial">dim_d,</span></font><font face="宋体" color="navy" size="1"><span style="FONT-SIZE: 9pt; COLOR: navy; FONT-FAMILY: 宋体">但它们可以理解为两个不同的维度。这样，你只要直接把基于这两个相同维表的实体拖到</span></font><font face="Arial" color="navy" size="1"><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: navy; FONT-FAMILY: Arial">dim_a</span></font><font face="宋体" color="navy" size="1"><span style="FONT-SIZE: 9pt; COLOR: navy; FONT-FAMILY: 宋体">就可以了</span></font><font face="Arial" color="navy" size="1"><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: navy; FONT-FAMILY: Arial">.<br /><br /><font color="#000000" size="4">根据上面的原因，初步得出结论，就是只能在ETL的过程进行表的复制，就是说如果碰到问题中类似的问题，既<font color="#ff0000"><strong>在表A中的一条记录存在两个字段同时对应另一张表B的同一个字段的两条记录，需要将在ETL过程中将表B进行复制，并且内容完全一样。</strong></font><br /><br /><img style="WIDTH: 615px; HEIGHT: 241px" height="291" alt="B.gif" src="http://www.cnitblog.com/images/cnitblog_com/liuhongtao/B.gif" width="695" border="0" /><br />以前的出现问题时的ETL过程图<br /><br /><img style="WIDTH: 596px; HEIGHT: 269px" height="313" alt="BB.gif" src="http://www.cnitblog.com/images/cnitblog_com/liuhongtao/BB.gif" width="797" border="0" /><br />进行了表复制后的ETL过程图<br /><br />以上实例采用Informatica进行的演示。</font></span></font></p><img src ="http://www.cnitblog.com/liuhongtao/aggbug/20124.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/liuhongtao/" target="_blank">数据仓库之路</a> 2006-12-06 09:24 <a href="http://www.cnitblog.com/liuhongtao/archive/2006/12/06/20124.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>第三部分：安装ORACLE</title><link>http://www.cnitblog.com/liuhongtao/archive/2006/12/04/20059.html</link><dc:creator>数据仓库之路</dc:creator><author>数据仓库之路</author><pubDate>Mon, 04 Dec 2006 13:51:00 GMT</pubDate><guid>http://www.cnitblog.com/liuhongtao/archive/2006/12/04/20059.html</guid><wfw:comment>http://www.cnitblog.com/liuhongtao/comments/20059.html</wfw:comment><comments>http://www.cnitblog.com/liuhongtao/archive/2006/12/04/20059.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/liuhongtao/comments/commentRss/20059.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/liuhongtao/services/trackbacks/20059.html</trackback:ping><description><![CDATA[<p>可以从 OTN 下载 Oracle 数据库 10<em>g</em>。Oracle 提供了一个免费的开发和测试许可。但不提供支持，且该许可不允许用于生产目的。OTN 提供了完整的许可协议。 
</p>
		<p>要使 Oracle 10<em>g</em> 发行套件介质可以在服务器上使用，最简单的方法是将其直接下载到服务器。 
</p>
		<p>使用图形登录以 oracle 身份登录。 
</p>
		<p>创建一个目录以存放 Oracle 10<em>g</em> 发行套件：</p>
		<pre>
				<font color="#0000ff">mkdir 10g_db</font>
		</pre>
		<p>要从 OTN 下载 Oracle 数据库 10g，请将浏览器（Mozilla 比较好用）指向 <a class="bodylink" href="http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/linuxsoft.html">http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/linuxsoft.html</a>。填写 Eligibility Export Restrictions 页面，并阅读 OTN 许可协议。如果您接受限制和许可协议，则单击 <strong>I Accept</strong>。 
</p>
		<p>单击 ship.db.cpio.gz 链接，并将该文件保存在为此目的创建的目录 (10g_db) 中 — 如果尚未登录到 OTN，则此时可能提示您登录。 
</p>
		<p>解压缩此文件：</p>
		<pre>
				<font color="#0000ff">cd 10g_db
gunzip ship.db.cpio.gz
cpio -idmv &lt; ship.db.cpio</font>
		</pre>
		<p>
				<a name="softinstall">
				</a>
				<span class="boldbodycopy">安装软件</span>
		</p>
		<p>使用 oracle 帐户登录。 
</p>
		<p>指定数据库名称 (ORACLE_SID)。该名称通常不多于五个字符。对此安装使用 <strong>demo1</strong>。 
</p>
		<p>设置环境变量： 
</p>
		<ul class="bodycopy">
				<li>Borne shell 和 Korn shell<br /><pre><font color="#0000ff">ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_SID=demo1; export ORACLE_SID</font></pre></li>
				<li>C shell<br /><pre><font color="#0000ff">setenv ORACLE_BASE /u01/app/oracle
setenv ORACLE_SID demo1</font></pre></li>
		</ul>将目录更改为 Oracle 10<em>g</em> 软件解压缩到的位置。 
<p></p><pre>例如：
$ <font color="#0000ff">cd $HOME/10g_db</font></pre><p>将目录更改为 Disk1。</p><pre>例如：
$ <font color="#0000ff">cd Disk1</font></pre><p>启动 Oracle 通用安装程序。</p><pre>$ <font color="#0000ff">./runInstaller</font></pre><p></p><ol class="bodycopy"><li>欢迎 
<ul><li>单击 <strong>Next</strong>。</li></ul></li><li>指定清单目录和证书 
<ul><li>如果您一直在依循本指南中的步骤，则使用默认值即可。否则，编辑清单目录的路径，以指向正确目录。</li></ul><ul><li>操作系统组名称应为 <strong>oinstall</strong>。</li></ul></li><li>如果这是首次在此机器上安装 Oracle，则您将收到一个弹出窗口，提示需要以 root 用户身份运行 orainstRoot.sh 脚本。以 root 用户身份登录，更改到窗口中指定的目录，执行该脚本，然后继续操作。 
</li><li>指定文件位置 
<ul><li>如果您一直在依循本指南中的步骤，则使用默认值即可。否则，在继续操作前确保源路径和目标路径正确。</li></ul></li><li>选择安装类型 
<ul><li>接受默认值 <strong>Enterprise Edition</strong>。</li></ul></li><li>与特定产品相关的先决条件的检查 
<ul><li>如果您一直在依循本指南中的步骤，则所有检查都应顺利通过。如果一个或多个检查失败，则在继续操作前纠正该问题。</li></ul></li><li>选择数据库配置 
<ul><li>接受默认值 <strong>Create a starter database</strong> 和 <strong>General Purpose</strong>。</li></ul></li><li>指定数据库配置选项 
<ul><li>输入数据库的全局数据库名称。该名称应包含 ORACLE_SID 和服务器域名（例如，demo1.orademo.org，其中 demo1 是 ORACLE_SID，orademo.org 是域名）。</li></ul><ul><li>输入全局数据库名称时，SID 框将自动填充。</li></ul><ul><li>接受默认的数据库字符集。</li></ul><ul><li>选择 <strong>Create database with sample schemas</strong>。 </li></ul></li><li>选择数据库管理选项 
<ul><li>选择 <strong>Use Database Control for Database Management</strong>。</li></ul></li><li>指定数据库文件存储选项 
<ul><li>选择 <strong>File System</strong>，然后输入数据库文件要使用的路径名（在本例中为 /u02/oradata）。</li></ul></li><li>指定备份和恢复选项 
<ul><li>选择 <strong>Do not enable Automated backups</strong>。</li></ul></li><li>指定数据库模式口令 
<ul><li>选择 <strong>Use the same password for all the accounts</strong>。</li></ul><ul><li>选择一个口令，然后输入两次进行确认。</li></ul></li><li>摘要 
<ul><li>显示已安装产品的摘要。</li></ul><ul><li>单击 <strong>Install</strong>。</li></ul></li><li>安装 
<ul><li>此屏幕历经安装和链接 Oracle 软件的几个阶段。</li></ul><ul><li>安装过程结束时弹出一个窗口显示配置信息。记下 Enterprise Manager URL，然后单击 <strong>OK</strong> 关闭该窗口。</li></ul><ul><li>弹出一个“Setup Privileges”窗口，提示需要以 root 用户身份运行配置脚本。以 root 用户身份登录，切换到该窗口中指示的目录，然后执行 root.sh 脚本。该脚本提示输入本地 bin 目录的位置。按 <strong>Enter</strong> 键接受默认值。当脚本完成时，返回到 Setup Privileges 窗口并单击 <strong>OK</strong>。（如下所示。）</li></ul><table width="40%" align="center"><tbody><tr><td align="middle"> <img height="188" alt="smiley_10gdb_f1.gif" src="http://www.cnitblog.com/images/cnitblog_com/liuhongtao/smiley_10gdb_f1.gif" width="366" border="0" /></td></tr></tbody></table></li><li>安装结束 
<ul><li>记下摘要中显示的 URL，并在准备好时单击 <strong>Exit</strong>。</li></ul></li><li>恭喜！您的新 Oracle 10<em>g</em> 数据库已经启动并可以使用。</li></ol><table width="40%" align="center"><tbody><tr><td align="middle"><img height="382" alt="smiley_10gdb_f2.gif" src="http://www.cnitblog.com/images/cnitblog_com/liuhongtao/smiley_10gdb_f2.gif" width="492" border="0" /> </td></tr></tbody></table><img src ="http://www.cnitblog.com/liuhongtao/aggbug/20059.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/liuhongtao/" target="_blank">数据仓库之路</a> 2006-12-04 21:51 <a href="http://www.cnitblog.com/liuhongtao/archive/2006/12/04/20059.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据库与数据仓库</title><link>http://www.cnitblog.com/liuhongtao/archive/2006/11/28/19687.html</link><dc:creator>数据仓库之路</dc:creator><author>数据仓库之路</author><pubDate>Tue, 28 Nov 2006 09:25:00 GMT</pubDate><guid>http://www.cnitblog.com/liuhongtao/archive/2006/11/28/19687.html</guid><wfw:comment>http://www.cnitblog.com/liuhongtao/comments/19687.html</wfw:comment><comments>http://www.cnitblog.com/liuhongtao/archive/2006/11/28/19687.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/liuhongtao/comments/commentRss/19687.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/liuhongtao/services/trackbacks/19687.html</trackback:ping><description><![CDATA[<font color="#0000ff">本文出自引用</font>       <br /><br />         简而言之，数据库是面向事务的设计，数据仓库是面向主题设计的。 
<p>　　数据库一般存储在线交易数据，数据仓库存储的一般是历史数据。</p><p>　　数据库设计是尽量避免冗余，一般采用符合范式的规则来设计，数据仓库在设计是有意引入冗余，采用反范式的方式来设计。</p><p>　　数据库是为捕获数据而设计，数据仓库是为分析数据而设计，它的两个基本的元素是维表和事实表。维是看问题的角度，比如时间，部门，维表放的就是这些东西的定义，事实表里放着要查询的数据，同时有维的ID。</p><p>　　单从概念上讲，有些晦涩。任何技术都是为应用服务的，结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台，客户在银行做的每笔交易都会写入数据库，被记录下来，这里，可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台，它从事务系统获取数据，并做汇总、加工，为决策者提供决策的依据。比如，某银行某分行一个月发生多少交易，该分行当前存款余额是多少。如果存款又多，消费交易又多，那么该地区就有必要设立ATM了。</p><p>　　显然，银行的交易量是巨大的，通常以百万甚至千万次来计算。事务系统是实时的，这就要求时效性，客户存一笔钱需要几十秒是无法忍受的，这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的，它要提供关注时间段内所有的有效数据。这些数据是海量的，汇总计算起来也要慢一些，但是，只要能够提供有效的分析数据就达到目的了。</p><p>　　数据仓库，是在数据库已经大量存在的情况下，为了进一步挖掘数据资源、为了决策需要而产生的，它决不是所谓的“大型数据库”。那么，数据仓库与传统数据库比较，有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。</p><p>　　“面向主题的”:传统数据库主要是为应用程序进行数据处理，未必按照同一主题存储数据;数据仓库侧重于数据分析工作，是按照主题存储的。这一点，类似于传统农贸市场与超市的区别—市场里面，白菜、萝卜、香菜会在一个摊位上，如果它们是一个小贩卖的;而超市里，白菜、萝卜、香菜则各自一块。也就是说，市场里的菜(数据)是按照小贩(应用程序)归堆(存储)的，超市里面则是按照菜的类型(同主题)归堆的。</p><p>　　“与时间相关”:数据库保存信息的时候，并不强调一定有时间信息。数据仓库则不同，出于决策的需要，数据仓库中的数据都要标明时间属性。决策中，时间属性很重要。同样都是累计购买过九车产品的顾客，一位是最近三个月购买九车，一位是最近一年从未买过，这对于决策者意义是不同的。</p><p>　　“不可修改”:数据仓库中的数据并不是最新的，而是来源于其它数据源。数据仓库反映的是历史信息，并不是很多数据库处理的那种日常事务数据(有的数据库例如电信计费数据库甚至处理实时信息)。因此，数据仓库中的数据是极少或根本不修改的;当然，向数据仓库添加数据是允许的。</p><p>　　数据仓库的出现，并不是要取代数据库。目前，大部分数据仓库还是用关系数据库管理系统来管理的。可以说，数据库、数据仓库相辅相成、各有千秋。</p><p>　　补充一下，数据仓库的方案建设的目的，是为前端查询和分析作为基础，由于有较大的冗余，所以需要的存储也较大。为了更好地为前端应用服务，数据仓库必须有如下几点优点，否则是失败的数据仓库方案。</p><p>　　1.效率足够高。客户要求的分析数据一般分为日、周、月、季、年等，可以看出，日为周期的数据要求的效率最高，要求24小时甚至12小时内，客户能看到昨天的数据分析。由于有的企业每日的数据量很大，设计不好的数据仓库经常会出问题，延迟1-3日才能给出数据，显然不行的。</p><p>　　2.数据质量。客户要看各种信息，肯定要准确的数据，但由于数据仓库流程至少分为3步，2次ETL，复杂的架构会更多层次，那么由于数据源有脏数据或者代码不严谨，都可以导致数据失真，客户看到错误的信息就可能导致分析出错误的决策，造成损失，而不是效益。</p><p>　　3.扩展性。之所以有的大型数据仓库系统架构设计复杂，是因为考虑到了未来3-5年的扩展性，这样的话，客户不用太快花钱去重建数据仓库系统，就能很稳定运行。主要体现在数据建模的合理性，数据仓库方案中多出一些中间层，使海量数据流有足够的缓冲，不至于数据量大很多，就运行不起来了。</p><img src ="http://www.cnitblog.com/liuhongtao/aggbug/19687.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/liuhongtao/" target="_blank">数据仓库之路</a> 2006-11-28 17:25 <a href="http://www.cnitblog.com/liuhongtao/archive/2006/11/28/19687.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>第 2 部分：配置Linux环境</title><link>http://www.cnitblog.com/liuhongtao/archive/2006/11/28/19686.html</link><dc:creator>数据仓库之路</dc:creator><author>数据仓库之路</author><pubDate>Tue, 28 Nov 2006 09:19:00 GMT</pubDate><guid>http://www.cnitblog.com/liuhongtao/archive/2006/11/28/19686.html</guid><wfw:comment>http://www.cnitblog.com/liuhongtao/comments/19686.html</wfw:comment><comments>http://www.cnitblog.com/liuhongtao/archive/2006/11/28/19686.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/liuhongtao/comments/commentRss/19686.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/liuhongtao/services/trackbacks/19686.html</trackback:ping><description><![CDATA[<p>本文引用：<a href="http://www.oracle.com/technology/global/cn/index.html">OTN的文章</a><br /><br />Linux 软件现已安装完毕，您需要针对 Oracle 对其进行配置。本部分将逐步讲解针对 Oracle 数据库 10<em>g</em> 配置 Linux 的过程。 </p>
		<p>
				<a name="sys">
				</a>
				<span class="parahead1">验证系统要求</span>
		</p>
		<p>要验证系统是否满足 Oracle 10<em>g</em> 数据库的最低要求，以 root 用户身份登录并运行以下命令。 </p>
		<p>
		</p>要查看可用 RAM 和交换空间大小，运行以下命令：<pre><font color="#0000ff">grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo</font>

例如：
# <font color="#0000ff">grep MemTotal /proc/meminfo</font>
MemTotal:512236 kB
# <font color="#0000ff">grep SwapTotal /proc/meminfo</font>
SwapTotal:1574360 kB
</pre><p>所需最小 RAM 为 512MB，而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统，交换空间应为 RAM 数量的两倍；对于 RAM 大于 2GB 的系统，交换空间应为 RAM 数量的一到两倍。 </p><p>Oracle 10<em>g</em> 软件还需要 2.5GB 的可用磁盘空间，而数据库则另需 1.2GB 的可用磁盘空间。/tmp 目录至少需要 400MB 的可用空间。要检查系统上的可用磁盘空间，运行以下命令：</p><pre><font color="#0000ff">df -h</font>

例如：
# <font color="#0000ff">df -h</font>
Filesystem        Size  Used Avail Use% Mounted on
/dev/sda3         6.8G  1.3G  5.2G  20% /
/dev/sda1         99M   17M   77M  18% /boot
</pre><p>该示例表明，/tmp 目录没有自己的文件系统。（对本指南而言，它是根文件系统的一部分。）根文件系统可用空间为 5.2 GB，除了满足安装 (2.5 + 1.2 + 0.4 = 4.1GB) 外还小有富余。 </p><p><a name="groups"></a><span class="parahead1">创建 Oracle 组和用户帐户</span></p><p>接下来，创建用于安装和维护 Oracle 10<em>g</em> 软件的 Linux 组和用户帐户。用户帐户将称为 oracle，而组将称为 oinstall 和 dba。以 root 用户身份执行以下命令：</p><pre><font color="#0000ff">/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
id oracle</font>

例如：
# <font color="#0000ff">/usr/sbin/groupadd oinstall</font>
# <font color="#0000ff">/usr/sbin/groupadd dba</font>
# <font color="#0000ff">/usr/sbin/useradd -m -g oinstall -G dba oracle</font>
# <font color="#0000ff">id oracle</font>
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)
</pre><p>设置 oracle 帐户的口令：</p><pre><font color="#0000ff">passwd oracle</font>

例如：
# <font color="#0000ff">passwd oracle</font>
Changing password for user oracle.
New password:
Retype new password:
passwd:all authentication tokens updated successfully.
</pre><p><a name="dir"></a><span class="parahead1">创建目录</span></p><p>现在，创建存储 Oracle 10g 软件和数据库文件的目录。本指南在创建目录结构时所用的命名惯例符合最佳灵活结构 (OFA) 规范。有关 OFA 标准的更多信息，请参阅<a class="bodylink" href="http://download-west.oracle.com/docs/html/B10811_01/toc.htm" target="_blank"><em>针对 UNIX 系统的 Oracle 数据库 10g 安装指南</em></a> 的<a class="bodylink" href="http://download-west.oracle.com/docs/html/B10811_01/app_ofa.htm#sthref1889" target="_blank">附录 D</a>。 </p><p>以下假设在根文件系统中创建目录。这样做是为了简便起见，不建议将其作为通用做法。这些目录通常被创建为单独的文件系统。 </p><p>以 root 用户身份执行以下命令：</p><pre><font color="#0000ff">mkdir -p /u01/app/oracle
mkdir -p /u02/oradata
chown -R oracle:oinstall /u01/app/oracle /u02/oradata
chmod -R 775 /u01/app/oracle /u02/oradata</font>

例如：
# <font color="#0000ff">mkdir -p /u01/app/oracle</font>
# <font color="#0000ff">mkdir -p /u02/oradata</font>
# <font color="#0000ff">chown -R oracle:oinstall /u01/app/oracle /u02/oradata</font>
# <font color="#0000ff">chmod -R 775 /u01/app/oracle /u02/oradata</font></pre><p><a name="kernel"></a><span class="parahead1">配置 Linux 内核参数</span></p><p>Linux 内核非常出色。与大多数其他 *NIX 系统不同，Linux 允许在系统启动和运行时修改大多数内核参数。完成内核参数更改后不必重新启动系统。Oracle 数据库 10<em>g</em> 需要以下所示的内核参数设置。其中给出的是最小值，因此如果您的系统使用的值较大，则不要更改它。</p><pre><font color="#0000ff">kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000</font></pre><p>如果您按照以上说明安装了 Linux，且内核参数全部采用默认值，则只需在以 root 用户身份登录后执行下命令。</p><pre><font color="#0000ff">cat &gt;&gt; /etc/sysctl.conf &lt;&lt;EOF
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
EOF
/sbin/sysctl -p</font>

例如：
# <font color="#0000ff">cat &gt;&gt; /etc/sysctl.conf &lt;&lt;EOF</font>
&gt; <font color="#0000ff">kernel.shmall = 2097152</font>
&gt; <font color="#0000ff">kernel.shmmax = 2147483648
</font>&gt; <font color="#0000ff">kernel.shmmni = 4096</font>
&gt; <font color="#0000ff">kernel.sem = 250 32000 100 128</font>
&gt; <font color="#0000ff">fs.file-max = 65536</font>
&gt; <font color="#0000ff">net.ipv4.ip_local_port_range = 1024 65000</font>
&gt; <font color="#0000ff">EOF</font>
# <font color="#0000ff">/sbin/sysctl -p</font>
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
kernel.sysrq = 0
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
</pre><p>以 root 用户身份运行以下命令来验证您的设置： </p><pre><font color="#0000ff">/sbin/sysctl -a | grep shm
/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep ip_local_port_range</font>

例如：
# <font color="#0000ff">/sbin/sysctl -a | grep shm</font>
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shm-use-bigpages = 0
# <font color="#0000ff">/sbin/sysctl -a | grep sem</font>
kernel.sem = 250        32000   100     128
# <font color="#0000ff">/sbin/sysctl -a | grep file-max</font>
fs.file-max = 65536
# <font color="#0000ff">/sbin/sysctl -a | grep ip_local_port_range</font>
net.ipv4.ip_local_port_range = 1024     65000
</pre><p>如果系统的参数设置的比上述参数值小，则编辑 /etc/sysctl.conf 文件，添加或更改这些参数。完成后，运行以下命令激活更改：</p><pre><font color="#0000ff">/sbin/sysctl -p</font></pre><p><b>对于 RHEL 2.1 和 RHEL 3</b>，使用以下命令：</p><pre><font color="#0000ff">cat &gt;&gt; /etc/profile &lt;&lt;EOF
if [ \$USER = "oracle" ]; then  
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF

cat &gt;&gt; /etc/csh.login &lt;&lt;EOF
if ( \$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF</font></pre><p><span class="parahead1"><a name="enviro"></a>oracle 用户的环境变量</span></p><p>要使用 Oracle 产品，应该或必须设置几个环境变量。对于数据库服务器，建议设置以下环境变量： </p><p>ORACLE_BASE<br />ORACLE_HOME<br />ORACLE_SID<br />PATH </p><p>如果您在同一服务器上安装了多个 Oracle 产品或数据库，则 ORACLE_HOME、ORACLE_SID 和 PATH 变量可能会更改。ORACLE_BASE 变量不应更改，并可以在需要时在您的登录配置文件中设置它。Oracle 提供了一个称作 oraenv 的实用程序来设置其他变量。 </p><p>以 oracle 身份登录，并通过在 .bash_profile 或 .profile（bash 或 ksh）中添加以下行，将 ORACLE_BASE 添加到登录配置文件：</p><pre><font color="#0000ff">ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE</font></pre><p>或在 .login (csh) 中添加以下行：</p><pre><font color="#0000ff">setenv ORACLE_BASE /u01/app/oracle</font></pre><p>此更改将在您下次登录到 oracle 帐户时生效。要使更改对当前会话为活动状态，只需从命令行运行此命令。 </p><img src ="http://www.cnitblog.com/liuhongtao/aggbug/19686.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/liuhongtao/" target="_blank">数据仓库之路</a> 2006-11-28 17:19 <a href="http://www.cnitblog.com/liuhongtao/archive/2006/11/28/19686.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>第 1 部分：安装 Linux </title><link>http://www.cnitblog.com/liuhongtao/archive/2006/11/27/19618.html</link><dc:creator>数据仓库之路</dc:creator><author>数据仓库之路</author><pubDate>Mon, 27 Nov 2006 02:16:00 GMT</pubDate><guid>http://www.cnitblog.com/liuhongtao/archive/2006/11/27/19618.html</guid><wfw:comment>http://www.cnitblog.com/liuhongtao/comments/19618.html</wfw:comment><comments>http://www.cnitblog.com/liuhongtao/archive/2006/11/27/19618.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/liuhongtao/comments/commentRss/19618.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/liuhongtao/services/trackbacks/19618.html</trackback:ping><description><![CDATA[<p>本文引用：<a href="http://www.oracle.com/technology/global/cn/index.html">OTN的文章</a><br /><br />本指南采用具有以下硬件配置的服务器： </p>
		<ul>
				<li>两个 800MHz Pentium III CPU 
</li>
				<li>512MB RAM 
</li>
				<li>两个 SCSI 主机适配器 (Ultra SCSI 160) 
</li>
				<li>八个 SCSI 磁盘驱动器 (2 x 9GB + 6 x 36GB) 
</li>
				<li>一个 100Base-T 以太网适配器 
</li>
				<li>一个 1000Base-T 以太网适配器 </li>
		</ul>
		<p>
				<span class="bodycopy">
				</span>对磁盘进行配置，使每个 SCSI 主机适配器连接到一个 9GB 磁盘和三个 36GB 磁盘。 </p>
		<p>
				<span class="bodycopy">请注意，尽管这根本算不上是一个“强大”的设置，但即便是使用再低的设置也可以完成本指南介绍的大部分任务。基本数据库安装只需要一个 CPU、512MB 内存和一个可用空间至少为 6.5GB 的磁盘驱动器（IDE、SCSI 或 FireWire）。 </span>
		</p>
		<p>
				<span class="bodycopy">现在，我们将逐步演示在服务器上安装 Linux 操作系统的过程。本文假设进行 Linux 系统全新安装（有别于升级），并假设服务器为 Oracle 所专用，且服务器上没有其他操作系统或数据。</span>
				<br />
				<br />
		</p>
		<p>
				<a name="rhel3">
				</a>
				<span class="parahead1">Red Hat Enterprise Linux 3</span>
		</p>
		<p>Oracle 10<em>g</em> 经认证可以在不需要更新的情况下运行 Red Hat Enterprise Linux 3（Advanced Server 和 Enterprise Server）的基本版本。如果拥有更新 CD，则可以使用更新版本中的启动 CD 而非基本版本中的启动 CD 在安装过程中自动应用所有更新。Oracle 支持 Red Hat 的所有更新。 </p>
		<ol class="bodycopy">
				<li>使用第一张 CD 启动服务器。 
<ul><li>您可能需要更改 BIOS 设置，以允许从 CD 启动。</li></ul></li>
				<li>启动屏幕上出现时在底部显示 <tt>boot:</tt>。 
<ul><li>选择 <strong>Enter</strong>，从控制台上执行图形安装。（对于其他安装方法和选项，请参阅 <a class="bodylink" href="https://www.redhat.com/docs/manuals/enterprise/RHEL-3-Manual/x8664-multi-install-guide/"><em>Red Hat 安装指南</em></a>。）</li></ul><ul><li>安装程序扫描硬件，短暂显示 Red Hat 闪屏，然后开始显示一系列屏幕提示。</li></ul></li>
				<li>选择语言 
<ul><li>接受默认值。</li></ul></li>
				<li>配置键盘 
<ul><li>接受默认值。</li></ul></li>
				<li>欢迎屏幕 
<ul><li>单击 <strong>Next</strong>。</li></ul></li>
				<li>配置鼠标 
<ul><li>接受默认值。</li></ul></li>
				<li>安装类型 
<ul><li>选择 <strong>Custom</strong>。</li></ul></li>
				<li>设置磁盘分区 
<ul><li>本文不介绍磁盘分区的详细方法，而是假设您熟悉磁盘分区方法。 
<p>（警告：对磁盘进行错误分区是<strong>删除硬盘上所有内容</strong>的最可靠、最快捷的方法之一。如果不确定如何分区，请先停下来，找人帮帮您，否则您将冒丢失数据的危险！） </p><p>本文使用以下分区方案（文件系统均为 ext3）：<br /><br />第一个控制器 (/dev/sda) 上的 9GB 磁盘包含以下分区，用于存放所有 Linux 和 Oracle 软件：<br />- 100MB /boot 分区<br />-1,500MB 交换分区 — 将此分区大小至少设置为系统 RAM 的两倍，但不要超过 2GB（32 位系统不支持大于 2GB 的交换文件）。如果需要大于 2GB 的交换空间，则创建多个交换分区。<br />-7,150MB 根分区 — 该分区将用于所有目录，包括 /usr、/tmp、/var、/opt、/home 等。这样做纯粹是为了讲解本指南而简化安装。更可靠的分区方案是将这些目录划分到单独的文件系统。 </p></li></ul></li>
				<li>配置启动加载程序 
<ul><li>接受默认值。</li></ul></li>
				<li>配置网络 
<ul><li>通常情况下，最好使用静态 IP 地址配置数据库服务器。为此，单击 <strong>Edit</strong>。</li></ul><ul><li>出现一个弹出窗口。取消选中 <strong>Configure using DHCP</strong> 复选框，并输入服务器的 IP 地址和网络掩码。确保选中 <strong>Activate on boot</strong>，然后单击 <strong>OK</strong>。 </li></ul><ul><li>在 Hostname 框中，选择 <strong>manually</strong> 并输入主机名。 </li></ul><ul><li>在 Miscellaneous Settings 框中，输入其他网络设置。</li></ul></li>
				<li>配置防火墙 
<ul><li>出于本演示的需要，将不配置防火墙。选择 <strong>No firewall</strong>。 </li></ul></li>
				<li>其他语言支持 
<ul><li>接受默认值。</li></ul></li>
				<li>选择时区 
<ul><li>选择适合您区域的时间设置。将系统时钟设置为 UTC 对服务器而言通常是一个很好的做法。为此，单击 <strong>System clock uses UTC</strong>。 </li></ul></li>
				<li>设置 Root 口令 
<ul><li>输入 root 的口令，并再次输入以进行确认。</li></ul></li>
				<li>选择程序包组 
<ul><li>只选择此处显示的程序包集，其他选项不要选。</li></ul><ul><li>桌面<br />- X Window 系统<br />- Gnome<br />- KDE<br />- 请参阅我在 RHES 2.1 部分中提供的有关 GUI 选择的意见。</li></ul><ul><li>应用程序<br />- 编辑器<br />- 图形因特网</li></ul><ul><li>服务器<br />- 不要选择该组中的任何选项。</li></ul><ul><li>开发<br />- 开发工具</li></ul><ul><li>系统<br />- 管理工具</li></ul><ul><li>Red Hat Enterprise Linux<br />- 不要选择该组中的任何选项。</li></ul><ul><li>杂项<br />- 原有软件开发 
</li><li>单击 <strong>Next</strong> 继续操作。</li></ul></li>
				<li>准备安装 
<ul><li>单击 <strong>Next</strong>。</li></ul></li>
				<li>安装程序包 
<ul><li>软件将被复制到硬盘并被安装。根据提示更改磁盘，然后在安装完成时单击 <strong>Next</strong>。</li></ul></li>
				<li>配置图形界面 (X) 
<ul><li>接受默认值，除非安装程序无法识别您的视频卡。如果您的视频卡无法被识别，则将无法继续操作。</li></ul></li>
				<li>配置监视器 
<ul><li>如果安装程序正确识别了您的监视器，则接受默认值。否则，从列表中选择一个兼容的监视器。</li></ul></li>
				<li>定制图形配置 
<ul><li>接受默认值。</li></ul></li>
				<li>恭喜 
<ul><li>从系统中取出安装介质，然后单击 <strong>Next</strong>。</li></ul></li>
				<li>系统自动重新启动并显示一个新的欢迎屏幕。 
<ul><li>单击 <strong>Next</strong>。</li></ul></li>
				<li>许可协议 
<ul><li>阅读许可协议。如果同意其中的条款，则选择 <strong>Yes, I agree to the License Agreement</strong> 并单击 <strong>Next</strong>。 </li></ul></li>
				<li>日期和时间 
<ul><li>设置日期和时间。</li></ul><ul><li>如果要使用 NTP 服务器（推荐），则选择 <strong>Enable Network Time Protocol</strong> 并输入 NTP 服务器的名称。 </li></ul></li>
				<li>用户帐户 
<ul><li>为自己创建一个帐户。</li></ul><ul><li>此时不要为 oracle 创建帐户。本部分稍后将介绍如何创建 oracle 帐户。</li></ul></li>
				<li>Red Hat Network 
<ul><li>如果要立即使用或激活 Red Hat Network 帐户，则接受默认值，单击 <strong>Next</strong> 并遵循 Red Hat 产品附带的产品激活说明。</li></ul></li>
				<li>其他 CD 
<ul><li>单击 <strong>Next</strong>。</li></ul></li>
				<li>完成设置 
<ul><li>单击 <strong>Next</strong>。</li></ul></li>
				<li>出现一个图形登录屏幕。 
</li>
				<li>恭喜！您的 Linux 软件现已安装完毕。 </li>
		</ol>
		<p>
				<span class="boldbodycopy">验证您的安装</span>
		</p>
		<p>如果完成了以上步骤，您应该具备 Oracle 10<em>g</em> 所需的所有程序包和更新。您可以执行以下步骤验证您的安装。 </p>
		<p>所需内核版本：2.4.21-4.EL（这是 RHEL 3 的基本版本附带的内核版本。此内核或更新中提供的任何版本的内核均适用于 Oracle 10<em>g</em>。） </p>
		<p>通过运行以下命令检查内核版本： </p>
		<pre>
				<font color="#0000ff">uname -r</font>

例如：
# <font color="#0000ff">uname -r</font>
2.4.21-4.0.1.ELsmp
</pre>
		<p>其他所需程序包的版本（或更高版本）： </p>
		<ul class="bodycopy">
				<li>gcc-3.2.3-2 
</li>
				<li>make-3.79 
</li>
				<li>binutils-2.11 
</li>
				<li>openmotif-2.2.2-16 
</li>
				<li>setarch-1.3-1 
</li>
				<li>compat-gcc-7.3-2.96.122 
</li>
				<li>compat-gcc-c++-7.3-2.96.122 
</li>
				<li>compat-libstdc++-7.3-2.96.122 
</li>
				<li>compat-libstdc++-devel-7.3-2.96.122 
</li>
				<li>compat-db-4.0.14.5（<a class="bodylink" href="http://download-west.oracle.com/docs/html/B10811_01/toc.htm" target="_blank"><em>Oracle 10g 数据库安装指南</em></a> 中将其列为是必需的，但此处并不需要） </li>
		</ul>
		<p>要查看系统上安装了这些程序包的哪些版本，以 root 用户身份运行以下命令：<br /></p>
		<pre>
				<font color="#0000ff">rpm -q gcc make binutils openmotif setarch compat-db compat-gcc \
compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel</font>

例如：
# <font color="#0000ff">rpm -q gcc make binutils openmotif setarch compat-db compat-gcc \</font>
&gt; <font color="#0000ff">openmotif compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel</font>
gcc-3.2.3-20
make-3.79.1-17
binutils-2.14.90.0.4-26
openmotif-2.2.2-16
setarch-1.3-1
package compat-db is not installed
compat-gcc-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
</pre>
		<p>请注意，尚未安装 compat-db 程序包。安装过程中可用的任何程序包组均不包含此程序包，因此必须在单独的步骤中安装。如果系统上缺少任何其他程序包版本，或版本比以上指定的版本旧（compat-db 除外），则可以从 Red Hat Network 下载并安装更新。 </p>
		<p>
				<span class="boldbodycopy">安装 compat-db</span>
		</p>
		<p>插入原始 Red Hat Enterprise Linux 介质的第二张 CD。（Update 2 中未包含该程序包，它仅存在于原始介质中。） </p>
		<p>此 CD 自动挂载。 </p>
		<p>以 root 用户身份运行以下命令：</p>
		<pre>
				<font color="#0000ff">rpm -ivh /mnt/cdrom/RedHat/RPMS/compat-db-4.0.14-5.i386.rpm</font>

例如：
# <font color="#0000ff">rpm -ivh /mnt/cdrom/RedHat/RPMS/compat-db-4.0.14-5.i386.rpm</font>
Preparing...         ########################################### [100%]
1:compat-db       ########################################### [100%]
</pre><img src ="http://www.cnitblog.com/liuhongtao/aggbug/19618.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/liuhongtao/" target="_blank">数据仓库之路</a> 2006-11-27 10:16 <a href="http://www.cnitblog.com/liuhongtao/archive/2006/11/27/19618.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>BLOG新开张</title><link>http://www.cnitblog.com/liuhongtao/archive/2006/11/27/19615.html</link><dc:creator>数据仓库之路</dc:creator><author>数据仓库之路</author><pubDate>Mon, 27 Nov 2006 02:13:00 GMT</pubDate><guid>http://www.cnitblog.com/liuhongtao/archive/2006/11/27/19615.html</guid><description><![CDATA[<div class="postcontent">今天终于开始经营自己的正式的BLOG了，想把自己这一段时间来学习的数据仓库方面的只是一同与大家探讨探讨。<br /><br />本BLOG中的内容主要包括三部分：第一个人发表的内容，已原创为主；第二引用别人的文章；第三介绍一些好的书记和资料。<br /><br />本BLOG中引用的文章将全部标明出处，并且说明原作者。如果牵扯到版权问题，请尽快和我联系，我将及时调整。 </div><img src ="http://www.cnitblog.com/liuhongtao/aggbug/19615.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/liuhongtao/" target="_blank">数据仓库之路</a> 2006-11-27 10:13 <a href="http://www.cnitblog.com/liuhongtao/archive/2006/11/27/19615.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>