Oracle中檢視最近被修改過的表的方法

2021-09-02 16:49:40 字數 976 閱讀 6406

修改專案時,涉及到了oracle中許多表的修改(包括:增加、刪除字段,修改注釋等)。由於開始沒有進行記錄,造成在上測試機時,忘記了具體修改過哪些表了。後來在網上查詢了一些資料,例如: www.2cto.com

1、select uat.table_name from user_all_tables uat 該sql可以獲得所有使用者表的名稱

2、select object_name, created,last_ddl_time from user_objects 該sql可以獲得所有使用者物件(包括表)的建立和最後修改時間

綜合以上sql,總結了如下語句:

select uat.table_name as 表名,(select last_ddl_time from user_objects where object_name = uat.table_name ) as 最後修改日期

from user_all_tables uat

通過該語句,可以得到所有表的最後修改時間。(大家可以根據實際情況在該sql後面加上相應的條件表示式)

通過對查詢結果中最後修改時間的降序排列,就可以知道那些表的結構修改過了。

由於應用的bug導致部分資料字段被更新為空,發現時已經有兩個月了,這些字段內容挺重要的,如何才能找回這些資料呢?

rman只能恢復某個點的資料,因為在此期間不斷有insert,這些新增資料也會被update,因此任何一點的資料都不全,備份也是每天晚上備份,當天插入當天update的資料同樣無法恢復。

方法:不完全的恢復的就乙個rman,乙個是logminer,感覺logminer不現實,時間太長了,使用rman進行基於時間點的不完全恢復後,使用read only開啟資料庫,將需要的表,匯出,然後在使用rman進行資料庫的完全恢復,思路是這樣的,務必進行測試

oracle 中查詢某個表中某條記錄的修改記錄方法如下:

select * from v$sql where sql_text like 'update tablename%'

Oracle中檢視最近被修改過的表的方法

修改專案時,涉及到了oracle中許多表的修改 包括 增加 刪除字段,修改注釋等 由於開始沒有進行記錄,造成在上 測試機時,忘記了具體修改過哪些表了。後來在網上查詢了一些資料,例如 www.2cto.com 1 select uat.table name from user all tables u...

Oracle中檢視最近被修改過的表的方法

select uat.table name as 表名,select last ddl time from user objects where object name uat.table name and uat.tablespace name jmy aslast ddl time from u...

Oracle中檢視最近被修改過的表的方法

修改專案時,涉及到了oracle中許多表的修改 包括 增加 刪除字段,修改注釋等 由於開始沒有進行記錄,造成在上測試機時,忘記了具體修改過哪些表了。後來在網上查詢了一些資料,例如 1 select uat.table name from user all tables uat該sql可以獲得所有使用...