关键词

通过LogMiner实现Oracle数据库同步迁移

一、准备工作

  1. 安装Oracle数据库
  2. 配置Oracle Broker
  3. 配置归档模式
  4. 启用日志归档
  5. 配置TNS Name

二、安装LogMiner

  1. 确认数据库版本
  2. 安装Oracle客户端
  3. 确认是否安装ODBC驱动,或者安装驱动
  4. 安装LogMiner

三、使用LogMiner同步迁移数据

  1. 创建日志挖掘目标
  2. 启动LogMiner
  3. 挖掘日志
  4. 挖掘数据的限制条件

示例一:同步迁移数据

  1. 创建日志挖掘目标:
BEGIN
    DBMS_LOGMNR_D.BUILD (DICTFILENAME => '/u01/app/oracle/redodict.ora',
                         DICTIONARY_ENCODING => 'WE8ISO8859P1');
END;
/
  1. 启动LogMiner:
BEGIN
  DBMS_LOGMNR.START_LOGMNR(STARTTIME => SYSDATE - 1,
                           ENDTIME => SYSDATE,
                           OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG +
                                       DBMS_LOGMNR.CONTINUOUS_MINE +  
                                       DBMS_LOGMNR.NO_SQL_DELIMITER +
                                       DBMS_LOGMNR.NO_ROWID_IN_STMT);
END;
/
  1. 挖掘日志:
SELECT SQL_REDO 
FROM V$LOGMNR_CONTENTS 
WHERE OPERATION = 'INSERT' 
AND SEG_OWNER = 'SCOTT' 
AND SEG_NAME = 'EMP';

示例二:限制条件挖掘数据

  1. 创建日志挖掘目标:
BEGIN
    DBMS_LOGMNR_D.BUILD (DICTFILENAME => '/u01/app/oracle/redodict.ora',
                         DICTIONARY_ENCODING => 'WE8ISO8859P1');
END;
/
  1. 启动LogMiner:
BEGIN
  DBMS_LOGMNR.START_LOGMNR(STARTTIME => SYSDATE - 1,
                           ENDTIME => SYSDATE,
                           OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG +
                                       DBMS_LOGMNR.CONTINUOUS_MINE +  
                                       DBMS_LOGMNR.NO_SQL_DELIMITER +
                                       DBMS_LOGMNR.NO_ROWID_IN_STMT);
END;
/
  1. 指定时间范围和限制条件之后,挖掘日志:
SELECT SQL_REDO 
FROM V$LOGMNR_CONTENTS 
WHERE OPERATION = 'INSERT' 
AND USERNAME = 'SCOTT';

四、注意事项

  1. 需要满足最小的Oracle版本要求
  2. 确保Oracle Broker已启用
  3. 确保数据库处于归档模式
  4. 确保TNS Name和Oracle客户端正常配置
  5. 需要具备适当的Oracle权限,以获取必要的日志信息,否则操作会受限制。
  6. 使用DBMS_LOGMNR_D.BUILD创建字典文件来分析日志。

以上就是通过LogMiner实现Oracle数据库同步迁移的完整攻略,包括准备工作、安装LogMiner、使用LogMiner同步迁移数据、注意事项等方面的内容。

本文链接:http://task.lmcjl.com/news/14088.html

展开阅读全文