对于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 过程已成功完成。 www.ixdba.net 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
在包含LONG类型的表上建立物化视图
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Dolphinscheduler不重启加载Oracle驱动
原創
2024-05-28 21:22:10
云原生周刊:Flux 2.3 发布 | 2024.5.20
原創
2024-05-20 23:16:26
14 hive安装
osc_pjx77r92
2024-05-14 00:41:14
从 Oracle 到 TiDB,国有大行打造本地生活 APP 新体验
原創
2024-05-13 11:16:38
TiDB + ES:转转业财系统亿级数据存储优化实践
原創
2024-05-13 11:16:34
MySQL 社区经理:MySQL 8.4 InnoDB 参数默认值为什么要这么改?
原創
2024-05-06 23:20:21
lightdb操作出错:ERROR: current transaction is aborted, commands ignored until end of transaction block
原創
2024-05-05 21:55:25
银行核心背后的落地工程体系丨Oracle - TiDB 数据迁移详解
原創
2024-04-30 22:24:59
从NoSQL到NewSQL——10年代大数据浪潮下的技术革新
原創
2024-04-28 23:12:26
原来 pt-osc 改表是这样实现的!原理详解【附场景案例】
原創
2024-06-06 11:58:38
MySQL 核心模块揭秘 | 16 期 | InnoDB 表锁
原創
2024-05-17 12:02:59
MySQL 核心模块揭秘 * 19 期 * 锁模块里有什么?什么样?
原創
2024-06-06 11:58:40
peewee的动态Model
原創
2024-05-31 21:48:26
24小時熱門文章