Rumah > pangkalan data > Oracle > teks badan

Contoh terperinci migrasi penyegerakan data Oracle melalui LogMiner

WBOY
Lepaskan: 2022-03-30 11:16:55
ke hadapan
2048 orang telah melayarinya

Artikel ini membawakan anda pengetahuan yang berkaitan tentang Oracle, yang terutamanya memperkenalkan isu yang berkaitan dengan pemindahan penyegerakan data Oracle melalui LogMiner Berikut ialah pengenalan tentang cara mencapai penyegerakan data Oracle , harap ia membantu semua orang.

Contoh terperinci migrasi penyegerakan data Oracle melalui LogMiner

Tutorial yang disyorkan: "Tutorial Oracle"

Ditulis di hadapan

Baru-baru ini mengkaji cara untuk Untuk mencapai penyegerakan data antara pangkalan data Oracle, memang terdapat sedikit maklumat di Internet. Alat penyegerakan pangkalan data Oracle terbaik ialah: GoldenGate, dan GoldenGate dicaj. Jadi adakah terdapat cara yang baik untuk menyegerakkan data Oracle? Betul, LogMiner digunakan untuk melaksanakan migrasi penyegerakan data Oracle.

Proses pelaksanaan

1 Cipta direktori

Buat /home/oracle/tools/oracle11g/oradata/orcl/ pada pelayan Direktori LOGMNR untuk menyimpan maklumat kamus untuk pangkalan data, seperti yang ditunjukkan di bawah.

mkdir -p /home/oracle/tools/oracle11g/oradata/orcl/LOGMNR
Salin selepas log masuk

2. Konfigurasikan LogMiner

Log masuk ke pelayan sebagai pengguna oracle dan log masuk ke pangkalan data Oracle sebagai DBA, seperti yang ditunjukkan di bawah.

sqlplus /nolog
conn  / as sysdba
Salin selepas log masuk

Seterusnya, buat konfigurasi folder kamus seperti yang ditunjukkan di bawah.

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;
Salin selepas log masuk

Nota: Memandangkan utl_file_dir hanya wujud dalam fail, skop ditulis dalam mod fail "spfile", bukan kedua-duanya.

3 Hidupkan mod tambah log

alter database add supplemental log data;
Salin selepas log masuk

Hanya selepas menghidupkannya anda boleh melihat rekod operasi DML, jika tidak, anda hanya boleh melihat DML

4 Mulakan semula pangkalan data

SHUTDOWN IMMEDIATE;  STARTUP;
Salin selepas log masuk

5. Buat pengguna penyegerakan data

Buat data. pengguna penyegerakan Jika anda sudah mempunyainya, anda boleh melangkauinya secara langsung.

create user SYNC identified by SYNC;  #如果存在用户,则不需要再次创建,直接授权即可GRANT CONNECT,RESOURCE,DBA,EXECUTE_CATALOG_ROLE TO SYNC;
Salin selepas log masuk

6. Buat kamus data

Tukar kepada pengguna yang ingin menyegerakkan data, log masuk sebagai DBA dan buat fail kamus data seperti yang ditunjukkan di bawah.

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

Arahan untuk mencipta kamus data juga boleh dilaksanakan melalui kod Java Jika ia dilaksanakan menggunakan kod Java, anda boleh mula-mula menyambung ke pangkalan data Oracle melalui JDBC, dan kemudian laksanakan arahan berikut.

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

7. Tambahkan fail log yang perlu dianalisis

Langkah ini boleh dilakukan pada baris arahan Oracle atau dilaksanakan menggunakan kod Java.

Gunakan pernyataan SQL untuk mencapai seperti yang ditunjukkan di bawah.

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);
Salin selepas log masuk

Apabila menggunakan analisis kod Java, pernyataan SQL yang digunakan adalah seperti berikut.

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;
Salin selepas log masuk

8 Lihat fail log yang sedang digunakan

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

Fail log dengan status SEMASA ialah fail log yang sedang digunakan

9. Gunakan Lominer untuk menganalisis log

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

Apabila menggunakan analisis kod Java, pernyataan SQL yang digunakan adalah seperti berikut.

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

10 Lihat hasil analisis

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

Nota: Hasil analisis dalam paparan v$logmnr_contents hanya tersedia apabila kami menjalankan proses 'dbms_logmrn. start_logmnr' wujud sepanjang hayat sesi Jika anda ingin melihat log baharu, anda perlu menyertai semula fail log analisis dan menggunakan LogMiner untuk menganalisisnya.

11 Soalan Lazim

(1) Jika "Pengecam 'SYS.DBMS_LOGMNR' mesti diisytiharkan" berlaku, anda perlu mencipta pengguna selepas Berikan EXECUTE_CATALOG_ROLE kebenaran kepada pengguna seperti yang ditunjukkan di bawah.

GRANT CONNECT,RESOURCE,DBA,EXECUTE_CATALOG_ROLE TO SYNC;
Salin selepas log masuk

(2) Pada masa ini, anda perlu menentukan pengguna yang sepadan untuk seg_owner dalam pernyataan pertanyaan Sebagai contoh, jika saya menggunakan pengguna SYNC untuk menganalisis melalui LogMiner, anda perlu menentukan seg_owner sebagai. pengguna SYNC, seperti yang ditunjukkan di bawah .

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

Tutorial yang disyorkan: "Tutorial Video Oracle"

Atas ialah kandungan terperinci Contoh terperinci migrasi penyegerakan data Oracle melalui LogMiner. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:csdn.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan