

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、王敏橋 PTS Oracle Chinaminqiao.wangoracle基于Informix 運(yùn)用系統(tǒng)的移植主題基于Informix運(yùn)用系統(tǒng)分析Oracle 與 Informix的異同移植工具M(jìn)igration Workbench運(yùn)用移植專題: ESQL/C的移植詳細(xì)問(wèn)題解答例子:Informix 銀行運(yùn)用系統(tǒng)分析分支ScoUnix+informix(NO Windows NT)PB+SP/4GL/ESQL運(yùn)用。Customized 通訊平臺(tái)二級(jí).一級(jí).WebServer信息發(fā)布Netscape Server/IIS+Web DatabladeAIX/HPUX.+informixPB+SP
2、/4GL/ESQL運(yùn)用。Customized通訊平臺(tái)Informix 的缺陷逐漸降低的市場(chǎng)份額分布式事物處置不完善缺乏Internet/Intranet的處理方案2001年4月被IBM收買用戶面臨新的選擇?移植到Oracle的理由更大的市場(chǎng)成熟的技術(shù)更好的性能全面處理方案Internet計(jì)算環(huán)境下的新的計(jì)算構(gòu)造強(qiáng)有力的支持移植方法論采用傳統(tǒng)的自頂向下法,而不是需求反復(fù)的快速原型法需求的采集、分析和設(shè)計(jì)通常需求2到10周時(shí)間移植最簡(jiǎn)單的部分是安裝腳本、方案和數(shù)據(jù)方案、構(gòu)造和運(yùn)用的修正不要包含在移植工程中不要同時(shí)做其它的移植任務(wù)操作系統(tǒng),言語(yǔ)移植方法論移植方法論的生命周期移植調(diào)查表 在客戶現(xiàn)場(chǎng)完成
3、調(diào)查表。小的工程也可以遠(yuǎn)程完成。工程評(píng)價(jià)/方案 -工程評(píng)價(jià)/方案可以在現(xiàn)場(chǎng)或遠(yuǎn)程完成。方案、運(yùn)用和數(shù)據(jù)移植的設(shè)計(jì) 完成分析和設(shè)計(jì)階段。實(shí)施 開(kāi)場(chǎng)移植任務(wù)。單元測(cè)試 通常包含在實(shí)施過(guò)程中。系統(tǒng)測(cè)試客戶驗(yàn)收測(cè)試性能測(cè)試正式發(fā)布Sechema Object 比較DatabaseTablespaseUserTableGlobal Temp TablePL/SQL ProcedurePL/SQL FunctionPackageOracleInformixDatabaseDatabaseUserTableTemporary TableStore ProcedureStore Procedure-Seche
4、ma Object 比較After TriggersBefore TriggersSynonymsSequencesViewMaterialized ViewOracleInformixTriggersTriggersSynonymsSerial DatatypeView-不同數(shù)據(jù)類型的比較SerialCharDatatime/DateByte/Text不同數(shù)據(jù)類型的比較Informix中serial類型支持最大到214748367的整數(shù),并且一直加1。create table tbl1(serial_column serial, ename char(15)insert into tbl1(
5、serial_column,ename) value (0, scott)SerialOracle中可用一個(gè)number(10)類型和一個(gè)Sequence來(lái)模擬create table tbl1 ( serial_column number(10), ename char(15)create sequence tbl1_serialinsert into tbl1( serial_colume,ename) values(tbl1_serial.nextval, scott)不同數(shù)據(jù)類型的比較Informix 支持最大到32767個(gè)字符CharOracle char 最大到 2000varch
6、ar2 最大到 4000 long 2GCLOB 4G不同數(shù)據(jù)類型的比較Informix1/100000秒Datetime/DateOracle 年月日時(shí)分秒Date + IntegerOracle 9i后支持timestamp類型不同數(shù)據(jù)類型的比較InformixByteTextByte/TextOracle Long Row BLOBLong CLOBOracle: 銜接到 其它數(shù)據(jù)庫(kù): 銜接到 ALTER SESSION SET CURRENT_SCHEMA = CREATE USER DEFAULT TABLESPACE Oracle與其它數(shù)據(jù)庫(kù)銜接方式不同Oracle采用多版本并存控
7、制來(lái)支持讀一致性,不需求讀記錄鎖。讀操作和寫(xiě)操作不會(huì)相互妨礙。真正的行級(jí)鎖較少的INSERT, UPDATE寫(xiě)沖突鎖不會(huì)晉級(jí)Oracle與其它數(shù)據(jù)庫(kù)事務(wù)處置方式不同Oracle與其它數(shù)據(jù)庫(kù)事務(wù)處置方式不同其它數(shù)據(jù)庫(kù) 允許運(yùn)用程序開(kāi)發(fā)員選擇不同的隔離級(jí)別“Read Committed 和 “Serializable 采用讀記錄鎖來(lái)提供讀一致性。但這會(huì)導(dǎo)致妨礙寫(xiě)操作?!癛ead uncommitted 允許臟讀來(lái)減少這種問(wèn)題。當(dāng)記錄數(shù)添加時(shí)鎖會(huì)晉級(jí)鎖是在內(nèi)存中管理的一些數(shù)據(jù)庫(kù)至今仍用頁(yè)級(jí)鎖Oracle與其它數(shù)據(jù)庫(kù)事務(wù)處置方式不同informix (缺省為自動(dòng)提交)必需指定 “Begin Trans
8、actionOracle (缺省為隱含的事務(wù))每個(gè)DML都有隱含的 “Begin Transaction必需輸入 “commit 或 “rollbackOracle與其它數(shù)據(jù)庫(kù)暫時(shí)表不同Oracle大部分情況下不需求暫時(shí)表Oracle優(yōu)化器可以處置非常復(fù)雜的查詢,因此可以重寫(xiě)SQL語(yǔ)句來(lái)防止運(yùn)用暫時(shí)表Oracle9i以上版本支持 ANSI Global Temporary Tables 其它數(shù)據(jù)庫(kù)運(yùn)用暫時(shí)表:簡(jiǎn)化查詢結(jié)果累積其它緣由沒(méi)有游標(biāo)4 個(gè)表 join 的限制Oracle與其它數(shù)據(jù)庫(kù)運(yùn)用編程不同SQL語(yǔ)法不同Oracle9i 后支持 ANSI SQL (outer joins, case
9、,)其它不同處系統(tǒng)表、系統(tǒng)存儲(chǔ)過(guò)程 (sp_), variable 全局變量的運(yùn)用Workbench可以處理一些效力器端的不同客戶端假設(shè)有問(wèn)題的話需求重寫(xiě)代碼Oracle與其它數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程不同不同的數(shù)據(jù)庫(kù)運(yùn)用不同的言語(yǔ)一些數(shù)據(jù)庫(kù)大量運(yùn)用存儲(chǔ)過(guò)程可以預(yù)編譯來(lái)提高性能Oracle采用PL/SQL 和 Java, 可以執(zhí)行外部C程序,也可從PL/SQL中調(diào)用 Web Services Informix SPL轉(zhuǎn)為 Oracle PL/SQLOracle與其它數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程不同 錯(cuò)誤處置Oracle 遵照 PL/1 和 Java 規(guī)范informix出錯(cuò)后可以繼續(xù)執(zhí)行 錯(cuò)誤能夠被忽略O(shè)racle錯(cuò)誤
10、可以 “thrown ,他可以抓住 “catch 它們 (EXCEPTION WHEN) 可以選擇忽略或繼續(xù)處置Oracle與其它數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程不同 Packages 和 FunctionsPackages類似Java PackagesHave Java Interface definitions where only the stored procedure signature is definedAllows stored procedure that perform similar functionality to be packaged togetherFunctions can re
11、turn a value stored procedures can notstored procedure are for return results setsfunctions can be executed as part of a SQL statementOracle與其它數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程不同 觸發(fā)器informix在一個(gè)trigger中定義before和after trigger有限制只能執(zhí)行插入、刪除、修正和存儲(chǔ)過(guò)程語(yǔ)句Oracle可執(zhí)行任何PL/SQL代碼Have row and statement, before and after triggers數(shù)據(jù)庫(kù)一級(jí)的觸發(fā)器SQL
12、Differencesfrom clause is not mandatory Oracle equivalent :from dual SQL DifferencesSELECT zipcode1,3, customer_num FROM customerORDER BY zipcodeSubstring, index 1 to 3Oracle equivalent : select substr(zipcode, 1,3) .SQL DifferencesSELECT UNIQUE city, state, zipcode FROM customerUNIQUE = DISTINCTOra
13、cle equivalent:SELECT DISTINCT city, state, zipcode FROM customerSQL Differencesselect FIRST 10 a, b from tabl First x number of rows of the result set.Oracle equivalent:select a,b from tabl where ROWNUM =10Select first 10 a,b from tablA union select a,c from tableCNote: This select first 10 rows of
14、 the union results. SQL Differencesselect . where fielda MATCHES somethingSimilar to LIKE, use different wildcard characters* = % (zero or more characters)? = _ (single character) , default escape character, you can specify by ESCAPE x , Evaluates to a single character or range of characters A-H spe
15、cifies any single letter from A through H, inclusive.SQL Differences some functionsDAY (col) : the number of the day of the monthEXTRACT (DAY FROM col)MONTH (col): number of the monthEXTRACT (MONTH FROM col)CURRENT : datetime type value of currentsysdateTODAY: date typeCURRENT_DATEDBSERVERNAME, SITE
16、NAME : the database server nameSQL Differencesselect into TEMP tablex from.This will create a temporary table (tablex) and insert the query result into it. Oracle Equivalent:Create a global temporary table first, and the statement change to:insert into tablex select from Or, if in stored procedure,
17、use a nested table.移植工具 Migration Workbench1998年10月第一版產(chǎn)品發(fā)布100% 用Java開(kāi)發(fā)免費(fèi)與Oracle數(shù)據(jù)庫(kù)一同發(fā)布,可在OTN上下載最新版本10.1.0.4 支持:SQL Server6.5/7.0/2000Sybase11/12Access2.0/95/97/2000MySQL3/4/5DB2 UDB6/7.1/7.2Infomix7.3/9.1/9.2/9.3/9.4SQL Developer Migration最新版本2.1 支持:SQL Server7.0/2000/2005Sybase12/15Access97/2000/20
18、02/2003MySQL3/4/5.0DB2 LUW 7/8/9Teradata 12移植工具 Migration Workbench可移植的Informix對(duì)象Tables and DataConstraintsIndexesViewsGroups / RolesUsersPrivilegesStored ProceduresTriggersESQLDatabase移植工具 Migration Workbench 先決條件支持Oracle 8.1.5以上版本先安裝Migration Workbench的中心軟件再安裝所需的plug-in配置Oracle Thick JDBC 驅(qū)動(dòng)配置其他數(shù)據(jù)
19、庫(kù)ODBC 驅(qū)動(dòng)(對(duì)于Informix,需Informix帶的JDBC驅(qū)動(dòng))移植工具 Migration Workbench 銜接Oracle Migration WorkBenchOther ServerOracleJDBC/ODBC BridgeODBCJDBC OCINET*8移植工具 Migration Workbench - DatabasesInformix中多個(gè)Databases被整合為一個(gè)DatabaseInformix中原有的多個(gè)users被保管Informix中的命名與Oracle保管字沖突的 Workbench會(huì)自動(dòng)處理在Oracle中對(duì)原有的Database分別建一個(gè)T
20、ablespace移植工具 Migration Workbench 步驟1選擇資料庫(kù)所在的效力器2選擇源數(shù)據(jù)庫(kù)3導(dǎo)入并映射數(shù)據(jù)源模型4手工修正映射選項(xiàng)5選擇目的數(shù)據(jù)庫(kù)6選擇要移植的對(duì)象類型7創(chuàng)建用戶、表,裝載表數(shù)據(jù),創(chuàng)建其它數(shù)據(jù)庫(kù)對(duì)象 CaptureWizardMigrationWizardMigration Workbench 日志日志信息將被保管下來(lái)可隨時(shí)查看轉(zhuǎn)換中遇到的問(wèn)題運(yùn)用移植概述對(duì)于以下幾種運(yùn)用,Oracle有相應(yīng)的移植工具:Informix ESQL/CInformix SPLInformix 4GL運(yùn)用移植 - ESQL/CMigration Workbench支持ESQL/C
21、到PRO*C的轉(zhuǎn)換支持一切的根本SQL語(yǔ)句自動(dòng)完成大部分移植任務(wù)能自動(dòng)將語(yǔ)法進(jìn)展轉(zhuǎn)換問(wèn)題標(biāo)注及生成總結(jié)報(bào)告運(yùn)用移植 - ESQL/CInformix一切程序中原來(lái)以 $ 表示為嵌入式SQL部分改為“EXEC SQLInformix 的SQL援用變量以$標(biāo)志,Oracle為“:“標(biāo)志。 Informix statement: $ SELECT login_no into $login_no; Oracle statement: EXEC SQL SELECT login_no into :login_no;Informix 的Update語(yǔ)法與oracle 不同,須做修正。Update tab1
22、 set col1=val1,col2=val2coln=valn;Update tab1 set row=(val1,val2);運(yùn)用移植 - ESQL/CInformix的Where語(yǔ)句采用=為相等,而Oracle采用=。Informix的UNIQUE語(yǔ)句改為ORACLE 的DISTINCT。Informix 的out join語(yǔ)法與oracle不同,需做修正。運(yùn)用移植 - ESQL/CInformix不能鎖單獨(dú)一條記錄,必需定義一個(gè)cursor with FOR UPDATE。Oracle 不用定義cursorInformix:EXEC SQL DECLARE CURSOR cur1 F
23、OR SELECT login_no INTO :login_no FROM users WHERE user_name = PAM FOR UPDATE; EXEC SQL OPEN cur1; EXEC SQL FETCH cur1; EXEC SQL CLOSE cur1; Oracle:EXEC SQL SELECT login_no INTO :login_no FROM users WHERE user_name = PAM FOR UPDATE; 運(yùn)用移植 - ESQL/CInformix的DECLARE CURSOR須加上INTO子句,在Fetch時(shí)不加INTO子句,而Orac
24、le的語(yǔ)法恰好相反。Informix:EXEC SQL DECLARE CURSOR cur1 FOR SELECT login_no INTO :login_no FROM users WHERE user_name = PAM; EXEC SQL FETCH cur1; Oracle:EXEC SQL DECLARE CURSOR cur1 FOR SELECT login_no FROM users WHERE user_name=PAM; EXEC SQL FETCH cur1 INTO :login_no; 函數(shù)比較Informix Oracle 描畫(huà)strindex1,index2 substr(str,index1,len) Index1和index2在Informix中必須是常量,而Oracle中index1,len可以是變量 downshift(str) lower(str) 前往小寫(xiě)字符串upshit(str) upper(str) 前往大寫(xiě)字符串length(str) length(str) 前往字符串長(zhǎng)度current sysdate 前往當(dāng)前日期和時(shí)間date(“12/13/1999) to_date(12/13/1999, mm/dd/yyyy) 前往指定格式日期
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 運(yùn)輸泄漏事故培訓(xùn)
- 城市旅游景點(diǎn)的發(fā)展與推廣
- 預(yù)防幽門(mén)螺旋桿菌
- 藥學(xué)臨床思維
- 預(yù)防體育運(yùn)動(dòng)傷害安全教育
- 銷售培訓(xùn)話術(shù)
- 門(mén)診護(hù)理人員工作總結(jié)
- 房產(chǎn)出租與委托管理協(xié)議
- 少兒編程教育培訓(xùn)機(jī)構(gòu)的退費(fèi)及免責(zé)合同
- 廣告行業(yè)品牌營(yíng)銷與創(chuàng)意策略方案
- 家政服務(wù)人員安全培訓(xùn)
- 2024校醫(yī)校園心理危機(jī)干預(yù)與心理咨詢服務(wù)合同3篇
- DSS7016管理端操作手冊(cè)
- 工業(yè)廢鹽資源化利用項(xiàng)目可行性研究報(bào)告
- 應(yīng)急預(yù)案桌面推演腳本
- 《鉆井安全培訓(xùn)材料》課件
- 《外傷性顱內(nèi)積氣》課件
- 卒中后抑郁康復(fù)治療
- 煤礦安全質(zhì)量標(biāo)準(zhǔn)化培訓(xùn)課件
- 2024解析:第十七章歐姆定律-基礎(chǔ)練(解析版)
- 新教材 人教版高中化學(xué)選擇性必修2全冊(cè)各章節(jié)學(xué)案(知識(shí)點(diǎn)考點(diǎn)精講及配套習(xí)題)
評(píng)論
0/150
提交評(píng)論