oracle怎么将一列挪到另一列,详细讲解Oracle数据库的数据迁移方法
《詳細(xì)講解Oracle數(shù)據(jù)庫的數(shù)據(jù)遷移方法》由會員分享,可在線閱讀,更多相關(guān)《詳細(xì)講解Oracle數(shù)據(jù)庫的數(shù)據(jù)遷移方法(4頁珍藏版)》請在人人文庫網(wǎng)上搜索。
1、詳細(xì)講解 Oracle 數(shù)據(jù)庫的數(shù)據(jù)遷移方法 ( 1)隨著數(shù)據(jù)庫管理系統(tǒng)和操作系統(tǒng)平臺的更新?lián)Q代的速度的加快, 數(shù)據(jù)庫管理員經(jīng)常需要在兩個不同的數(shù)據(jù)庫之間或 在兩種不同的系統(tǒng)平臺之間進(jìn)行數(shù)據(jù)遷移。 本文介紹了數(shù)據(jù)庫數(shù)據(jù)遷移的一般步驟以及實(shí)現(xiàn)向 Oracle8i 數(shù)據(jù)庫進(jìn)行 數(shù)據(jù)遷移的幾種方法,并對它們的優(yōu)缺點(diǎn)做了對比分析。在開發(fā)環(huán)境向運(yùn)行環(huán)境轉(zhuǎn)換、 低版本數(shù)據(jù)庫向高版本數(shù)據(jù)庫轉(zhuǎn)換以及兩個不同數(shù)據(jù)庫之間進(jìn)行轉(zhuǎn)換時, 數(shù)據(jù)庫中的 數(shù)據(jù)(包括結(jié)構(gòu)定義)需要被轉(zhuǎn)移并使之正常運(yùn)行,這就是數(shù)據(jù)庫中的數(shù)據(jù)遷移。對于中小型數(shù)據(jù)庫,如 Foxpro 中的* .dbf,這種遷移非常簡單,一般只需通過簡單的 Cop。
2、y就能完成。但對于大型數(shù)據(jù)庫系統(tǒng),如Oracle數(shù)據(jù)庫,數(shù)據(jù)遷移就不那么簡單了,它需要利用一定的技術(shù)和經(jīng)驗(yàn),有步驟按計劃地完成。數(shù)據(jù)遷移的一般步驟 對數(shù)據(jù)庫管理人員來說,數(shù)據(jù)庫數(shù)據(jù)遷移極具挑戰(zhàn)性,一旦措施不當(dāng),珍貴的數(shù)據(jù)資源將面臨丟失的危險,要成功地實(shí)現(xiàn)數(shù)據(jù)庫數(shù)據(jù)平滑遷移,需要周密計劃和充分準(zhǔn)備,并按照一定的步驟來完成。設(shè)計數(shù)據(jù)遷移方案 設(shè)計數(shù)據(jù)遷移方案主要包括以下幾個方面工作:研究與數(shù)據(jù)遷移相關(guān)的資料,或在網(wǎng)站上查詢相關(guān)內(nèi)容、評估和選 擇數(shù)據(jù)遷移的軟硬件平臺、選擇數(shù)據(jù)遷移方法、選擇數(shù)據(jù)備份和恢復(fù)策略、設(shè)計數(shù)據(jù)遷移和測試方案等。進(jìn)行數(shù)據(jù)模擬遷移根據(jù)設(shè)計的數(shù)據(jù)遷移方案,建立一個模擬的數(shù)據(jù)遷移環(huán)境。
3、,它既能仿真實(shí)際環(huán)境又不影響實(shí)際數(shù)據(jù),然后在數(shù)據(jù)模 擬遷移環(huán)境中測試數(shù)據(jù)遷移的效果。 數(shù)據(jù)模擬遷移前也應(yīng)按備份策略備份模擬數(shù)據(jù), 以便數(shù)據(jù)遷移后能按恢復(fù)策略 進(jìn)行恢復(fù)測試。測試數(shù)據(jù)模擬遷移 根據(jù)設(shè)計的數(shù)據(jù)遷移測試方案測試數(shù)據(jù)模擬遷移, 也就是檢查數(shù)據(jù)模擬遷移后數(shù)據(jù)和應(yīng)用軟件是否正常, 主要包括: 數(shù)據(jù)一致性測試、應(yīng)用軟件執(zhí)行功能測試、性能測試、數(shù)據(jù)備份和恢復(fù)測試等。準(zhǔn)備實(shí)施數(shù)據(jù)遷移數(shù)據(jù)模擬遷移測試成功后,在正式實(shí)施數(shù)據(jù)遷移前還需要做好以下幾個方面工作:進(jìn)行完全數(shù)據(jù)備份、確定數(shù)據(jù)遷 移方案、安裝和配置軟硬件等。正式實(shí)施數(shù)據(jù)遷移 按照確定的數(shù)據(jù)遷移方案,正式實(shí)施數(shù)據(jù)遷移。測試數(shù)據(jù)遷移效果按照數(shù)據(jù)遷。
4、移測試方案測試數(shù)據(jù)遷移效果, 并對數(shù)據(jù)遷移后的數(shù)據(jù)庫參數(shù)和性能進(jìn)行調(diào)整, 使之滿足數(shù)據(jù)遷移后實(shí) 際應(yīng)用系統(tǒng)的需要。移植系統(tǒng)應(yīng)用軟件將實(shí)際應(yīng)用系統(tǒng)的應(yīng)用軟件移植到數(shù)據(jù)遷移后的數(shù)據(jù)庫系統(tǒng)上,并使之正常運(yùn)行。正式運(yùn)行應(yīng)用系統(tǒng) 在正式實(shí)施數(shù)據(jù)遷移成功并且數(shù)據(jù)庫參數(shù)和性能達(dá)到要求后,就可以正式運(yùn)行應(yīng)用系統(tǒng),并投入實(shí)際使用。實(shí)現(xiàn)向 Oracle8i 數(shù)據(jù)遷移Oracle 數(shù)據(jù)庫數(shù)據(jù)遷移可以從一個版本遷移到另一個版本 (即升級),也可以從一個主版本遷移到另一個主版本 (即 移植),例如從 Oracle7遷移到Oracle8 ;可以從一個系統(tǒng)平臺遷移到另一個系統(tǒng)平臺,例如從Unix系統(tǒng)遷移到Windows N。
5、T 系統(tǒng);也可以從非 Oracle 數(shù)據(jù)庫遷移到 Oracle 數(shù)據(jù)庫,例如從 MS SQL Server 遷移到 Oracle 數(shù)據(jù)庫。 在實(shí)現(xiàn) Oracle 數(shù)據(jù)庫數(shù)據(jù)遷移前,需要了解以下幾個方面的問題:對數(shù)據(jù)庫系統(tǒng)的要求、對Oracle 數(shù)據(jù)庫DB_Block_Size 的要求、對 Oracle 使用字符集的要求、對SQL NET 版本的要求、對操作系統(tǒng)平臺的要求等。Oracle 數(shù)據(jù)庫系統(tǒng)本身提供了實(shí)現(xiàn) Oracle 數(shù)據(jù)庫數(shù)據(jù)遷移的多種工具, 我們還可以利用 PowerBuilder 的數(shù)據(jù)管道功 能實(shí)現(xiàn)Oracle數(shù)據(jù)庫數(shù)據(jù)遷移。當(dāng)前Oracle數(shù)據(jù)庫的較新版本是Oracle8i,。
6、以下介紹可以實(shí)現(xiàn)數(shù)據(jù)庫數(shù)據(jù)遷移到Oracle8i 的幾種方法:方法 1:移植實(shí)用程序( Migration Utility )MIG 是 Oracle 提供的用于 Oracle 數(shù)據(jù)庫之間數(shù)據(jù)遷移的命令行方式實(shí)用程序。使用 MIG 遷移 Oracle7 的數(shù)據(jù)到 Oracle8i 的一般步驟為:設(shè)置Oracle7數(shù)據(jù)庫環(huán)境變量,包括運(yùn)行注冊表編輯器(regedit.exe)和控制面板,設(shè)置 Oracle7主目錄、字符集和可執(zhí)行文件路徑等,并在 DOS 命令提示符下設(shè)置 Oracle_sid=Oracle7_sid ,并正常關(guān)閉 Oracle7 數(shù)據(jù)庫。運(yùn)行 Oracle8i 的 MIG 應(yīng)用程。
7、序,生成一個轉(zhuǎn)換文件,用于數(shù)據(jù)庫轉(zhuǎn)換。從Windows NT控制面板終止 Oracle7數(shù)據(jù)庫服務(wù),并使用實(shí)例管理器刪除 Oracle7數(shù)據(jù)庫服務(wù)。設(shè)置Oracle8i數(shù)據(jù)庫環(huán)境變量,包括運(yùn)行注冊表編輯器( regedit.exe)和控制面板,設(shè)置Oracle8i主目錄、字符集和可執(zhí)行文件路徑等;由 oradim 命令使用 Oracle7_sid 和 init.ora 文件創(chuàng)建 Oracle8i 服務(wù);重新命名數(shù)據(jù)庫控制文 件;編輯 init.ora 文件,設(shè)置 compatible 為 8.1.5.0.0;刪除 init.ora 文件中不再使用的參數(shù);在 DOS 命令提示符下設(shè) 置 Orac。
8、le_Sid=Oracle8_sid 。Oracle8i 數(shù)據(jù)庫;由 alter database covert 命 alter database open resetlog 命令打開數(shù)據(jù)庫 該文件保存前面命令腳本文件的運(yùn)行結(jié)果;實(shí)現(xiàn)數(shù)據(jù)遷移,以內(nèi)部用戶賬號連接服務(wù)器管理器;以非登錄方式啟動 令生成新的控制文件,并把文件頭轉(zhuǎn)換為 Oracle8i 數(shù)據(jù)庫文件格式;由 并且重新設(shè)置日志文件; 由 spool migscripts.log 命令創(chuàng)建輸出目標(biāo)文件,運(yùn)行u0703030.sql,當(dāng)使用數(shù)據(jù)庫高級復(fù)制功能選項(xiàng)時,運(yùn)行Catrep.sql,當(dāng)使用Oracle Parallel Server。
9、選項(xiàng)時,運(yùn)行catparr.sql;由spool out命令結(jié)束結(jié)果輸出,并關(guān)閉數(shù)據(jù)庫和備份數(shù)據(jù)庫。查看 migscripts.out spool 文件,確認(rèn)腳本文件執(zhí)行成功,如果腳本文件沒有成功執(zhí)行,返回到腳本文件,檢查可能 出現(xiàn)的問題。方法 2: Oracle 數(shù)據(jù)移植助理 (Oracle data Migration Assistant)Oracle 數(shù)據(jù)移植助手用于將 Oracle7 數(shù)據(jù)庫移植到 Oracle8 數(shù)據(jù)庫。升級 Oracle8 數(shù)據(jù)庫較早版本到 Oracle8 數(shù)據(jù)庫 新版本。 Oracle 數(shù)據(jù)移植助手不用于升級較低版本 Oracle7 數(shù)據(jù)庫到較高版本 Oracle。
10、7 數(shù)據(jù)庫。使用 Oracle 數(shù)據(jù)移 植助手遷移 Oracle7 數(shù)據(jù)庫數(shù)據(jù)到 Oracle8i 的一般步驟是: 關(guān)閉 Oracle7 數(shù)據(jù)庫,終止所有 Oracle 數(shù)據(jù)庫服務(wù);編輯 init.ora 文件,設(shè)置 compatible 為 8.1.5.0.0;刪除 init.ora 文件中不再使用的參數(shù)。運(yùn)行 Oracle 數(shù)據(jù)移植助手,在 Database Instance 頁,選擇移植的數(shù)據(jù)庫實(shí)例,輸人 internal 用戶賬號密碼,并提供 init.ora 文件位置;在 Moving the Database 頁,指定數(shù)據(jù)庫移植的新位置;如果用戶還沒有進(jìn)行備份,在 Backup t。
11、heDatabase頁,允許用戶進(jìn)行數(shù)據(jù)庫備份;在Character Set頁,指定移植后的數(shù)據(jù)庫使用的字符集。開始移植過程。移植過程需要的時間取決于系統(tǒng)內(nèi)存容量、硬盤速度、 CPU 速度等因素。移植完成后,可以查看 Migration Report 頁,檢查移植是否成功執(zhí)行。如果移植沒有成功,應(yīng)當(dāng)把數(shù)據(jù)庫系統(tǒng)返回 到備份的 Oracle7 數(shù)據(jù)庫。編輯 init.ora 文件,添加在 Oracle8i 數(shù)據(jù)庫中會用到的參數(shù)。刪除在移植過程中用到的舊的控制文件。當(dāng)使用數(shù)據(jù)庫高級復(fù)制功能選項(xiàng)時,運(yùn)行catrep.sql;當(dāng)使用Oracle Parallel Server選項(xiàng)時,運(yùn)行 catpar。
12、r.sql。方法 3:導(dǎo)入 /導(dǎo)出工具( Export/Import )當(dāng)需要從一個非 PC的系統(tǒng)平臺(例如,Unix系統(tǒng))遷移數(shù)據(jù)庫時,導(dǎo)人/導(dǎo)出方式是一種非常有用的策略,當(dāng)然 相同系統(tǒng)平臺的數(shù)據(jù)遷移導(dǎo)人導(dǎo)出方式同樣適用。 采用導(dǎo)入導(dǎo)出方式遷移 Oracle7 Database on Unix 到 Oracle8i Database on Windows NT 數(shù)據(jù)庫的一般步驟是:以正常方式關(guān)閉 Unix 系統(tǒng)的 Oracle7 數(shù)據(jù)庫系統(tǒng),不要立即終止或者異常終止,然后冷備份數(shù)據(jù)庫。打開數(shù)據(jù)庫, 使用導(dǎo)出工具( Export Utility )進(jìn)行數(shù)據(jù)庫的完全導(dǎo)出。在 Windows NT。
13、 系統(tǒng)安裝 Oracle8i 數(shù)據(jù)庫軟件并創(chuàng)建啟動數(shù)據(jù)庫。使用FTP,將文件傳輸?shù)?Windows NT計算機(jī)。必須使用 FTP的binary傳輸模式,否則,可能造成讀導(dǎo)出轉(zhuǎn)儲文件 錯誤。確認(rèn)目標(biāo)數(shù)據(jù)庫在運(yùn)行,并在 DOS 命令提示符下設(shè)置 oracle_sid=Oracle8i_SID 。使用導(dǎo)出轉(zhuǎn)儲文件,執(zhí)行到目標(biāo)數(shù)據(jù)庫完全的導(dǎo)人。查看導(dǎo)入日志文件,確認(rèn)數(shù)據(jù)庫導(dǎo)入執(zhí)行成功。方法4 : SQI * Loader工具SQL * Loader可以將ASCII文件中的數(shù)據(jù)裝入 Oracle數(shù)據(jù)庫。ASCII文件中的信息可以來自不同的數(shù)據(jù)源,例如其他 Oracle 數(shù)據(jù)庫、非 Oracle 數(shù)據(jù)庫以。
14、及電子表格等。采用SQl * Loader工具將數(shù)據(jù)遷移到 Oracle數(shù)據(jù)庫的一般步驟有:使用文本文件編輯器創(chuàng)建控制文件。在 DOS 命令行下使用 sqlldr 命令裝載數(shù)據(jù)文件。驗(yàn)證數(shù)據(jù)是否正確裝載。方法 5: SQL* PLUS COPY 命令 使用SQL衣PLUS COPY命令,遷移Oracle7數(shù)據(jù)庫到 Oracle8i與導(dǎo)人/導(dǎo)出方式相似,但是,此時需要兩個數(shù)據(jù) 庫都在線,其一般步驟是:首先安裝 Oracle8i 數(shù)據(jù)庫,并創(chuàng)建一個數(shù)據(jù)庫作為目標(biāo)數(shù)據(jù)庫。添加所需的表空間和用戶到目標(biāo)數(shù)據(jù)庫中;安裝所需的SQL衣Net2或者Net8軟件,并配置用于連接數(shù)據(jù)庫的別名。在 DOS 命令提示。
15、符下設(shè)置 oracle_sid=Oracle7_sid 。以 Internal 用戶賬號連接 SQLPLUS。創(chuàng)建一個從Oracle7數(shù)據(jù)庫到Oracle8i數(shù)據(jù)庫的數(shù)據(jù)庫鏈接; 使用SQL* PLUS COPY命令從Oracle7數(shù)據(jù)庫復(fù)制表 和表內(nèi)容到 Oracle8i 數(shù)據(jù)庫。將視圖、同義詞、存儲過程等添加到目標(biāo)數(shù)據(jù)庫。方法 6:PowerBuilder 數(shù)據(jù)管道工具( Pipeline)PowerBuilder 數(shù)據(jù)管道工具是 PowerBuilder 提供的一個用于轉(zhuǎn)換數(shù)據(jù)的智能對象, 它可以在圖形方式下實(shí)現(xiàn)不同類 型數(shù)據(jù)庫間的數(shù)據(jù)遷移而無需 SQL 編程。 PowerBuilder。
16、 數(shù)據(jù)管道的操作是在圖形方式下實(shí)現(xiàn)的,因此比較簡單, 其一般步驟是:啟動 PowerBuilder 。點(diǎn)擊工具欄上的 “DBProfile 按鈕, 通過 ODBC 或?qū)S媒涌谂渲迷春湍繕?biāo)數(shù)據(jù)庫連接, 同時連接到源和目標(biāo)數(shù)據(jù)庫。單擊工具欄上的“ Pipeli ne按鈕,建一個新的數(shù)據(jù)管道,確定好源和目標(biāo)數(shù)據(jù)庫。選擇要傳輸數(shù)據(jù)的表,并根據(jù)需要選中想傳輸?shù)牧?。選擇數(shù)據(jù)遷移方式,Create- AddTable (在目標(biāo)庫中建立一個新表并復(fù)制數(shù)據(jù))、Replace- Drop/AddTable (刪除舊表并復(fù)制數(shù)據(jù))、Refresh DeleteRows (刪除表中的現(xiàn)有數(shù)據(jù)并復(fù)制數(shù)據(jù))、Append InsertRows (在現(xiàn)有數(shù)據(jù)基礎(chǔ)上增加新數(shù)據(jù)) 、 Update- Update/I nsertRows (新增數(shù)據(jù)的鍵值如果與現(xiàn)有數(shù)據(jù)某行的鍵值一樣則覆蓋現(xiàn)有數(shù)據(jù), 否則插入新數(shù)據(jù)) 。單擊“ Execute按鈕運(yùn)行定義好的數(shù)據(jù)管道完成數(shù)據(jù)遷移。
總結(jié)
以上是生活随笔為你收集整理的oracle怎么将一列挪到另一列,详细讲解Oracle数据库的数据迁移方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle expdp 多线程,Ora
- 下一篇: 数据库拆分过程及挑战