![SQL數(shù)據(jù)庫遷移至ORA_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/18/b5d67076-3bbe-401c-8e3d-ad64cc6490aa/b5d67076-3bbe-401c-8e3d-ad64cc6490aa1.gif)
![SQL數(shù)據(jù)庫遷移至ORA_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/18/b5d67076-3bbe-401c-8e3d-ad64cc6490aa/b5d67076-3bbe-401c-8e3d-ad64cc6490aa2.gif)
![SQL數(shù)據(jù)庫遷移至ORA_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/18/b5d67076-3bbe-401c-8e3d-ad64cc6490aa/b5d67076-3bbe-401c-8e3d-ad64cc6490aa3.gif)
![SQL數(shù)據(jù)庫遷移至ORA_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/18/b5d67076-3bbe-401c-8e3d-ad64cc6490aa/b5d67076-3bbe-401c-8e3d-ad64cc6490aa4.gif)
![SQL數(shù)據(jù)庫遷移至ORA_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/18/b5d67076-3bbe-401c-8e3d-ad64cc6490aa/b5d67076-3bbe-401c-8e3d-ad64cc6490aa5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、使用Oracle Sql Developer將SQL SERVER 2008數(shù)據(jù)庫移植到Ora.使用手工轉(zhuǎn)換SQL腳本的方式進行數(shù)據(jù)庫的遷移,其間過程相當繁瑣,特別是標識符長度的限制讓我焦頭爛額,因為我們的系統(tǒng)中長標識符真是多如繁星,另外,表結(jié)構(gòu)建好之后,數(shù)據(jù)的遷移又是一個相當復雜的過程,因為修改了不少的表名,需要把導出的數(shù)據(jù)和表一一對應上。 但是,除了手工的方式之外,其實我們還有更為簡便和自動化的解決方案,那就是ORACLE官方提供的Sql Developer自帶的Oracle Migration Workbench。 什么是Or
2、acle SQL Developer?在官方頁面上,是這樣介紹它的: 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 . 另外,通過第三方驅(qū)動包,該工具還支持連接和管理各種主流數(shù)據(jù)庫服務器。 下面就把我使用這個工具遷移Microsoft SQL Server 2008數(shù)據(jù)庫到Oracle 11G的過程記錄下來,為了積累也為分享。 第一部
4、分:獲取工具 第二部分:建立資料檔案庫(Migration Repository) 第三部分:數(shù)據(jù)庫移植向?qū)? 第四部分:SqlServer中的架構(gòu)到Oracle中的模式,名稱的處理 第五部分:轉(zhuǎn)移數(shù)據(jù) 第六部分:存儲過程和函數(shù)
5、0; 首先,當然是獲得工具,該工具在Oracle Sql Developer官方下載頁面里面可以直接下載到。Windows 32位直連地址:Windows 32bit Sql Developer。Oracle Sql Developer需要JDK的支持,在下載頁面中提供了包含JDK的下載包,還有支持各種操作系統(tǒng)的下載選項。 下載后,解壓到任意位置。直接運行程序。第一次運行,需要指定JDK的目錄。 啟動后,我們要做的第一件事,
6、不干別的,先下載SQL SERVER的驅(qū)動程序。點擊菜單幫助,選擇檢查更新,彈出檢查更新向?qū)Т翱?,第一頁一般是廢話,直接下一步,等更新中心列表加載完畢后,只選擇“Third Party SQL Developer extensions”,點擊下一步,等待更新搜索完畢后,中列表中找到并選中 JTDS JDBC Driver,如下圖: 下一步,在許可協(xié)議頁面,點擊“我同意”按鈕后再點下一步,等下載完畢后關(guān)閉窗口,彈出提示需要重啟程序才能完成更新,點擊“是”。等程序重啟完畢。
7、160; 環(huán)境準備完畢,開始進入到正題移植數(shù)據(jù)庫。 建立資料檔案庫(Migration Repository) 一、連接到Oracle 在程序左邊的連接窗口中,點擊加號按鈕,添加一個到Oracle數(shù)據(jù)庫的dba連接,如下圖: 配置完成后,點擊連接按鈕,連接到數(shù)據(jù)庫。 二,建立用戶 &
8、#160; 打開到Oracle數(shù)據(jù)的連接,新建一個用戶,我們要在該用戶的模式中建立所謂的“資料檔案庫”,并使用該用戶去建立SQL Server移植后的用戶名,以及做其它的一些工作。按照幫助中的說明,這個用戶最少需要以下權(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 以下語句直接建立一個名為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; 再次點擊連接中的加號按鈕,添加一個使用
16、剛剛新建立的用戶的連接。 連接后,在該連接上點擊右鍵,選擇移植資料檔案庫-關(guān)聯(lián)移植資料檔案庫,程序會在該用戶下建立移植資料檔案庫所需要的表、存儲過程等等,彈出一個對話框顯示當前建立的進度,稍等片刻即建立完畢。 數(shù)據(jù)庫移植向?qū)? 一,建立到源SqlServer數(shù)據(jù)庫的連接 在連接窗口中,點擊綠色加號按鈕,打開連接配置窗口,按下圖建立
17、到SqlServer的連接: 因為動態(tài)商品的使用,使得原來SqlServer配置頁中默認的1433往往沒有辦法連接到SqlServer2008數(shù)據(jù)庫,修改為1434即可。 二、啟動數(shù)據(jù)庫移植向?qū)? 建立到SqlServer的連接后,開始對數(shù)據(jù)庫進行移植。有兩個地方可以啟動數(shù)據(jù)庫移植向?qū)?,一個是在新建的SqlServer連接上點擊右鍵,選擇移植到Oracle,另一個是在菜單工具-移植-移植,啟動向?qū)Ш?,?/p>
18、一頁當然是向?qū)У暮喗?,通過簡介,我們可以知道整個移植過程有7步,并且有兩個先決條件,如下圖: 直接點擊下一步。 三、選擇資料檔案庫 在這個頁面中,我們也可以去建立連接和資料檔案庫,也就是前一部分中我們所做的工作在這里也可以進行。當然選擇我們剛剛建立的migrations連接,如下圖:
19、0; 這里截斷的意思是將資料檔案庫清空,我們建立一個移植項目后,所有抓取的數(shù)據(jù)庫結(jié)構(gòu)信息、統(tǒng)計信息還有轉(zhuǎn)換記錄等都保存在這個資料檔案庫中,只要項目名稱不同,即使不清空資料檔案庫也不會影響到移植工作。當然,如果希望更“清爽”一點,也可以勾選。這是后話。 四、為轉(zhuǎn)換項目命名 選擇好資料檔案庫后,點擊下一步,為我們的轉(zhuǎn)換項目輸入名稱和備注,以便識別。另外,還需要指定腳本生成目錄,用于存放向?qū)?zhí)行過程中生成的腳本。
20、60; 五、選擇源數(shù)據(jù)庫連接 然后繼續(xù)下一步,選擇源數(shù)據(jù)庫,在這里有聯(lián)機和離線兩種模式,聯(lián)機即是直接連接到源數(shù)據(jù)進行抓取,而離線則是在SqlDeveloper不直接連接到源數(shù)據(jù)庫的情況下,通過SqlDeveloper提供的腳本預先捕獲數(shù)據(jù)庫,得到數(shù)據(jù)庫結(jié)構(gòu)文件后,通過向?qū)搿? 這里當然是選擇我們剛才建立的SqlServer連接。 六、選擇捕獲源數(shù)據(jù)庫 &
21、#160; 在這一步中,顯示為兩個多選框,左邊列出Sql Server中所有可選的數(shù)據(jù)庫,通過中間的按鈕將數(shù)據(jù)庫移動到右邊的已選數(shù)據(jù)庫中。如下圖: 七、數(shù)據(jù)類型轉(zhuǎn)換選項 在這一頁中,列出了所有系統(tǒng)內(nèi)置的數(shù)據(jù)類型轉(zhuǎn)換對應關(guān)系??梢云溥M行修改,一般不作修改直接下一步。如下圖: 八、選擇目標數(shù)據(jù)庫 與源數(shù)據(jù)庫的選擇一樣,目標
22、數(shù)據(jù)庫的選擇同樣也有聯(lián)機和離線兩種方式。仍舊選擇聯(lián)機。選擇orcl(migrations)連接。 九、移動數(shù)據(jù)選項 這個頁面中,也提供了聯(lián)機或離線兩種方式進行數(shù)據(jù)移動。所謂聯(lián)機雖然“據(jù)說”可以直接以聯(lián)機的方式從源數(shù)據(jù)庫中移動數(shù)據(jù)到Oracle中,可我試過幾次沒有成功,原因不明。最終我選擇了離線的方式進行數(shù)據(jù)移動。所謂離線移動數(shù)據(jù),是在我們指定的腳本存放目錄中生成“數(shù)據(jù)移動”腳本,分別在源數(shù)據(jù)庫中卸載數(shù)據(jù)(即導出)和在目標數(shù)據(jù)庫中加載數(shù)據(jù)。選擇好后,點擊下一步。
23、 十、選項完畢,開始執(zhí)行 在向?qū)У淖詈?,是一個用于確認的“概要”頁面。確認無誤后,點擊完成。移植將會開始執(zhí)行。 SqlServer中的架構(gòu)到Oracle中的模式,名稱的處理 通過執(zhí)行移植向?qū)В绻麤]有錯誤的話,那么表結(jié)構(gòu)基本上都會建立起來了,在連接中打開orcl(migrations)連接,找到最下面的其它用戶,假設你的表都在dbo架構(gòu)下,那么找到dbo_源數(shù)據(jù)庫名,展開它,可以看到在表中已經(jīng)有原數(shù)據(jù)庫
24、中的所有表。但是,為什么會顯示為dbo_源數(shù)據(jù)庫名呢?我很不喜歡這樣的用戶名。我希望它顯示為源數(shù)據(jù)庫名,要怎樣做呢? 在程序的左下角,是移植項目窗格,在里面可以看到我們剛才建立的移植項目名。展開它,會顯示我們執(zhí)行過向?qū)У娜掌诤蜁r間,繼續(xù)展開,可以看到兩個節(jié)點,叫作捕獲的數(shù)據(jù)庫對象和轉(zhuǎn)換的數(shù)據(jù)庫對象,如下圖: 在捕獲的數(shù)據(jù)庫對象上點擊右鍵,選擇轉(zhuǎn)換,再次打開數(shù)據(jù)移植向?qū)?。點擊下一步,會直接跳轉(zhuǎn)到轉(zhuǎn)換頁,這一次的轉(zhuǎn)換頁面與前一部分的轉(zhuǎn)換頁稍有不同。不同之處在于多出了一個選項卡
25、,叫對象命名,選擇它打開,如下圖所示: 在這個頁面中,顯示了一個數(shù)據(jù)列表,列出了源數(shù)據(jù)庫的表名、字段名、約束名、視圖名、架構(gòu)名等等所有的標識符的原始標識符、新建標識符、是否經(jīng)過轉(zhuǎn)換、原始限定名、標識符類型等信息。因為Oracle中不支持30個字符以上的標識符,所以當碰到原始標識符超過30個字符時,移植向?qū)詣訉⒅財?,如果有重名,則會加上_1之類的后綴。 很明顯,在這里,它把我們原來的dbo架構(gòu)名轉(zhuǎn)換成了dbo_數(shù)據(jù)庫名,我們只要找到它,將新標識符改為數(shù)據(jù)名,即可實現(xiàn)我們這部分的需求。 修改完成后,點擊下一步,接著按之前的設置完成整個向?qū)В瑢⑿薷奶峤坏劫Y料檔案庫中。注意,這次的向?qū)Р]有去幫我建立新用戶和表結(jié)構(gòu)等等,還需要進一步操作。 在主界面中的移植項目窗格,在轉(zhuǎn)換的數(shù)據(jù)庫對象上點擊右鍵,選擇生成目標,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《陳涉世家筆記》課件
- 《霧化吸入醫(yī)學》課件
- 2025年西雙版納貨運上崗證考試題庫答案
- 我國學前教育質(zhì)量監(jiān)測的現(xiàn)實困境及發(fā)展對策
- 急診??谱o士角色認知的研究進展
- 月度團隊協(xié)作報告模板
- 智能家居產(chǎn)品路演模板
- 祝福追夢人生日模板
- 小學家委會活動方案
- 怎么申請死亡申請書
- 《我國個人所得稅制下稅收征管問題研究》
- 建筑工程三通一平技術(shù)方案
- 綠化養(yǎng)護工安全培訓
- DB21-T 1720-2017海水源熱泵系統(tǒng)工程技術(shù)規(guī)程
- 組長競選課件教學課件
- 《基于UTAUT2模型的虛擬學術(shù)社區(qū)用戶持續(xù)使用意愿影響因素研究》
- 2022年公務員多省聯(lián)考《申論》真題(遼寧A卷)及答案解析
- 2024 ESC慢性冠脈綜合征指南解讀(全)
- 消防設施操作員(初級)題庫與參考答案
- 北師大版四年級下冊數(shù)學第一單元測試卷帶答案
- 2024年山東省德州市中考道德與法治試題卷(含答案解析)
評論
0/150
提交評論