主頁 > 知識庫 > Oracle數(shù)據(jù)庫升級或數(shù)據(jù)遷移方法研究

Oracle數(shù)據(jù)庫升級或數(shù)據(jù)遷移方法研究

熱門標簽:山東crm外呼系統(tǒng)軟件 慧營銷crm外呼系統(tǒng)丹丹 哈爾濱電話機器人銷售招聘 地圖標注養(yǎng)老院 開發(fā)外呼系統(tǒng) 百度地圖標注途經(jīng)點 哪個400外呼系統(tǒng)好 愛客外呼系統(tǒng)怎么樣 圖吧網(wǎng)站地圖標注

一、數(shù)據(jù)庫升級的必要性
數(shù)據(jù)庫升級是數(shù)據(jù)庫管理員經(jīng)常要面對的問題,如果你的應用要使用新版本數(shù)據(jù)庫的新特性;如果數(shù)據(jù)庫運行負載過重,而通過軟硬件調(diào)整又不能有根本性的改善;如果要更換操作系統(tǒng)平臺;如果要增強數(shù)據(jù)庫的安全性;還有一個原因是隨著新版本數(shù)據(jù)庫的出現(xiàn)與成熟,oracle停止了對舊版本數(shù)據(jù)庫的技術(shù)支持,升級到高版本,可以繼續(xù)獲得oracle的支持,還可以利用新版本數(shù)據(jù)庫的新特新,可以改善系統(tǒng)的性能,健壯性,可擴張性和可用性,等等,面對這些問題,需要通過數(shù)據(jù)庫升級才得以解決。不過,如果你的系統(tǒng)運行穩(wěn)定,沒有大的性能瓶頸的話,還是不要輕易升級數(shù)據(jù)庫,因為升級一個產(chǎn)品數(shù)據(jù)庫會面臨很多風險.

二、數(shù)據(jù)庫升級或數(shù)據(jù)遷移情況分析
數(shù)據(jù)庫升級或數(shù)據(jù)遷移會遇到多種情況,一般有以下幾種情況:
1. 相同主機條件下,低版本數(shù)據(jù)庫向高版本數(shù)據(jù)庫的升級。
2. 數(shù)據(jù)庫有了新的補丁級,需要安裝新的補丁。
3. 更換了系統(tǒng)主機,如從windows更換為unix系統(tǒng),數(shù)據(jù)庫需要遷移。
4. 實現(xiàn)跨平臺,跨數(shù)據(jù)庫版本的遷移。
5. 32位數(shù)據(jù)庫升級到64為數(shù)據(jù)庫。
6. 標準版的數(shù)據(jù)庫升級到企業(yè)版的數(shù)據(jù)庫。

三、制定詳細的數(shù)據(jù)庫升級計劃
數(shù)據(jù)庫升級操作會面臨巨大的風險,因此在數(shù)據(jù)庫升級前制定詳細而周密的升級和測試計劃,反復驗證與測試升級數(shù)據(jù)庫的各個階段非常必要,這樣才能保證升級產(chǎn)品數(shù)據(jù)庫的各個階段可理解,可預測并能夠成功。一般來說,數(shù)據(jù)庫升級的測試計劃應該包括以下幾種測試類型:
1. 升級測試(Upgrade testing)
2. 最小化測試(Minimal testing)。
3. 功能測試(Functional testing)。
4. 集成測試(Integration testing)。
5. 性能測試(Performance testing)。
6. 容量與負載壓力測試(Volume and load stress testing)。
7. 特定的升級前后的測試(Specific Pre-Upgrade and Post-Upgrade Tests)。
8. 制定升級前的備份方案。
9. 升級步驟的反復測試(test the upgrade process)。
10.升級后的數(shù)據(jù)庫的測試(test the upgraded database)。
以上是數(shù)據(jù)庫升級前需要考慮和測試的問題,具體可以參考oracle數(shù)據(jù)庫提供的升級文檔,在此對各種要求的測試過程不做詳細討論。

四、數(shù)據(jù)庫升級準備
1.升級數(shù)據(jù)庫前首先要熟悉新數(shù)據(jù)庫的各種新特性,如:表空間、段的管理、參數(shù)的變化,內(nèi)存的管理,數(shù)據(jù)庫回閃特性,存儲的管理,sql優(yōu)化的改進等。
2.確定升級到新版本數(shù)據(jù)庫的升級路徑,升級到10gr2的路徑取決于當前數(shù)據(jù)庫的發(fā)行號(release number),很有可能不能從當前的數(shù)據(jù)庫版本升級到最新版本,這種情況首先升級到一個中間版本,然后再升級到最終的版本。例如:當前版本是oracle9.1.0.1,首先升級到oracle9.1.0.4,然后再從oracle9.1.0.4升級到oracle10gr2。
下表列出了各種版本升級到oracle10gr2的路徑:

3.選擇升級方法。
4.選擇oracle home目錄。
5.做好數(shù)據(jù)庫備份。

