Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk membuat pertanyaan apabila pangkalan data oracle telah diubah suai

Bagaimana untuk membuat pertanyaan apabila pangkalan data oracle telah diubah suai

下次还敢
下次还敢asal
2024-04-18 20:42:18397semak imbas

Pangkalan data Oracle menyediakan kaedah berikut untuk menanyakan masa pengubahsuaian jadual: LAST_CHANGE lajur pseudo: Mengembalikan cap waktu terakhir yang diubah suai bagi mana-mana rekod dalam jadual. Paparan USER_TAB_MODIFICATIONS: Menyimpan maklumat tentang perubahan struktur jadual, termasuk masa pengubahsuaian terakhir. Arahan JADUAL AUDIT: Mendayakan atau melumpuhkan pengauditan perubahan jadual dan merekodkan cap waktu operasi. PERTANYAAN FLASHBACK: Membolehkan anda melihat data pada masa tertentu dalam jadual, tetapi fungsi imbas kembali perlu didayakan.

Bagaimana untuk membuat pertanyaan apabila pangkalan data oracle telah diubah suai

Cara untuk menanyakan masa pengubahsuaian jadual dalam pangkalan data Oracle

Pangkalan data Oracle menyediakan pelbagai kaedah untuk menanyakan masa pengubahsuaian terakhir rekod dalam jadual atau jadual.

1. Gunakan lajur pseudo LAST_CHANGE

LAST_CHANGE untuk mengembalikan cap waktu terakhir yang diubah suai bagi mana-mana baris atau lajur dalam jadual.

<code class="sql">SELECT LAST_CHANGE FROM table_name;</code>
LAST_CHANGE 伪列返回表中任何行或列最后修改的时间戳。
<code class="sql">SELECT LAST_DDL_TIME FROM USER_TAB_MODIFICATIONS
WHERE TABLE_NAME = 'table_name';</code>

2. 使用 USER_TAB_MODIFICATIONS 视图

USER_TAB_MODIFICATIONS 视图存储有关表结构更改的信息,包括列修改、添加或删除索引等操作。

<code class="sql">AUDIT TABLE table_name;</code>

3. 使用 AUDIT TABLE 命令

AUDIT TABLE 命令可以启用或禁用对表更改的审核。启用后,数据库将记录所有 DML 操作(插入、更新和删除),包括操作的时间戳。

要启用审核:

<code class="sql">SELECT TIMESTAMP, OPERATION, USERNAME
FROM AUDIT_TRAIL
WHERE TABLE_NAME = 'table_name';</code>

要查询审核跟踪:

<code class="sql">SELECT * FROM table_name AS OF TIMESTAMP AS_OF_TIMESTAMP;</code>

4. 使用 FLASHBACK QUERY

FLASHBACK QUERY 功能允许您查看表或视图在特定时间点的数据。这可以用来查看表的修改历史。

rrreee

注意:

  • 对于 LAST_CHANGE 伪列,只有表中存在修改过的行时才返回有意义的值。
  • USER_TAB_MODIFICATIONS 视图将仅记录结构更改,而不记录数据更改。
  • AUDIT TABLE 命令需要管理员权限。
  • FLASHBACK QUERY
  • 2. Gunakan paparan USER_TAB_MODIFICATIONS
🎜🎜 pandanganUSER_TAB_MODIFICATIONS menyimpan maklumat tentang perubahan struktur jadual, termasuk operasi seperti pengubahsuaian lajur, menambah atau memadam indeks, dsb. 🎜rrreee🎜🎜3. Gunakan arahan AUDIT TABLE🎜🎜🎜 AUDIT JADUAL perintah untuk mendayakan atau melumpuhkan pengauditan perubahan jadual. Apabila didayakan, pangkalan data akan log semua operasi DML (sisipan, kemas kini dan pemadaman), termasuk cap waktu operasi. 🎜🎜Untuk mendayakan pengauditan: 🎜rrreee🎜Untuk menanyakan jejak audit: 🎜rrreee🎜🎜4 MENGGUNAKAN FLASHBACK QUERY🎜🎜🎜FLASHBACK QUERY membolehkan anda melihat data sesuatu jadual. titik masa tertentu. Ini boleh digunakan untuk melihat sejarah pengubahsuaian jadual. 🎜rrreee🎜🎜Nota: 🎜🎜
  • Untuk lajur pseudo LAST_CHANGE, nilai bermakna dikembalikan hanya jika terdapat baris yang diubah suai dalam jadual. 🎜
  • USER_TAB_MODIFICATIONS paparan hanya akan log perubahan struktur, bukan perubahan data. Perintah 🎜
  • JADUAL AUDIT memerlukan keistimewaan pentadbir. 🎜
  • FLASHBACK QUERY memerlukan fungsi imbas kembali didayakan dan kawasan imbas kembali yang mencukupi. 🎜🎜

Atas ialah kandungan terperinci Bagaimana untuk membuat pertanyaan apabila pangkalan data oracle telah diubah suai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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