Oracle之DataBase闪回
Flashback Database 功能非常类似与RMAN的不完全恢复, 它可以把整个数据库回退到过去的某个时点的状态, 这个功能依赖于Flashba
Flashback Database 功能非常类似与RMAN的不完全恢复, 它可以把整个数据库回退到过去的某个时点的状态, 这个功能依赖于Flashback log 日志。 比RMAN更快速和高效。 因此Flashback Database 可以看作是不完全恢复的替代技术。 但它也有某些限制:
1. Flashback Database 不能解决Media Failure, 这种错误RMAN恢复仍是唯一选择
2. 如果删除了数据文件或者利用Shrink技术缩小数据文件大小,这时不能用Flashback Database技术回退到改变之前的状态,这时候就必须先利用RMAN把删除之前或者缩小之前的文件备份restore 出来, 然后利用Flashback Database 执行剩下的Flashback Datbase。
3. 如果控制文件是从备份中恢复出来的,或者是重建的控制文件,也不能使用Flashback Database。
4. 使用Flashback Database锁能恢复到的最早的SCN, 取决与Flashback Log中记录的最早SCN。
具体操作步骤如下:
1、开启Flashback Database的准备条件
a)、参数开关
select flashback_on,force_logging from v$database;
FLASHBACK_ON FORCE_LOGGING
------------ -------------
NO NO
打开方法如下:
shutdown immediate;
startup mount;
alter database archivelog;
alter database flashback on;
alter database open;
alter database force logging;
到此,闪回数据库的2个参数FLASHBACK_ON和FORCE_LOGGING均打开;
b)、闪回文件存放位置db_recovery_file
show parameter db_recovery_file;
设置闪回区文件存放路径和大小:
alter system set db_recovery_file_dest='/dba/fb' scope=both; --默认的路径位置一般不改变
alter system set db_recovery_file_dest_size=6G scope=both;
c)、设置可闪回时长
alter system set db_flashback_retention_target =1440 scope=both;
该参数用来控制flashback log 数据保留的时间,或者说,你希望flashback database 能够恢复的最早的时间点。
默认值是1440,单位是minute,即24 小时,需要注意的是该参数虽然未直接指定flash recovery area大小,但却受其制约,
举个例子假如数据库每天有10%左右的数据变动的话,如果该初始化参数值设置为1440,则flash recovery area 的大小至少要是当前数据库实际容量的10%,
如果该初始化参数设置为2880,则flash recovery area 的大小就至少是数据库所占容量的20%。
到此,数据库闪回条件已经准备完毕。
2、闪回最早时间的查看,若闪回的时刻比oldest_flashback_time还早,会报日志不足的错误.
select t.oldest_flashback_scn, t.oldest_flashback_time from v$flashback_database_log t ;
3、闪回操作
shutdown immediate;
startup mount;
Flashback database to timestamp to_timestamp('2013-11-23 11:41:16','yy-mm-dd hh24:mi:ss'); --此时刻不能早于前面查出来的闪回最早时间
4、 打开数据库:
在执行完flashback database 命令之后,Oracle 提供了两种方式让你修复数据库:
1). 直接alter database open resetlogs 打开数据库,当然,指定scn 或者timestamp 时间点之后产生的数据统统丢失。--此种方法等于是把数据库改到历史时间点了,闪回时间点后的一切都会消失。
2). 先执行alter database open read only 命令以read-only 模式打开数据库,,然后立刻通过逻辑导出的方式将误操作涉及表的数据导出,
再执行recover database 命令以重新应用数据库产生的redo,将数据库修复到flashback database 操作前的状态,
操作如下:
alter database open read only;
PL/SQL工具,右击对象名,导出丢失的数据;
shutdown immediate;
startup mount;
recover database;--用redo日志进行数据库恢复,取消了闪回对数据库的影响;
alter database open;
说明:
执行recover database时 ,Oracle会以当前controlfile所纪录的SCN为准,利用archive log和 redo log的redo entry, 把相关的datafile 的 block恢复到“当前controlfile所纪录的SCN”。
相关阅读:
Oracle 11g flashback Data Archive(闪回数据归档)
Oracle flashback闪回机制
flashback table快速恢复误删除的数据
Oracle 备份恢复:flashback闪回
[Oracle]闪回flashback功能的使用

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Bahasa Go ialah bahasa pengaturcaraan yang cekap, ringkas dan mudah dipelajari Ia digemari oleh pembangun kerana kelebihannya dalam pengaturcaraan serentak dan pengaturcaraan rangkaian. Dalam pembangunan sebenar, operasi pangkalan data adalah bahagian yang sangat diperlukan Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Dalam bahasa Go, kami biasanya menggunakan perpustakaan pihak ketiga untuk mengendalikan pangkalan data, seperti pakej sql yang biasa digunakan, gorm, dsb. Di sini kami mengambil pakej sql sebagai contoh untuk memperkenalkan cara melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Andaikan kami menggunakan pangkalan data MySQL.

