版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、使用Oracle Sql Developer將SQL SERVER 2008數(shù)據(jù)庫(kù)移植到Ora.使用手工轉(zhuǎn)換SQL腳本的方式進(jìn)行數(shù)據(jù)庫(kù)的遷移,其間過(guò)程相當(dāng)繁瑣,特別是標(biāo)識(shí)符長(zhǎng)度的限制讓我焦頭爛額,因?yàn)槲覀兊南到y(tǒng)中長(zhǎng)標(biāo)識(shí)符真是多如繁星,另外,表結(jié)構(gòu)建好之后,數(shù)據(jù)的遷移又是一個(gè)相當(dāng)復(fù)雜的過(guò)程,因?yàn)樾薷牧瞬簧俚谋砻?,需要把?dǎo)出的數(shù)據(jù)和表一一對(duì)應(yīng)上。 但是,除了手工的方式之外,其實(shí)我們還有更為簡(jiǎn)便和自動(dòng)化的解決方案,那就是ORACLE官方提供的Sql Developer自帶的Oracle Migration Workbench。 什么是Or
2、acle SQL Developer?在官方頁(yè)面上,是這樣介紹它的: Oracle SQL Developer is a free and fully supported graphical tool for database development. With SQL Developer, you can browse database objects, run SQL statements and SQL scripts, and edit and debug PL/SQL statements. You can also run any number of provided report
3、s, as well as create and save your own. SQL Developer enhances productivity and simplifies your database development tasks . 另外,通過(guò)第三方驅(qū)動(dòng)包,該工具還支持連接和管理各種主流數(shù)據(jù)庫(kù)服務(wù)器。 下面就把我使用這個(gè)工具遷移Microsoft SQL Server 2008數(shù)據(jù)庫(kù)到Oracle 11G的過(guò)程記錄下來(lái),為了積累也為分享。 第一部
4、分:獲取工具 第二部分:建立資料檔案庫(kù)(Migration Repository) 第三部分:數(shù)據(jù)庫(kù)移植向?qū)? 第四部分:SqlServer中的架構(gòu)到Oracle中的模式,名稱的處理 第五部分:轉(zhuǎn)移數(shù)據(jù) 第六部分:存儲(chǔ)過(guò)程和函數(shù)
5、0; 首先,當(dāng)然是獲得工具,該工具在Oracle Sql Developer官方下載頁(yè)面里面可以直接下載到。Windows 32位直連地址:Windows 32bit Sql Developer。Oracle Sql Developer需要JDK的支持,在下載頁(yè)面中提供了包含JDK的下載包,還有支持各種操作系統(tǒng)的下載選項(xiàng)。 下載后,解壓到任意位置。直接運(yùn)行程序。第一次運(yùn)行,需要指定JDK的目錄。 啟動(dòng)后,我們要做的第一件事,
6、不干別的,先下載SQL SERVER的驅(qū)動(dòng)程序。點(diǎn)擊菜單幫助,選擇檢查更新,彈出檢查更新向?qū)Т翱?,第一?yè)一般是廢話,直接下一步,等更新中心列表加載完畢后,只選擇“Third Party SQL Developer extensions”,點(diǎn)擊下一步,等待更新搜索完畢后,中列表中找到并選中 JTDS JDBC Driver,如下圖: 下一步,在許可協(xié)議頁(yè)面,點(diǎn)擊“我同意”按鈕后再點(diǎn)下一步,等下載完畢后關(guān)閉窗口,彈出提示需要重啟程序才能完成更新,點(diǎn)擊“是”。等程序重啟完畢。
7、160; 環(huán)境準(zhǔn)備完畢,開(kāi)始進(jìn)入到正題移植數(shù)據(jù)庫(kù)。 建立資料檔案庫(kù)(Migration Repository) 一、連接到Oracle 在程序左邊的連接窗口中,點(diǎn)擊加號(hào)按鈕,添加一個(gè)到Oracle數(shù)據(jù)庫(kù)的dba連接,如下圖: 配置完成后,點(diǎn)擊連接按鈕,連接到數(shù)據(jù)庫(kù)。 二,建立用戶 &
8、#160; 打開(kāi)到Oracle數(shù)據(jù)的連接,新建一個(gè)用戶,我們要在該用戶的模式中建立所謂的“資料檔案庫(kù)”,并使用該用戶去建立SQL Server移植后的用戶名,以及做其它的一些工作。按照幫助中的說(shuō)明,這個(gè)用戶最少需要以下權(quán)限和角色: Roles CONNECT WITH ADMIN OPTION,RESOURCE WITH ADMIN OPTION Privileges ALTER ANY ROLE,ALTER ANY SEQUENCE,ALTER ANY TABLE,ALTER TABLESPACE,ALTER ANY TRI
9、GGER,COMMENT ANY TABLE,CREATE ANY SEQUENCE,CREATE ANY TABLE,CREATE ANY TRIGGER,CREATE VIEW WITH ADMIN OPTION,CREATE PUBLIC SYNONYM WITH ADMIN OPTION,CREATE ROLE CREATE USER,DROP ANY SEQUENCE,DROP ANY TABLE,DROP ANY TRIGGER,DROP USER,DROP ANY ROLE,GRANT ANY ROLE,INSERT ANY TABLE,SELECT ANY TABLE
10、,UPDATE ANY TABLE 以下語(yǔ)句直接建立一個(gè)名為migrations的用戶: - Create the user create user MIGRATIONS identified by MIGRATIONS default tablespace USERS temporary tablespace TEMP profile DEFAULT; - Grant/Revoke role privileges grant connect to MIGRATIONS with admin
11、option; grant resource to MIGRATIONS with admin option; - Grant/Revoke system privileges grant alter any role to MIGRATIONS; grant alter any sequence to MIGRATIONS; grant alter any table to MIGRATIONS; grant alter any trigger to MIGRATIONS; grant alter tablespace t
12、o MIGRATIONS; grant comment any table to MIGRATIONS; grant create any sequence to MIGRATIONS; grant create any table to MIGRATIONS; grant create any trigger to MIGRATIONS; grant create any view to MIGRATIONS; grant create materialized view to MIGRATIONS with admin optio
13、n; grant create public synonym to MIGRATIONS with admin option; grant create role to MIGRATIONS; grant create session to MIGRATIONS with admin option; grant create synonym to MIGRATIONS with admin option; grant create tablespace to MIGRATIONS; grant create user to MIGRA
14、TIONS; grant create view to MIGRATIONS with admin option; grant drop any role to MIGRATIONS; grant drop any sequence to MIGRATIONS; grant drop any table to MIGRATIONS; grant drop any trigger to MIGRATIONS; grant drop tablespace to MIGRATIONS; grant drop user to MIG
15、RATIONS; grant grant any role to MIGRATIONS; grant insert any table to MIGRATIONS; grant select any table to MIGRATIONS; grant unlimited tablespace to MIGRATIONS with admin option; grant update any table to MIGRATIONS; 再次點(diǎn)擊連接中的加號(hào)按鈕,添加一個(gè)使用
16、剛剛新建立的用戶的連接。 連接后,在該連接上點(diǎn)擊右鍵,選擇移植資料檔案庫(kù)-關(guān)聯(lián)移植資料檔案庫(kù),程序會(huì)在該用戶下建立移植資料檔案庫(kù)所需要的表、存儲(chǔ)過(guò)程等等,彈出一個(gè)對(duì)話框顯示當(dāng)前建立的進(jìn)度,稍等片刻即建立完畢。 數(shù)據(jù)庫(kù)移植向?qū)? 一,建立到源SqlServer數(shù)據(jù)庫(kù)的連接 在連接窗口中,點(diǎn)擊綠色加號(hào)按鈕,打開(kāi)連接配置窗口,按下圖建立
17、到SqlServer的連接: 因?yàn)閯?dòng)態(tài)商品的使用,使得原來(lái)SqlServer配置頁(yè)中默認(rèn)的1433往往沒(méi)有辦法連接到SqlServer2008數(shù)據(jù)庫(kù),修改為1434即可。 二、啟動(dòng)數(shù)據(jù)庫(kù)移植向?qū)? 建立到SqlServer的連接后,開(kāi)始對(duì)數(shù)據(jù)庫(kù)進(jìn)行移植。有兩個(gè)地方可以啟動(dòng)數(shù)據(jù)庫(kù)移植向?qū)?,一個(gè)是在新建的SqlServer連接上點(diǎn)擊右鍵,選擇移植到Oracle,另一個(gè)是在菜單工具-移植-移植,啟動(dòng)向?qū)Ш?,?/p>
18、一頁(yè)當(dāng)然是向?qū)У暮?jiǎn)介,通過(guò)簡(jiǎn)介,我們可以知道整個(gè)移植過(guò)程有7步,并且有兩個(gè)先決條件,如下圖: 直接點(diǎn)擊下一步。 三、選擇資料檔案庫(kù) 在這個(gè)頁(yè)面中,我們也可以去建立連接和資料檔案庫(kù),也就是前一部分中我們所做的工作在這里也可以進(jìn)行。當(dāng)然選擇我們剛剛建立的migrations連接,如下圖:
19、0; 這里截?cái)嗟囊馑际菍①Y料檔案庫(kù)清空,我們建立一個(gè)移植項(xiàng)目后,所有抓取的數(shù)據(jù)庫(kù)結(jié)構(gòu)信息、統(tǒng)計(jì)信息還有轉(zhuǎn)換記錄等都保存在這個(gè)資料檔案庫(kù)中,只要項(xiàng)目名稱不同,即使不清空資料檔案庫(kù)也不會(huì)影響到移植工作。當(dāng)然,如果希望更“清爽”一點(diǎn),也可以勾選。這是后話。 四、為轉(zhuǎn)換項(xiàng)目命名 選擇好資料檔案庫(kù)后,點(diǎn)擊下一步,為我們的轉(zhuǎn)換項(xiàng)目輸入名稱和備注,以便識(shí)別。另外,還需要指定腳本生成目錄,用于存放向?qū)?zhí)行過(guò)程中生成的腳本。
20、60; 五、選擇源數(shù)據(jù)庫(kù)連接 然后繼續(xù)下一步,選擇源數(shù)據(jù)庫(kù),在這里有聯(lián)機(jī)和離線兩種模式,聯(lián)機(jī)即是直接連接到源數(shù)據(jù)進(jìn)行抓取,而離線則是在SqlDeveloper不直接連接到源數(shù)據(jù)庫(kù)的情況下,通過(guò)SqlDeveloper提供的腳本預(yù)先捕獲數(shù)據(jù)庫(kù),得到數(shù)據(jù)庫(kù)結(jié)構(gòu)文件后,通過(guò)向?qū)?dǎo)入。 這里當(dāng)然是選擇我們剛才建立的SqlServer連接。 六、選擇捕獲源數(shù)據(jù)庫(kù) &
21、#160; 在這一步中,顯示為兩個(gè)多選框,左邊列出Sql Server中所有可選的數(shù)據(jù)庫(kù),通過(guò)中間的按鈕將數(shù)據(jù)庫(kù)移動(dòng)到右邊的已選數(shù)據(jù)庫(kù)中。如下圖: 七、數(shù)據(jù)類型轉(zhuǎn)換選項(xiàng) 在這一頁(yè)中,列出了所有系統(tǒng)內(nèi)置的數(shù)據(jù)類型轉(zhuǎn)換對(duì)應(yīng)關(guān)系??梢云溥M(jìn)行修改,一般不作修改直接下一步。如下圖: 八、選擇目標(biāo)數(shù)據(jù)庫(kù) 與源數(shù)據(jù)庫(kù)的選擇一樣,目標(biāo)
22、數(shù)據(jù)庫(kù)的選擇同樣也有聯(lián)機(jī)和離線兩種方式。仍舊選擇聯(lián)機(jī)。選擇orcl(migrations)連接。 九、移動(dòng)數(shù)據(jù)選項(xiàng) 這個(gè)頁(yè)面中,也提供了聯(lián)機(jī)或離線兩種方式進(jìn)行數(shù)據(jù)移動(dòng)。所謂聯(lián)機(jī)雖然“據(jù)說(shuō)”可以直接以聯(lián)機(jī)的方式從源數(shù)據(jù)庫(kù)中移動(dòng)數(shù)據(jù)到Oracle中,可我試過(guò)幾次沒(méi)有成功,原因不明。最終我選擇了離線的方式進(jìn)行數(shù)據(jù)移動(dòng)。所謂離線移動(dòng)數(shù)據(jù),是在我們指定的腳本存放目錄中生成“數(shù)據(jù)移動(dòng)”腳本,分別在源數(shù)據(jù)庫(kù)中卸載數(shù)據(jù)(即導(dǎo)出)和在目標(biāo)數(shù)據(jù)庫(kù)中加載數(shù)據(jù)。選擇好后,點(diǎn)擊下一步。
23、 十、選項(xiàng)完畢,開(kāi)始執(zhí)行 在向?qū)У淖詈?,是一個(gè)用于確認(rèn)的“概要”頁(yè)面。確認(rèn)無(wú)誤后,點(diǎn)擊完成。移植將會(huì)開(kāi)始執(zhí)行。 SqlServer中的架構(gòu)到Oracle中的模式,名稱的處理 通過(guò)執(zhí)行移植向?qū)?,如果沒(méi)有錯(cuò)誤的話,那么表結(jié)構(gòu)基本上都會(huì)建立起來(lái)了,在連接中打開(kāi)orcl(migrations)連接,找到最下面的其它用戶,假設(shè)你的表都在dbo架構(gòu)下,那么找到dbo_源數(shù)據(jù)庫(kù)名,展開(kāi)它,可以看到在表中已經(jīng)有原數(shù)據(jù)庫(kù)
24、中的所有表。但是,為什么會(huì)顯示為dbo_源數(shù)據(jù)庫(kù)名呢?我很不喜歡這樣的用戶名。我希望它顯示為源數(shù)據(jù)庫(kù)名,要怎樣做呢? 在程序的左下角,是移植項(xiàng)目窗格,在里面可以看到我們剛才建立的移植項(xiàng)目名。展開(kāi)它,會(huì)顯示我們執(zhí)行過(guò)向?qū)У娜掌诤蜁r(shí)間,繼續(xù)展開(kāi),可以看到兩個(gè)節(jié)點(diǎn),叫作捕獲的數(shù)據(jù)庫(kù)對(duì)象和轉(zhuǎn)換的數(shù)據(jù)庫(kù)對(duì)象,如下圖: 在捕獲的數(shù)據(jù)庫(kù)對(duì)象上點(diǎn)擊右鍵,選擇轉(zhuǎn)換,再次打開(kāi)數(shù)據(jù)移植向?qū)А|c(diǎn)擊下一步,會(huì)直接跳轉(zhuǎn)到轉(zhuǎn)換頁(yè),這一次的轉(zhuǎn)換頁(yè)面與前一部分的轉(zhuǎn)換頁(yè)稍有不同。不同之處在于多出了一個(gè)選項(xiàng)卡
25、,叫對(duì)象命名,選擇它打開(kāi),如下圖所示: 在這個(gè)頁(yè)面中,顯示了一個(gè)數(shù)據(jù)列表,列出了源數(shù)據(jù)庫(kù)的表名、字段名、約束名、視圖名、架構(gòu)名等等所有的標(biāo)識(shí)符的原始標(biāo)識(shí)符、新建標(biāo)識(shí)符、是否經(jīng)過(guò)轉(zhuǎn)換、原始限定名、標(biāo)識(shí)符類型等信息。因?yàn)镺racle中不支持30個(gè)字符以上的標(biāo)識(shí)符,所以當(dāng)碰到原始標(biāo)識(shí)符超過(guò)30個(gè)字符時(shí),移植向?qū)?huì)自動(dòng)將之截?cái)?,如果有重名,則會(huì)加上_1之類的后綴。 很明顯,在這里,它把我們?cè)瓉?lái)的dbo架構(gòu)名轉(zhuǎn)換成了dbo_數(shù)據(jù)庫(kù)名,我們只要找到它,將新標(biāo)識(shí)符改為數(shù)據(jù)名,即可實(shí)現(xiàn)我們這部分的需求。 修改完成后,點(diǎn)擊下一步,接著按之前的設(shè)置完成整個(gè)向?qū)?,將修改提交到資料檔案庫(kù)中。注意,這次的向?qū)Р](méi)有去幫我建立新用戶和表結(jié)構(gòu)等等,還需要進(jìn)一步操作。 在主界面中的移植項(xiàng)目窗格,在轉(zhuǎn)換的數(shù)據(jù)庫(kù)對(duì)象上點(diǎn)擊右鍵,選擇生成目標(biāo),
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024老勞動(dòng)合同范本
- 2024新技術(shù)開(kāi)發(fā)保密責(zé)任合同書(shū)版B版
- 2025年度公共場(chǎng)所消防安全管理合同細(xì)則3篇
- 2025年度數(shù)控車床采購(gòu)合同(含刀具智能檢測(cè)技術(shù))4篇
- 2025年度特殊人群客運(yùn)服務(wù)合同書(shū)-無(wú)障礙出行服務(wù)合作協(xié)議4篇
- 2025年度智慧醫(yī)療平臺(tái)建設(shè)出資擔(dān)保協(xié)議書(shū)4篇
- 2025年企業(yè)食堂承包及員工健康餐飲服務(wù)協(xié)議4篇
- 2024銷售人員提成獎(jiǎng)金分配勞動(dòng)合同3篇
- 2024蘋果期貨交易與風(fēng)險(xiǎn)管理合同3篇
- 2025年度抖音平臺(tái)虛擬商品交易安全保障協(xié)議3篇
- 第二章 運(yùn)營(yíng)管理戰(zhàn)略
- 《三本白皮書(shū)》全文內(nèi)容及應(yīng)知應(yīng)會(huì)知識(shí)點(diǎn)
- 專題14 思想方法專題:線段與角計(jì)算中的思想方法壓軸題四種模型全攻略(解析版)
- 醫(yī)院外來(lái)器械及植入物管理制度(4篇)
- 圖像識(shí)別領(lǐng)域自適應(yīng)技術(shù)-洞察分析
- 港口與港口工程概論
- 《念珠菌感染的治療》課件
- 個(gè)體戶店鋪?zhàn)赓U合同
- 門店裝修設(shè)計(jì)手冊(cè)
- 考研計(jì)算機(jī)學(xué)科專業(yè)基礎(chǔ)(408)研究生考試試卷與參考答案(2025年)
- 新概念英語(yǔ)第二冊(cè)考評(píng)試卷含答案(第49-56課)
評(píng)論
0/150
提交評(píng)論