五、數(shù)據(jù)庫升級的各種方法討論
實現(xiàn)數(shù)據(jù)庫升級可以選擇多種方法,一般有:數(shù)據(jù)庫升級助手(database upgrade assistant),手工的腳本升級,exp/imp(exdmp/imdmp)工具,表空間傳輸特性(transportable tablespace),table copy,實體化視圖(material ized view)等技術(shù),在升級前,首先確定升級路徑,根據(jù)具體情況選擇合適的升級方法,對升級過程的各個階段進行測試。本文以軍衛(wèi)一號醫(yī)院信息系統(tǒng)為例,涉及的數(shù)據(jù)庫版本主要有oracle8i,oracle9i,oracle10gr2,操作系統(tǒng)平臺主要有windows2000,oracle unbreakable linux as 4等,主要實現(xiàn)oracle8i,oracle9i向oracle10gr2的升級過程,oracle8i,oracle9i運行在windows2000上,oracle10gr2主要運行在windows2000,oracle unbreakable linux as 4兩種平臺,我使用以上各種方法對各種升級過程都做了測試。以下詳細介紹這些方法的升級過程。

1、手工腳本升級
手工腳本升級在命令行運行一些sql腳本和工具,手工升級對升級過程提供了更多的控制,但是如果沒有遵循嚴格的升級步驟,在升級過程中容易出錯,它與dbua一樣只能在相同的操作系統(tǒng)平臺間跨數(shù)據(jù)庫版本升級,對于不同的os平臺不能使用,而且升級需要遵循嚴格的升級路徑。
本測試從oracle9.2.0.1升級到oracle10.2.0.3,由于oracle9.2.0.1不能直接升級到oracle10.2.0.3,首先對oracle9.2.0.1安裝補丁(補丁號p3095277_9204_WINNT)升級到oracle9.2.0.4,然后oracle9.2.0.4再升級到oracle10.2.0.3。以下是升級的測試過程:
1.安裝oracle 10g r2的軟件。
2.打oracle 10g最新的補丁,我打的是升級到10.2.0.2(補丁號p4547817_10202_WINNT)和10.2.0.3(補丁號p5948242_10203_WINNT)的補丁,關(guān)于如何安裝oracle補丁程序,需要認真閱讀每個補丁程序提供的readme,按照readme的步驟進行安裝。
3.運行Pre-Upgrade Information Tool.分析升級到10g前要做的一些操作,包括:
數(shù)據(jù)庫版本、日志文件大小、 表空間大小、 服務器選項、 初始化參數(shù)(新增的,降級的,廢棄的)、數(shù)據(jù)庫組件 、sysaux表空間、 集群信息等分析。升級前要解決該腳本生成的各種問題。
啟動要升級的DB,用SYSDBA運行10g的ORACLE_HOME/rdbms/admin下的utlu102i.sql,查看產(chǎn)生的日志.
SQL> SPOOL info.log
SQL> @utlu102i.sql
SQL> SPOOL OFF

copy oracle 9i的pfile(D:oracleora92databaseINITzhangye.ORA)到oracle 10g的pfile(D:oracle10gdatabaseINITzhangye.ORA),檢查info.log,對oracle 10g的pfile修改.
4.運行Oracle Net Configuration Assistant,生成10g的listener.ora
5.rman備份DB.
6.stop所有oracle 9i的服務.
刪除oracle 9i的服務. C:> ORADIM -DELETE -SID test
新建oracle 10g的服務 C:> ORADIM -NEW -SID orcl -MAXUSERS 10 -STAMODE AUTO -PFILE D:oracle10gdatabaseINITzhangye.ORA
7.UPGRADE選項啟動DB. SQL> STARTUP UPGRADE
8.創(chuàng)建SYSAUX表空間CREATE TABLESPACE sysaux DATAFILE 'D:oracleoradatazhangyesysaux01.dbf'
SIZE 500M REUSE
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO
ONLINE;
9.運行10g的ORACLE_HOME/rdbms/admin/catupgrd.sql,然后運行utlu102s.sql查看升級結(jié)果.
SQL> SPOOL upgrade.log
SQL> @catupgrd.sql
SQL> @utlu102s.sql
SQL> SPOOL OFF
檢查upgrade.log,如果有錯誤,處理錯誤后再次運行catupgrd.sql.
10.重新啟動DB,編譯無效對象.
SQL> shutdown immediate
SQL> startup pfile=D:oracle10gdatabaseINITzhangye.ORA
SQL> @D:oracle10gRDBMSADMINutlrp.sql
編譯后沒有無效對象,升級完成。
SQL> SELECT count(*) FROM dba_objects WHERE status='INVALID';

2、數(shù)據(jù)庫升級助手dbua:
dbua是一個圖形工具,它自動化了以上手工升級的所有過程。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Oracle 日志挖掘(LogMiner)使用詳解
  • Oracle LogMiner的使用實例代碼
  • 理解和使用Oracle 8i分析工具LogMiner
  • oracle數(shù)據(jù)遷移到db2數(shù)據(jù)庫的實現(xiàn)方法(分享)
  • mysql數(shù)據(jù)遷移到Oracle的正確方法
  • 直接拷貝數(shù)據(jù)文件實現(xiàn)Oracle數(shù)據(jù)遷移
  • oracle 數(shù)據(jù)庫數(shù)據(jù)遷移解決方案
  • Oracle通過LogMiner實現(xiàn)數(shù)據(jù)同步遷移

標簽:武漢 周口 甘肅 和田 固原 青島 開封 承德

巨人網(wǎng)絡通訊聲明:本文標題《Oracle數(shù)據(jù)庫升級或數(shù)據(jù)遷移方法研究》,本文關(guān)鍵詞  Oracle,數(shù)據(jù)庫,升級,或,數(shù)據(jù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oracle數(shù)據(jù)庫升級或數(shù)據(jù)遷移方法研究》相關(guān)的同類信息!
  • 本頁收集關(guān)于Oracle數(shù)據(jù)庫升級或數(shù)據(jù)遷移方法研究的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章