Maison  >  Article  >  base de données  >  Comment demander quand la base de données Oracle a été modifiée

Comment demander quand la base de données Oracle a été modifiée

下次还敢
下次还敢original
2024-04-18 20:42:18405parcourir

La base de données Oracle fournit la méthode suivante pour interroger l'heure de modification de la table : Pseudo-colonne LAST_CHANGE : renvoie l'horodatage du dernier horodatage modifié de n'importe quel enregistrement de la table. Vue USER_TAB_MODIFICATIONS : stocke des informations sur les modifications de la structure de la table, y compris l'heure de la dernière modification. Commande AUDIT TABLE : active ou désactive l'audit des modifications de table et enregistre les horodatages des opérations. REQUÊTE FLASHBACK : Vous permet d'afficher les données à un moment précis du tableau, mais la fonction flashback doit être activée.

Comment demander quand la base de données Oracle a été modifiée

Comment interroger l'heure de modification d'une table dans la base de données Oracle

La base de données Oracle fournit une variété de méthodes pour interroger l'heure de la dernière modification des enregistrements dans une table ou une table.

1. Utilisez la pseudo-colonne LAST_CHANGE

LAST_CHANGE pour renvoyer le dernier horodatage modifié de n'importe quelle ligne ou colonne du tableau. LAST_CHANGE 伪列返回表中任何行或列最后修改的时间戳。

<code class="sql">SELECT LAST_CHANGE FROM table_name;</code>

2. 使用 USER_TAB_MODIFICATIONS 视图

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

<code class="sql">SELECT LAST_DDL_TIME FROM USER_TAB_MODIFICATIONS
WHERE TABLE_NAME = 'table_name';</code>

3. 使用 AUDIT TABLE 命令

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

要启用审核:

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

要查询审核跟踪:

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

4. 使用 FLASHBACK QUERY

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

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

注意:

  • 对于 LAST_CHANGE 伪列,只有表中存在修改过的行时才返回有意义的值。
  • USER_TAB_MODIFICATIONS 视图将仅记录结构更改,而不记录数据更改。
  • AUDIT TABLE 命令需要管理员权限。
  • FLASHBACK QUERYrrreee
2. Utilisez la vue USER_TAB_MODIFICATIONS 🎜🎜🎜La vue USER_TAB_MODIFICATIONS stocke des informations sur les modifications de la structure de la table, y compris les opérations telles que les modifications de colonnes, l'ajout ou la suppression d'index, etc. 🎜rrreee🎜🎜3. Utilisez la commande AUDIT TABLE🎜🎜🎜AUDIT TABLE pour activer ou désactiver l'audit des modifications de la table. Lorsqu'elle est activée, la base de données enregistrera toutes les opérations DML (insertions, mises à jour et suppressions), y compris l'horodatage des opérations. 🎜🎜Pour activer l'audit : 🎜rrreee🎜Pour interroger la piste d'audit : 🎜rrreee🎜🎜4. UTILISER LA REQUETE FLASHBACK🎜🎜🎜La fonction FLASHBACK QUERY vous permet d'afficher les données d'une table ou d'une vue dans un moment précis dans le temps. Cela peut être utilisé pour afficher l’historique des modifications d’une table. 🎜rrreee🎜🎜Remarque : 🎜🎜
  • Pour la pseudo-colonne LAST_CHANGE, les valeurs significatives ne sont renvoyées que s'il y a des lignes modifiées dans le tableau. La vue 🎜
  • USER_TAB_MODIFICATIONS enregistrera uniquement les modifications de structure, pas les modifications de données. La commande 🎜
  • AUDIT TABLE nécessite des privilèges d'administrateur. 🎜
  • FLASHBACK QUERY nécessite que la fonction flashback soit activée et une zone de flashback suffisante. 🎜🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn