zt 跨平臺 跨版本 大規模資料遷移
ZT
===========================================================
作者: weiranjie(http://weiranjie.itpub.net)
發表於: 2008.09.05 14:21
分類: oracle 技術
出處: http://weiranjie.itpub.net/post/26925/470236
---------------------------------------------------------------
[@more@]發表於: 2008.09.05 14:21
分類: oracle 技術
出處: http://weiranjie.itpub.net/post/26925/470236
---------------------------------------------------------------
昨天在 pub 上看到一個問題,
oracle 9i 如果600G 的資料庫需要進行最短時間的跨平臺(windows 到unix) 停機(12 小時)遷移,該如何進行資料遷移 ?
請教了 biti
作了一下測試
prebuilt mv 做大表,
小表直接 dblink insert ,資料庫30分鐘足夠了
利用prebuilt mv實現跨平臺,跨版本資料遷移
該方法的實現原理是對於要遷移的表物件,需要有一個主鍵,用於mv的重新整理,對於符合該要求的表,在源表上建立mv日誌,再在目標資料庫上建立結構一樣的表,然後在目標表上採用prebuilt方式建立mv,第一次採用完全重新整理,之後採用增量重新整理,等真正要切換的時候,只需要重新整理完增量的日誌,刪除mv,保留目標表即可。需要重新整理的表都加上主鍵
基本思路的例子:
--1.在源庫上建立表和mview log
SQL> create table big_t1 as select * from dba_objects;
SQL> create table big_t1 as select * from dba_objects;
Table created.
SQL> select count(1) from big_t1;
COUNT(1)
----------
6170
----------
6170
SQL> create materialized view log on big_t1;
Materialized view log created.
--2.在目標資料庫上建立與該表一樣的表,並在該表上建立prebuilt mv
SQL> create table big_t1 as select * from where 1=2;
SQL> create table big_t1 as select * from where 1=2;
Table created.
SQL> select count(1) from big_t1;
COUNT(1)
----------
0
----------
0
SQL> create materialized view big_t1 on prebuilt table refresh fast as select * from
Materialized view created.
--3.做完全重新整理和增量重新整理
SQL> exec dbms_mview.refresh('BIG_T1','complete');
SQL> exec dbms_mview.refresh('BIG_T1','complete');
PL/SQL procedure successfully completed.
SQL> select count(1) from big_t1;
COUNT(1)
----------
6170
----------
6170
SQL>
--/*此時模擬在做完全重新整理過程中,源庫的表又發生了變化
SQL> insert into big_t1(object_id,owner) values(99991,'test');
SQL> insert into big_t1(object_id,owner) values(99991,'test');
1 row created.
SQL> commit;
Commit complete. */
--再做增量重新整理
SQL> select count(1) from big_t1;
SQL> select count(1) from big_t1;
COUNT(1)
----------
6170
SQL> exec dbms_mview.refresh('BIG_T1');
----------
6170
SQL> exec dbms_mview.refresh('BIG_T1');
PL/SQL procedure successfully completed.
SQL> select count(1) from big_t1;
COUNT(1)
----------
6171
----------
6171
--4.停機切換,做最後一次重新整理,然後刪除源庫的mview log和目標庫的mview
SQL> exec dbms_mview.refresh('BIG_T1');
PL/SQL procedure successfully completed.
SQL> drop materialized view big_t1; -----目標庫上
Materialized view dropped.
SQL> select count(1) from big_t1;
COUNT(1)
----------
6171
----------
6171
drop materialized view big_t1; -----目標庫上
drop materialized view big_t1 log on big_t1; -----目標庫上
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/82387/viewspace-1016689/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RMAN同位元組序跨平臺跨版本遷移資料庫資料庫
- RMAN同位元組序跨平臺跨版本遷移資料庫(一)資料庫
- RMAN同位元組序跨平臺跨版本遷移資料庫(二)資料庫
- 使用RMAN完成跨平臺資料遷移
- 利用RMAN跨平臺遷移資料庫資料庫
- rman進行跨平臺資料遷移
- 跨平臺遷移oracle資料庫指南Oracle資料庫
- [zt]跨平臺表空間傳輸 (DB遷移)
- 大型資料庫跨平臺遷移總結資料庫
- ORACLE 跨平臺遷移方法Oracle
- 資料庫中跨平臺遷移方法介紹資料庫
- 跨 OS 平臺遷移 Oracle DBOracle
- 跨平臺遷移支援檢視
- 用傳輸表空間跨平臺遷移資料
- 一個跨平臺資料遷移的方案優化優化
- hadoop 叢集 跨 版本資料遷移Hadoop
- 利用Oracle Data Guard完成跨平臺的資料庫遷移案例Oracle資料庫
- 應用RMAN Transportable Database進行資料庫跨平臺遷移Database資料庫
- 利用RMAN Convert database特性進行跨平臺遷移資料Database
- expdp/impdp 使用version引數跨版本資料遷移
- 【資料遷移】XTTS跨平臺傳輸表空間v4TTS
- Oracle跨平臺遷移的簡單總結Oracle
- datapump跨平臺升級遷移的總結
- elasticsearch跨叢集資料遷移Elasticsearch
- 使用 Velero 跨雲平臺遷移叢集資源到 TKE
- 騰訊上萬節點大規模叢集的跨城自動遷移
- GBASE助力山東移動大資料平臺PB級資料主倉業務跨機房無感知遷移大資料
- 【資料遷移】XTTS跨平臺傳輸表空間(1.傳統方式)TTS
- 資料庫跨平臺遷移方法彙總 (for EBS, Oracle10.2, 11.2)資料庫Oracle
- 同位元組序跨平臺資料庫遷移和升級的測試資料庫
- 12c跨平臺完成PDB的備份遷移
- RMAN備份恢復典型案例——跨平臺遷移pdb
- 利用CONVERT實現跨平臺表空間遷移
- 跨平臺表空間遷移(傳輸表空間)
- hp-ux利用rman將資料庫跨平臺遷移到aix平臺上UX資料庫AI
- 動手為王 | Oracle 資料庫跨版本升級遷移實踐Oracle資料庫
- 【資料遷移】XTTS跨平臺傳輸表空間v3(3.DFT方式)TTS
- 【資料遷移】XTTS跨平臺傳輸表空間v3(2.RMAN增量)TTS