about materialized view and long(turn)
對於LONG型別的限制很多,不過對於高階複製來說,很多的LONG型別相關的問題都是可以解決的。
對於多主複製,包含LONG型別相對比較麻煩,需要首先修改表結構,將LONG型別轉變為LOB型別。對於物化檢視,就相對簡單很多,不需要修改基表的資料型別。
首先,如果不需要同步LONG型別的欄位,那麼不需要進行任何的修改,只有在物化檢視的建立過程中不包括LONG欄位就可以了。
如果需要包含LONG欄位,那麼只需要在建立物化檢視的時候對LONG型別執行TO_LOB操作,這樣就可以順利建立物化檢視。
當然,建立的物化檢視包含的是LOB欄位。
具體例子如下:
SQL> CREATE TABLE TEST_LONG (ID NUMBER PRIMARY KEY, LONG_COL LONG);
表已建立。
SQL> CREATE MATERIALIZED VIEW LOG ON TEST_LONG;
實體化檢視日誌已建立。
SQL> CREATE MATERIALIZED VIEW MV_TEST_LONG REFRESH FAST AS SELECT * FROM TEST_LONG;
CREATE MATERIALIZED VIEW MV_TEST_LONG REFRESH FAST AS SELECT * FROM TEST_LONG
*第 1 行出現錯誤:
ORA-00997: 非法使用 LONG 資料型別
SQL> CREATE MATERIALIZED VIEW MV_TEST_LONG REFRESH FAST AS SELECT ID FROM TEST_LONG;
實體化檢視已建立。
SQL> DROP MATERIALIZED VIEW MV_TEST_LONG;
實體化檢視已刪除。
SQL> CREATE MATERIALIZED VIEW MV_TEST_LONG REFRESH FAST AS SELECT ID, TO_LOB(LONG_COL) LONG_COL
2 FROM TEST_LONG;
實體化檢視已建立。
SQL> INSERT INTO TEST_LONG VALUES (1, 'ABCDEFG');
已建立 1 行。
SQL> SELECT * FROM TEST_LONG;
ID LONG_COL
---------- ------------------------------------------------------------
1 ABCDEFG
SQL> COMMIT;
提交完成。
SQL> EXEC DBMS_MVIEW.REFRESH('MV_TEST_LONG')
PL/SQL 過程已成功完成。
SQL> SELECT * FROM MV_TEST_LONG;
ID LONG_COL
---------- ------------------------------------------------------------
1 ABCDEFG
SQL> UPDATE TEST_LONG SET LONG_COL = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' WHERE ID = 1;
已更新 1 行。
SQL> COMMIT;
提交完成。
SQL> EXEC DBMS_MVIEW.REFRESH('MV_TEST_LONG');
PL/SQL 過程已成功完成。
SQL> SELECT * FROM MV_TEST_LONG;
ID LONG_COL
---------- ------------------------------------------------------------
1 ABCDEFGHIJKLMNOPQRSTUVWXYZ
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14844492/viewspace-1040226/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Materialized ViewZedView
- [DW]An article about Materialized Views(zz)ZedView
- drop materialized view hung !!!ZedView
- materialized view 的總結ZedView
- materialized view (物化檢視)ZedView
- 利用materialized view同步資料ZedView
- materialized view基礎知識ZedView
- Materialized View Logs (190)ZedView
- Oracle vs PostgreSQL Develop(20) - Materialized ViewOracleSQLdevZedView
- Synonym_View_Materialized和Public物件ViewZed物件
- How to Monitor the Progress of a Materialized View Refresh (MVIEW)ZedView
- 建立物化檢視MV ( Materialized View )ZedView
- 11g中的materialized view logZedView
- 轉:物化檢視(Materialized View)介紹ZedView
- mv(materialized view)的一點測試ZedView
- 【MW】Drop Materialized View Hangs with 'Enq: JI - Contention'ZedViewENQ
- oracle10g materialized view物化檢視示例OracleZedView
- ogg 同步 物化檢視建立限制 Materialized ViewZedView
- 建立Materialized view log時是否使用sequence clause的差別ZedView
- 跨DB主機抓取資料建議用MATERIALIZED VIEWZedView
- materialized view的fast和日誌分析和一則案例ZedViewAST
- oracle10g nested materialized view巢狀物化檢視示例OracleZedView巢狀
- zt_yangtinkung_ITPUB知識索引貼——物化檢視materialized view索引ZedView
- Data Warehouse Guide閱讀筆記(八):materialized view之一GUIIDE筆記ZedView
- 物化檢視(Materialized View)的重新整理回滾約束ZedView
- 物化檢視(Materialized View)的重新整理回滾測試ZedView
- 物化檢視日誌(materialized view log)引起大量Dfs Lock Handle等待ZedView
- oracle10g partition分割槽表與物化檢視materialized viewOracleZedView
- setting up materialized view sites for oracle10g advanced replication mvZedViewOracle
- flashback與dmt tbs以及trigger,materialized view log之間的關係!ZedView
- REST is not enabled. use -rest to turn onREST
- About HTMLHTML
- About interviewView
- About Personality
- About IndexDBIndex
- about bapiAPI
- about me
- Overview of Materialized Views (184)ViewZed