<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>國際認證-考試信息&#187; Oracle數據庫</title>
	<atom:link href="http://blog.itcert.org/archives/tag/oracle%e6%95%b8%e6%93%9a%e5%ba%ab/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.itcert.org</link>
	<description>幫助您輕鬆通過MCSE,  MCITP, CCNA, CCNP,  A+, N+, Security+,OCA,OCP,SCJP,VCP-410等IT認證考試</description>
	<lastBuildDate>Wed, 08 Sep 2010 03:20:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>調查:Oracle 11g版本選用情況仍不樂觀</title>
		<link>http://blog.itcert.org/archives/1680</link>
		<comments>http://blog.itcert.org/archives/1680#comments</comments>
		<pubDate>Thu, 10 Dec 2009 02:05:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[11g]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[DB2]]></category>
		<category><![CDATA[Oracle 11g]]></category>
		<category><![CDATA[Oracle數據庫]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://blog.itcert.org/?p=1680</guid>
		<description><![CDATA[在本年度數據庫技術應用技術問卷調查中，我們持續對Oracle數據庫用戶的版本情況做了調查，以便更好地分析Oracle數據庫用戶版本保有及升級更新狀況。
          如何我們回顧06年的數據，進而再對比上面08年和07年的調查數據，可以發現，在06到07年裡，Oracle數據庫的市場使用進一步增加，在2006年的受訪用戶中，有15 %沒有使用Oracle數據庫，2007年這一數字降低到11%。
        分析2008年的調查數據，只有4.7%的客戶升級到了Oracle 11g版本，而在2007年，這些“敢於吃螃蟹”的人僅僅有0.2%。考慮到11g版本的推出時間和推廣力度，2008年的Oracle 11g版本佔有量比例的確不算高。
        記者就此採訪ITPUB社區的一位數據庫專家，他認為：“08年升級到11g用戶應該主要是8i，9i產品的用戶，他們已經有升級計劃，趕上最新的版本11g推出，所以就直接跳過了10g數據庫，直接到11g上去了;這一比例中，應該不會有或者說很少有10g的用戶轉化過來的。”
       筆者註意到，甲骨文對Oracle 11g的推廣也開始採用新的思路和方法，在2008年到2009年，Oracle在大力推廣數據庫選件(database options),這些多樣化的功能特性，是針對不同用戶對數據庫的特殊需求所提供的，大部分都集成在高版本的數據庫產品中。這種推廣和銷售模式，有將產品和功能分拆開來賣的意味。
  　再來看Oracle 10g的情況。 Oracle 10g的佔有量已經高達44.2%，相比2007年增長了近5個百分點，已經成為最主要的使用數據庫版本。 2007年，在數據庫版本上，Oracle 10g獲得了市場和用戶的廣泛認同，使用的比例占到39.8%，而2006年的數字僅為27.9%，有幾乎12個百分點的比較大的增長;在2007年，Oracle 10g的用戶使用也首次超過了Oracle 9i，在2006年使用Oracle 9i的用戶比例高達47%，這個數字在2007年下降了9個百分點。這一變化可能受到Oracle 9i的退出計劃影響，但是毋庸置疑的是，Oracle 10g已經得到了大規模普及和採用。
        在2008年的調查結果中，另外一個比較有趣是數據是“沒有使用Oracle數據庫”的用戶比例，2008年沒有使用Oracle數據庫的用戶達到13.6%，而在07年這一比例只有11%;無獨有偶，本次調查涉及SQL Server，DB2，Oracle數據庫的這一數據時，未使用的比例都略有上升。 Itpub社區的一位數據庫分析師認為，這是開源數據庫使用量增長的結果，導致商業數據庫用戶都在不同程度的流失，特別是在當前經濟形式日趨嚴峻的形勢下，開源數據庫的吸引力會進一步加強。
看來，商業數據庫廠商需要推出更加靈活的授權許可和服務模式，進一步降低企業的IT投資成本，才能保住用戶，以免流失。


No related posts.


No related posts.]]></description>
		<wfw:commentRss>http://blog.itcert.org/archives/1680/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>基於Oracle 高級複製功能的數據庫同步研究與應用</title>
		<link>http://blog.itcert.org/archives/1673</link>
		<comments>http://blog.itcert.org/archives/1673#comments</comments>
		<pubDate>Thu, 10 Dec 2009 01:33:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle數據庫]]></category>
		<category><![CDATA[數據庫]]></category>
		<category><![CDATA[數據庫同步]]></category>
		<category><![CDATA[高級複製]]></category>

		<guid isPermaLink="false">http://blog.itcert.org/?p=1673</guid>
		<description><![CDATA[摘要：隨著數據庫的廣泛使用和網絡的迅速發展，數據庫同步技術的研究一直是一個熱點。本文介紹了Oracle 的高級複製功能的相關概念及提供的功能。接著分析比較了幾種網絡間數據庫同步方法，並總結了基於Oracle 高級複製功能的同步的優勢。最後通過一個具體的數據庫同步需求，介紹一種基於Oracle高級複製功能的數據庫同步方案的具體實現。

1．引言
數據庫系統是現代企業運作和管理自動化系統的重要組成部分。在Internet 飛速發展的今天，數據庫一方面向集中化，大型化方向發展，但應用卻在向著分散化，小型化的方向延伸。對於越來越多的企業分支機構和辦公人員，他們需要隨時查詢和更新數據庫，而他們所需要操作的一般並不是數據庫的全部，而往往只是與之緊密相關的少量數據，但少量的數據必須與企業中心數據庫同步更新。如何根據實際情況有效地解決數據庫系統的數據同步問題已成為企業或系統的整個數據庫系統應用的核心環節。
點擊下載：Oracle高級複製功能的數據庫同步研究與應用


No related posts.


No related posts.]]></description>
		<wfw:commentRss>http://blog.itcert.org/archives/1673/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>利用Oracle 10g 的MODEL SQL 進行行間計算</title>
		<link>http://blog.itcert.org/archives/1646</link>
		<comments>http://blog.itcert.org/archives/1646#comments</comments>
		<pubDate>Wed, 25 Nov 2009 09:36:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[10G]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[MODEL SQL]]></category>
		<category><![CDATA[Oracle 10G]]></category>
		<category><![CDATA[Oracle數據庫]]></category>

		<guid isPermaLink="false">http://blog.itcert.org/?p=1646</guid>
		<description><![CDATA[以產品產量表為例，一個工廠(用code 表示)生產多種產品(用p_id 表示)，每種產品具有生產量(v1)和銷售量(v2)產品代碼具有審核關係，如&#8217;10&#8242;=&#8217;30&#8242;+&#8217;31&#8242;，其中&#8217;10&#8242;代表大類，&#8217;30&#8242;和&#8217;31&#8242;代表&#8217;10&#8242;大類下的小類。
SQL&#62;createtablet603(codevarchar(10),p_idvarchar(7),v1number(10),v2number(1
0));
Tablecreated.
SQL&#62;insertintot603values(&#8217;600001&#8242;,&#8217;30&#8242;,1,1);
SQL&#62;insertintot603values(&#8217;600001&#8242;,&#8217;31&#8242;,1,1);
SQL&#62;insertintot603values(&#8217;600001&#8242;,&#8217;10&#8242;,2,2);
SQL&#62;insertintot603values(&#8217;600002&#8242;,&#8217;10&#8242;,3,2);
SQL&#62;insertintot603values(&#8217;600002&#8242;,&#8217;31&#8242;,2,1);
SQL&#62;insertintot603values(&#8217;600002&#8242;,&#8217;30&#8242;,2,1);
SQL&#62;commit;
Commitcomplete.
SQL&#62;select*fromt603;
CODEP_IDV1V2
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
6000013011
6000013111
6000011022
6000021032
6000023121
6000023021
6rowsselected.
SELECTcode,
p_id,v1
FROMt603
WHEREcodeIN(&#8217;600001&#8242;,&#8217;600002&#8242;)
MODELRETURNUPDATEDROWS
PARTITIONBY(code)
DIMENSIONBY(p_id)
MEASURES(v1)
RULES(
v1['err1']=v1['30']+v1['31']-v1['10'])
ORDERBYcode,p_id;
其中rule 表示計算規則，&#8217;err1&#8242;表示這條審核關係的代號，它的值等於P_ID 為&#8217;30&#8242;的v1 值+P_ID 為&#8217;31&#8242;的v1 值-P_ID 為&#8217;10&#8242;的v1 值PARTITION BY (code)表示按工廠分區，即審核在一個工廠內的產品MODEL 關鍵字後面的RETURN UPDATED ROWS 子句將結果限制為在該查詢中創建或更新的那些行。使用該子句是使結果集只包含新計算的值，在本例中就是審核結果
CODEP_IDV1
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;
600001err10
600002err11
如果返回值=0，表示v1['30'] + v1['31'] =v1['10']審核通過，否則，審核不通過

SELECTcode,
p_id,v1,v2
FROMt603
WHEREcodeIN(&#8217;600001&#8242;,&#8217;600002&#8242;)
MODELRETURNUPDATEDROWS
PARTITIONBY(code)
DIMENSIONBY(p_id)
MEASURES(v1,v2)
RULES(
v1['err1']=v1['30']+v1['31']-v1['10'],
v2['err1']=v2['30']+v2['31']-v2['10'])
ORDERBYcode,p_id;
CODEP_IDV1V2
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
600001err100
600002err110
如果表格中包含多個維度的數據，比如時間，多個維度都可以編寫規則,比如2008 年的
審核關係
SELECTyear,code,
p_id,v1
FROMt603_1
WHEREcodeIN(&#8217;600001&#8242;,&#8217;600002&#8242;)
MODELRETURNUPDATEDROWS
PARTITIONBY(code)
DIMENSIONBY(p_id,year)
MEASURES(v1)
RULES(
v1['err1',2008]=v1['30',2008]+v1['31',2008]-v1['10',2008])
ORDERBYcode,p_id;
YEARCODEP_IDV1
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
2008600001err10
2008600002err11
如果維度不影響規則，也可以只分區，而沿用原來的規則
規則也可以是多個維度不同取值，本例假定不同年份之間比較，比如要求2008 年的&#8217;1
0&#8242;=2007 年的&#8217;30&#8242;+&#8217;31&#8242;
SELECTyear,code,
p_id,v1
FROMt603_2
WHEREcodeIN(&#8217;600001&#8242;,&#8217;600002&#8242;)
MODELRETURNUPDATEDROWS
PARTITIONBY(code)
DIMENSIONBY(p_id,year)
MEASURES(v1)
RULES(
v1['err1',2008]=v1['30',2007]+v1['31',2007]-v1['10',2008])
ORDERBYcode,p_id;
YEARCODEP_IDV1
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
2008600001err10
2008600002err11
如果年份很多，每個年份都是和上年比較，這種描述可以用CV()函數簡化
SQL&#62;insertintot603_2select&#8217;2006&#8242;year,code,p_id,v1,v2fromt603_1;
SELECTyear,code,
p_id,v1
FROMt603_2
WHEREcodeIN(&#8217;600001&#8242;,&#8217;600002&#8242;)
MODELRETURNUPDATEDROWS
PARTITIONBY(code)
DIMENSIONBY(p_id,year)
MEASURES(v1)
RULES(
v1['err1',foryearin(2007,2008)]=v1['30',CV(year)-1]+v1['31',CV(year)-1]-v1['10',CV( y
ear)])
ORDERBYcode,p_id;
YEARCODEP_IDV1
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
2007600001err10
2008600001err10
2007600002err11
2008600002err11
如果year 是數值類型，還可以用for year from 2007 to 2009 increment 1 的語法，
如果是其他類型，還可以用在in 子句帶子查詢的辦法，
比如for year in (select year from t603_2)。
但需要注意不能採用year in 的語法，year in 的語法只能符號引用已經存在的單元格，
而v1['err1',x]是新單元格。
單個年份的寫法如下:
SELECTyear,code,
p_id,v1
FROMt603_2
WHEREcodeIN(&#8217;600001&#8242;,&#8217;600002&#8242;)
MODELRETURNUPDATEDROWS
PARTITIONBY(code)
DIMENSIONBY(p_id,year)
MEASURES(v1)
RULES(
v1['err1',2008]=v1['30',CV()]+v1['31',CV()]-v1['10',CV()])
ORDERBYcode,p_id;
YEARCODEP_IDV1
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
2008600001err10
2008600002err11
而
SELECTyear,code,
p_id,v1
FROMt603_2
WHEREcodeIN(&#8217;600001&#8242;,&#8217;600002&#8242;)
MODELRETURNUPDATEDROWS
PARTITIONBY(code)
DIMENSIONBY(p_id,year)
MEASURES(v1)
RULES(
v1['err1',yearin('2008')]=v1['30',CV()]+v1['31',CV()]-v1['10',CV()])
則返回0 行


No related posts.


No related posts.]]></description>
		<wfw:commentRss>http://blog.itcert.org/archives/1646/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
