我在我的oracle數據庫的表中發現了一個新列,這個列在以前不存在。是否有任何方法可以查找何時更改了表。需要查找何時更改表
0
A
回答
3
你可以看一下在user_objects
,或all_objects
或dba_objects
的last_ddl_time
如果你沒有連接作爲所有者:
select last_ddl_time
from user_objects
where object_type = 'TABLE'
and object_name = '<your table name>'
或
select last_ddl_time
from dba_objects
where object_type = 'TABLE'
and owner = '<your table owner>'
and object_name = '<your table name>'
這會告訴你最後時間對桌子進行任何DDL;儘管如果稍後進行任何其他更改(例如約束,列修改等),那麼這可能不是列添加。請記住,所有者和表名稱需要與它們存儲在字典中的大小寫相同 - 通常爲大寫(除非使用帶引號的標識符)。
快速演示:
create table t42 (id number);
Table T42 created.
select to_char(last_ddl_time, 'YYYY-MM-DD hh24:MI:SS') as last_change
from user_objects
where object_type = 'TABLE'
and object_name = 'T42';
LAST_CHANGE
-------------------
2017-05-10 11:12:18
然後一段時間後...
alter table t42 add (new_column varchar(10));
Table T42 altered.
select to_char(last_ddl_time, 'YYYY-MM-DD hh24:MI:SS') as last_change
from user_objects
where object_type = 'TABLE'
and object_name = 'T42';
LAST_CHANGE
-------------------
2017-05-10 11:14:22
1
聽起來你在這之後:
SELECT last_ddl_time
FROM all_objects
WHERE object_name = 'YOUR_TABLENAME'
AND object_type = 'TABLE';
1
在Oracle 11g中& 12C我們可以啓用日誌記錄DLL
alter system set enable_ddl_logging=true;
的DDL日誌文件數據是以XML格式寫入位於... \log\ddl
相關問題
- 1. 需要查找表嗎?
- 2. 需要找到sql表如何更新
- 3. 何時需要在數據庫中添加表以查找值
- 4. 需要Mysql查詢(線程已更改)
- 5. 像需要更改
- 6. 查找對象需要多少時間?
- 7. 我什麼時候需要更改serialVersionUID?
- 8. 使用session_set_save_handler時需要更改session.save_handler
- 9. DataGridViewComboBox更改不需要的行時
- 10. os時區更改tomcat需要重啓
- 11. 需要根據時區更改Oracle sql查詢
- 12. 我需要更改選擇選項以使用mysql表查詢
- 13. MySQL表有更多的行,查找一行需要的時間越長
- 14. 需要使用變量查找表進行查找
- 15. 添加引用查找表,如果需要插入查找
- 16. 如何在Python中查找對象列表時更改屬性
- 17. 查詢bigquery需要更多時間
- 18. 加入查詢需要更多時間
- 19. 在元素更改時,是否需要更改CSS屬性?
- 20. 需要查找航班號
- 21. 需要查找屬性值
- 22. MySQL更改EMPTY表上的列名,需要很長時間
- 23. 需要更改Context.Xml文件
- 24. 需要更改schema.xml和solrconfig.xml
- 25. 需要更改C++代碼
- 26. mysql查詢需要修改
- 27. SQL查詢 - 需要改進
- 28. MySQL查詢需要改進
- 29. 需要修改此查詢
- 30. jQuery。查找更改