用prebuild mv 方法遷移資料
/*
用prebuild mv 方法遷移資料
原理:用perbuild方法建立的物化檢視,在drop物化檢視時,不會把其對應的基表刪除。
好處:主要是利用物化檢視增量重新整理的方法減小down機時間。
*/
--步驟
--1 在目的資料庫端建立DB LINK
create database link test_tag_group
connect to test_tag_group identified by test_tag_group
using '201';
--2 在源資料庫端建立物化檢視日誌,用於物化檢視快速重新整理
SQL> create materialized view log on prebuild_table;
Materialized view log created
--3 在目標資料庫端建立與源庫一樣的表結構的空表
SQL> create table prebuild_table as select * from where 1=2;
Table created
/*
也可以用9i的DBMS_METADATA.GET_DDL分別得到表、索引、約束的DDL。
select DBMS_METADATA.GET_DDL('TABLE',TABLE_NAME) from USER_TABLES;
select DBMS_METADATA.GET_DDL('INDEX',INDEX_NAME) from USER_INDEXES;
select DBMS_METADATA.GET_DDL('CONSTRAINT',CONSTRAINT_NAME) from USER_CONSTRAINTS;
注意:為了提高效率,應在所有資料重新整理後在應用索引和約束。建立的順序應該是 表->索引->約束
如果是9i的話推薦用這種方法。
*/
--4 在目標資料庫建立prebuild mv
SQL> CREATE MATERIALIZED VIEW prebuild_table
2 on
3 prebuilt table
4 REFRESH FAST WITH PRIMARY KEY for update
5 AS SELECT * FROM ;
Materialized view created
--5 重新整理物化檢視資料
SQL> exec dbms_snapshot.refresh('prebuild_table');
PL/SQL procedure successfully completed
--6 刪除物化檢視
SQL> drop materialized view prebuild_table;
Materialized view dropped
--7 用以前發過的一個過程同步序列
SQL>exec p_sync_sequence;
/*
prebuild mv與EXP/IMP比較
1、prebuild mv適用於停機時間很短的大資料量的資料遷移
2、EXP/IMP操作簡單,但需要較長的停機時間
3、一般來說,用prebuilt mv的方法是在空閒時間先對大表重新整理,然後在把應用停止,對目標資料庫的物化檢視執行增量重新整理,這樣就大大減小了down機時間。
對小表可以直接適用insert into xxx select * from ;
*/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/231499/viewspace-63719/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mysql資料遷移方法MySql
- 伺服器資料遷移的方法-硬體不同如何遷移資料伺服器
- 用rman遷移資料庫資料庫
- Hbase實用技巧:全量+增量資料的遷移方法
- 1.1資料庫物件結構遷移方法資料庫物件
- mysql 備份與遷移 資料同步方法MySql
- Kafka資料遷移Kafka
- Harbor資料遷移
- gitlab資料遷移Gitlab
- 資料庫遷移資料庫
- 用begin backup的方式遷移資料庫資料庫
- 深究mv移動資料夾時`/`的用法
- 資料遷移(1)——通過資料泵表結構批量遷移
- Oracle資料庫升級或資料遷移的方法探討Oracle資料庫
- 瞄準大資料遷移三大方法,掌握資料權大資料
- 【Hive】hive資料遷移Hive
- 【Redis】 redis資料遷移Redis
- redis資料庫遷移Redis資料庫
- congregate遷移gitlab資料Gitlab
- 系統資料遷移
- 資料庫遷移 :理解資料庫
- laravel資料庫遷移Laravel資料庫
- Fastdfs資料遷移方案AST
- SpringBoot資料庫管理 - 用Liquibase對資料庫管理和遷移?Spring Boot資料庫UI
- 【遷移】SqlServer 遷移到 MySQL 方法ServerMySql
- 使用dbeaver 用csv 檔案進行資料遷移
- linux mysql資料庫遷移LinuxMySql資料庫
- django資料庫遷移-15Django資料庫
- geoserver資料儲存遷移Server
- 資料庫遷移手記資料庫
- 遷移MySQL 5.7資料庫MySql資料庫
- 資料庫遷移神器——Flyway資料庫
- Redis migrate 資料遷移工具Redis
- dm資料庫遷移命令資料庫
- SQL Server資料庫遷移SQLServer資料庫
- SAP資料遷移需要多久?
- 資料遷移方案選擇
- AWS RDS Oracle資料遷移Oracle