不重建快照的情况下可以修改主表如添加字段的

文章来源:延庆文学网  |  2021-10-29

通常如果需要对主表进行修改的话,如增加字段,修改字段数据类型;这要求我们将快照/复制停掉,甚至删除快照。这样给数据同步带来麻烦。特别是主表数据很多的话,通常采用的方法是将数据导出,再建立on prebuilt table,再导入数据,建立刷新环境。这需要很多时间和回滚段等资源,还容易出错。

我们采用prebuilt table创建的快照和物化视图可以避免这样的情况。

master table 是ade 已经建立了mlog

snapshot on prebuit table是ade;快照建立在prebuilt table是本方法的前提。

SQLshow user

SYS

在主表上添加字段,且之前作了刷新――保证主表和快照数据一致

SQL alter table ade add zb varchar2(20) default \'ab\';

Table altered.

删除快照,但on prebult table还在

SQL drop snapshot ade;

Materialized view dropped.

SQL select count(*) from slog$;

COUNT(*)

----------

0

在prebult table上添加字段,执行同样的ddl

SQL alter table ade add zb varchar2(20) default \'ab\';

Table altered.

SQL connect zhangbin/zhangbin

Connected.

重新创建快照

SQL create snapshot trade on prebuilt table as select * from ade;

Materialized view created.

快速刷新成功。

SQL execute dbms_fresh(\'trade\',\'fast\');

PL/SQL procedure successfully completed.

SQL show user

USER is \"ZHANGBIN\"

SQL update ade set zb=\'ddd\';

13 rows updated.

SQL commit;

Commit complete.

“钱从那里来?种子从那里来?生产工具从那里来?这里面肯定有相当一部分都必须要政府援助的了。”该专家表示 SQL execute dbms_fresh(\'trade\',\'fast\');

PL/SQL procedure successfully completed.

可以参考itpub讨论 ?s=threadid=330470

也有例子。

查看本文来源

江中黄芪生脉饮与同仁堂生脉饮哪种好
长沙妇科习惯性流产治疗费用多少钱
南京性病医院怎么样
友情链接