Pemetaan polimorfik hibernate boleh memetakan kelas yang diwarisi ke pangkalan data dan menyediakan jenis pemetaan berikut: subkelas bercantum: Cipta jadual berasingan untuk subkelas, termasuk semua lajur kelas induk. table-per-class: Cipta jadual berasingan untuk subkelas, yang mengandungi hanya lajur khusus subkelas. union-subclass: serupa dengan joined-subclass, tetapi jadual kelas induk menggabungkan semua lajur subclass.

Keluaran terbaharu Apple bagi sistem iOS18, iPadOS18 dan macOS Sequoia telah menambah ciri penting pada aplikasi Photos, yang direka untuk membantu pengguna memulihkan foto dan video yang hilang atau rosak dengan mudah disebabkan pelbagai sebab. Ciri baharu ini memperkenalkan album yang dipanggil "Dipulihkan" dalam bahagian Alat pada apl Foto yang akan muncul secara automatik apabila pengguna mempunyai gambar atau video pada peranti mereka yang bukan sebahagian daripada pustaka foto mereka. Kemunculan album "Dipulihkan" menyediakan penyelesaian untuk foto dan video yang hilang akibat kerosakan pangkalan data, aplikasi kamera tidak disimpan ke pustaka foto dengan betul, atau aplikasi pihak ketiga yang menguruskan pustaka foto. Pengguna hanya memerlukan beberapa langkah mudah

HTML tidak boleh membaca pangkalan data secara langsung, tetapi ia boleh dicapai melalui JavaScript dan AJAX. Langkah-langkah termasuk mewujudkan sambungan pangkalan data, menghantar pertanyaan, memproses respons dan mengemas kini halaman. Artikel ini menyediakan contoh praktikal menggunakan JavaScript, AJAX dan PHP untuk membaca data daripada pangkalan data MySQL, menunjukkan cara untuk memaparkan hasil pertanyaan secara dinamik dalam halaman HTML. Contoh ini menggunakan XMLHttpRequest untuk mewujudkan sambungan pangkalan data, menghantar pertanyaan dan memproses respons, dengan itu mengisi data ke dalam elemen halaman dan merealisasikan fungsi HTML membaca pangkalan data.

Cara menggunakan MySQLi untuk mewujudkan sambungan pangkalan data dalam PHP: Sertakan sambungan MySQLi (require_once) Cipta fungsi sambungan (functionconnect_to_db) Fungsi sambungan panggilan ($conn=connect_to_db()) Laksanakan pertanyaan ($result=$conn->query()) Tutup sambungan ( $conn->close())

Untuk mengendalikan ralat sambungan pangkalan data dalam PHP, anda boleh menggunakan langkah berikut: Gunakan mysqli_connect_errno() untuk mendapatkan kod ralat. Gunakan mysqli_connect_error() untuk mendapatkan mesej ralat. Dengan menangkap dan mengelog mesej ralat ini, isu sambungan pangkalan data boleh dikenal pasti dan diselesaikan dengan mudah, memastikan kelancaran aplikasi anda.

PHP ialah bahasa pengaturcaraan bahagian belakang yang digunakan secara meluas dalam pembangunan laman web Ia mempunyai fungsi operasi pangkalan data yang kuat dan sering digunakan untuk berinteraksi dengan pangkalan data seperti MySQL. Walau bagaimanapun, disebabkan kerumitan pengekodan aksara Cina, masalah sering timbul apabila berurusan dengan aksara Cina bercelaru dalam pangkalan data. Artikel ini akan memperkenalkan kemahiran dan amalan PHP dalam mengendalikan aksara bercelaru bahasa Cina dalam pangkalan data, termasuk punca biasa aksara bercelaru, penyelesaian dan contoh kod khusus. Sebab biasa aksara bercelaru ialah tetapan set aksara pangkalan data yang salah: set aksara yang betul perlu dipilih semasa mencipta pangkalan data, seperti utf8 atau u

Menggunakan fungsi panggil balik pangkalan data di Golang boleh mencapai: melaksanakan kod tersuai selepas operasi pangkalan data yang ditentukan selesai. Tambah tingkah laku tersuai melalui fungsi berasingan tanpa menulis kod tambahan. Fungsi panggil balik tersedia untuk operasi memasukkan, mengemas kini, memadam dan pertanyaan. Anda mesti menggunakan fungsi sql.Exec, sql.QueryRow atau sql.Query untuk menggunakan fungsi panggil balik.
