使用prebuilt table 方式遷移資料
使用物化檢視的 ON PREBUILT TABLE 這樣的一種方式進行同步遷移資料。
SQL>desc T1
Name Null? Type
------------------------------------------- -------- --------------------------------------------------------
A NOT NULL VARCHAR2(10)
B VARCHAR2(5)
SQL>select index_name from user_indexes where table_name='T1';
INDEX_NAME
------------------------------
T1_A_IND
1 row selected.
SQL>
SQL>create table T2 as select * from T1 where 1=2;
Table created.
SQL>create materialized view log on T1;
Materialized view log created.
SQL>create materialized view T2 on prebuilt table refresh fast as select * from T1;
Materialized view created.
SQL>exec dbms_mview.refresh('T2','Complete');
PL/SQL procedure successfully completed.
SQL>select * from T2;
no rows selected
SQL>insert into T1 values('1','2');
1 row created.
SQL>commit;
Commit complete.
SQL>select * from T2;
no rows selected
SQL>exec dbms_mview.refresh('T2','Complete');
PL/SQL procedure successfully completed.
SQL>select * from T2;
A B
---------- -----
1 2
1 row selected.
SQL>delete from T2;
delete from T2
*
ERROR at line 1:
ORA-01732: data manipulation operation not legal on this view
SQL>drop materialized view T2;
Materialized view dropped.
SQL>select * from T2;
A B
---------- -----
1 2
1 row selected.
SQL>delete from T2;
1 row deleted.
SQL>rollback;
Rollback complete.
SQL>
在原表上建立log,再建一張目標表,然後再建一個和目標表名稱一樣的物化檢視,然後執行同步即可。此時對t2表(其實是對物化檢視操作的)進行的查詢操作是可以的,但是刪除更新插入不能夠執行,會報ERROR at line 1:ORA-01732: data manipulation operation not legal on this view。當重新整理完畢後可以刪除物化檢視,此時表t2是不受影響的,這樣就使用oracle的內部方式完成了資料遷移。[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7312700/viewspace-1001636/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [zt]prebuilt 物化檢視遷移資料庫UI資料庫
- 【遷移】使用rman遷移資料庫資料庫
- 使用 on prebuilt table 建立物化檢視 (ZT)UI
- 使用 on prebuilt table 建立物化檢視(zt)UI
- 【資料遷移】使用傳輸表空間遷移資料
- 資料庫遷移的幾個方式資料庫
- BIEE 目錄遷移(資料夾)方式
- mview on prebuilt table用法嘗試ViewUI
- 用begin backup的方式遷移資料庫資料庫
- mongodb資料遷移2種方式比較MongoDB
- 1.0 ORACLE到MYSQL資料遷移方式選型OracleMySql
- 使用RMAN進行資料遷移
- 使用expdp、impdp遷移資料庫資料庫
- 使用資料庫冷備份方式進行資料庫遷移,資料庫檔案遷移到不同的目錄資料庫
- 遷移資料.
- 利用offline datafile檔案方式遷移資料
- Oracle官方推薦的資料遷移方式評估Oracle
- 【DATAPUMP】使用DataPump遷移Oracle資料庫Oracle資料庫
- 使用資料泵(expdp、impdp)遷移資料庫流程資料庫
- Kafka資料遷移Kafka
- 資料庫遷移資料庫
- redis資料遷移Redis
- 轉資料遷移
- ORACLE 資料遷移Oracle
- DXWB 資料遷移
- 資料的遷移
- Harbor資料遷移
- 【資料遷移】RMAN遷移資料庫到ASM(三)遷移onlinelog等到ASM資料庫ASM
- 使用impdp,expdp資料泵進入海量資料遷移
- Laravel migration (資料庫遷移) 的使用Laravel資料庫
- 使用RMAN完成跨平臺資料遷移
- 使用RMAN進行Oracle資料庫遷移Oracle資料庫
- 使用RMAN執行oracle ASM資料遷移OracleASM
- 使用RMAN遷移資料庫到異機資料庫
- 使用資料泵遷移遇到的問題
- 使用SqlBulkCopy批量插入或遷移資料(轉)SQL
- 使用bulkCollect解決資料遷移問題
- 資料遷移(1)——通過資料泵表結構批量遷移