在对已 DROP 的表进行 FLASHBACK 恢复时。若忘记表名,可通过什么方式来获得原表名?
admin show ddl jobs
该语句只能查询最近 10 条 ddl 语句,10 条 ddl 之前的 drop,就无法查询了。
admin show ddl jobs 99999 where job_type=‘drop table’;
这种方式可以吗?
有系统视图可以查吗?
可通过系统表 information_schema.ddl_jobs
来查。
select db_name,table_name,job_type,table_id,start_time from information_schema.ddl_jobs;
这是存储了所有的ddl(drop)记录,如何确定哪些可以flashback?
看gc safepoint,发现drop后第一时间调大gc保留时间,能不能恢复回来就看天意了
原来不知道 还可以这么查
information_schema.ddl_jobs
需要drop的时间大于safepoint时间,确保未被gc worker清理。在flashback这一特性上,与Oracle相比,差距较大。
是的,就依赖于safepoint时间了
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。