FLUSH_MODIFY_LOG
📄字数 694
👁️阅读量 加载中...
功能描述
同步等候变更日志的写盘动作。
注意
- 函数需结合变更记载功能使用,详见系统包DBMS_REPLICATION
- 函数仅支持在变更角色节点执行,其他角色节点将返回
false
语法格式
sql
FLUSH_MODIFY_LOG()输入参数
- 无输入参数。
输出结果
BOOLEAN 类型,刷盘成功时返回 true,刷盘失败则返回 false。
执行类型
| TYPE | VALUE | 说明 |
|---|---|---|
| NATIVE | 0 | 函数只能在本地计算 |
| VOLATI | 0 | 函数的每次计算值不同 |
| STABLE | 0 | 函数的每次计算值相同 |
| COMPUTE | 0 | 函数支持预计算取值 |
| NOT_CONST | 0 | 函数不支持转常数 |
| HAVE_DEF | 0 | 函数参数有默认值 |
示例
sql
-- G角色节点建立连接后,开启当前库级变更记载功能。
SQL> EXEC DBMS_REPLICATION.CREATE_MODIFY_SOURCE('*','*');
-- 创建订阅者s1
SQL> EXEC DBMS_REPLICATION.CREATE_SUBSCRIBER('s1', 'SYSDBA');
-- 执行DML操作(建表)
SQL> CREATE TABLE tb_test(id int);
-- 同步等候变更日志的写盘动作。
SQL> SELECT FLUSH_MODIFY_LOG() FROM dual;
+-------+
| EXPR1 |
+-------+
| T |
+-------+
-- 解析处理变更记载日志
SQL> EXEC DBMS_REPLICATION.POLL_MODIFY_DATA('s1', 0, null, 1024*1024, false, -1, 0);
-- 删除测试表
SQL> DROP TABLE tb_test;
-- 删除订阅者s1
SQL> EXEC DBMS_REPLICATION.DROP_SUBSCRIBER('s1', 'SYSDBA');
-- 关闭当前库级变更记载功能
SQL> EXEC DBMS_REPLICATION.DROP_MODIFY_SOURCE('*','*');
-- 提交变更
SQL> COMMIT;