Rumah > Artikel > pangkalan data > Bagaimana untuk membuat pertanyaan apabila pangkalan data oracle telah diubah suai
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.
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
<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
功能允许您查看表或视图在特定时间点的数据。这可以用来查看表的修改历史。
注意:
LAST_CHANGE
伪列,只有表中存在修改过的行时才返回有意义的值。USER_TAB_MODIFICATIONS
视图将仅记录结构更改,而不记录数据更改。AUDIT TABLE
命令需要管理员权限。FLASHBACK QUERY
USER_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🎜🎜🎜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!