久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      實例詳解通過LogMiner實現(xiàn)Oracle數(shù)據(jù)同步遷移

      本篇文章給大家?guī)砹岁P(guān)于Oracle的相關(guān)知識,其中主要介紹了關(guān)于通過LogMiner實現(xiàn)Oracle數(shù)據(jù)同步遷移的相關(guān)問題,下面就來介紹一下怎么實現(xiàn)oracle的數(shù)據(jù)同步,希望對大家有幫助。

      實例詳解通過LogMiner實現(xiàn)Oracle數(shù)據(jù)同步遷移

      推薦教程:《Oracle教程》

      寫在前面

      最近在研究如何實現(xiàn)Oracle數(shù)據(jù)庫之間的數(shù)據(jù)同步,網(wǎng)上的資料確實比較少。最好用的Oracle數(shù)據(jù)庫同步工具是:GoldenGate ,而GoldenGate是要收費的。那么還有什么好的辦法來同步Oracle的數(shù)據(jù)嗎?沒錯,就是使用LogMiner來實現(xiàn)Oracle數(shù)據(jù)同步遷移。

      實現(xiàn)過程

      1.創(chuàng)建目錄

      在服務(wù)器上創(chuàng)建/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR目錄來存儲數(shù)據(jù)庫的字典信息,如下所示。

      mkdir -p /home/oracle/tools/oracle11g/oradata/orcl/LOGMNR

      2.配置LogMiner

      以oracle用戶身份登錄服務(wù)器,并以DBA身份登錄Oracle數(shù)據(jù)庫,如下所示。

      sqlplus /nolog conn  / as sysdba

      接下來,創(chuàng)建字典文件夾配置,如下所示。

      CREATE DIRECTORY utlfile AS '/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR';alter system set utl_file_dir='/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR' scope=spfile;

      注意:由于utl_file_dir只存在于文件當中,所以scope是以文件方式"spfile"寫入,而不是both。

      3.開啟日志追加模式

      alter database add supplemental log data;

      只有開啟后才能看到DML操作記錄,否則只能看見DML

      4.重啟數(shù)據(jù)庫

      SHUTDOWN IMMEDIATE;  STARTUP;

      5.創(chuàng)建數(shù)據(jù)同步用戶

      創(chuàng)建數(shù)據(jù)同步用戶,如果已經(jīng)有可以跳過,直接賦予權(quán)限。

      create user SYNC identified by SYNC;  #如果存在用戶,則不需要再次創(chuàng)建,直接授權(quán)即可GRANT CONNECT,RESOURCE,DBA,EXECUTE_CATALOG_ROLE TO SYNC;

      6.創(chuàng)建數(shù)據(jù)字典

      切換到要同步數(shù)據(jù)的用戶,以DBA身份登錄,創(chuàng)建數(shù)據(jù)字典文件,如下所示。

      conn SYNC/SYNC@orcl as sysdba;  EXECUTE dbms_logmnr_d.build(dictionary_filename => 'dictionary.ora', dictionary_location =>'/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR');

      創(chuàng)建數(shù)據(jù)字典的命令也可以通過Java代碼來實現(xiàn),如果使用Java代碼實現(xiàn)的話,首先可以通過JDBC連接到Oracle數(shù)據(jù)庫,然后執(zhí)行如下命令。

      BEGIN dbms_logmnr_d.build(dictionary_filename => 'dictionary.ora', dictionary_location =>'/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR');  END;

      7.加入需要分析的日志文件

      此步驟可以在Oracle命令行執(zhí)行,也可以使用Java代碼實現(xiàn)。

      使用SQL語句實現(xiàn)如下所示。

      EXECUTE dbms_logmnr.add_logfile(logfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/REDO01.LOG',options=>dbms_logmnr.NEW);  EXECUTE dbms_logmnr.add_logfile(logfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/REDO02.LOG',options=>dbms_logmnr.ADDFILE);  EXECUTE dbms_logmnr.add_logfile(logfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/REDO03.LOG',options=>dbms_logmnr.ADDFILE);

      使用Java代碼分析時,使用的SQL語句如下所示。

      BEGIN   dbms_logmnr.add_logfile(logfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/REDO01.LOG',options=>dbms_logmnr.NEW);  dbms_logmnr.add_logfile(logfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/REDO02.LOG',options=>dbms_logmnr.ADDFILE);  dbms_logmnr.add_logfile(logfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/REDO03.LOG',options=>dbms_logmnr.ADDFILE);  END;

      8.查看正在使用的日志文件

      SELECT group#, sequence#, status, first_change#, first_time FROM V$log ORDER BY first_change#;

      status為CURRENT的為當前正在使用的日志文件

      9.使用Lominer分析日志

      EXECUTE dbms_logmnr.start_logmnr(dictfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR/dictionary.ora');

      使用Java代碼分析時,使用的SQL語句如下所示。

      BEGIN dbms_logmnr.start_logmnr(dictfilename=>'/home/oracle/tools/oracle11g/oradata/orcl/LOGMNR/dictionary.ora'); END;

      10.查看分析結(jié)果

      SELECT sql_redo, sql_undo, seg_owner FROM v$logmnr_contents WHERE seg_name='EMP' AND seg_owner='SYNC';

      注意:視圖v$logmnr_contents中的分析結(jié)果僅在我們運行過程’dbms_logmrn.start_logmnr’這個會話的生命期中存在,如果要查看新的日志,需要再重新加入分析日志文件、使用LogMiner分析。

      11.常見問題

      (1)如果出現(xiàn)“必須聲明標識符 ‘SYS.DBMS_LOGMNR’”異常,則需要在創(chuàng)建用戶后,為用戶賦予EXECUTE_CATALOG_ROLE權(quán)限,如下所示。

      GRANT CONNECT,RESOURCE,DBA,EXECUTE_CATALOG_ROLE TO SYNC;

      (2)此時在查詢語句中需要為seg_owner指定相應(yīng)的用戶,例如,我這里使用SYNC用戶通過LogMiner進行分析,則需要將seg_owner指定為SYNC用戶,如下所示。

      SELECT sql_redo, sql_undo, seg_owner FROM v$logmnr_contents WHERE seg_name='EMP' AND seg_owner='SYNC';

      推薦教程:《Oracle視頻教程》

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號