文档解释
ORA-38706: Cannot turn on FLASHBACK DATABASE logging.
Cause: An ALTER DATABASE FLASHBACK ON command failed. Other messages in the alert log describe the problem.
Action: Fix the problem and retry.
Oracle提供的FLASHBACK DATABASE机制可以实现按时间间隔回滚数据库,但是首先要打开其相关的日志记录,当试图打开FLASHBACK DATABASE logging时,如果发现系统打开了ARCHIVELOG模式(ARCHIVELOG模式必须打开,FLASHBACK DATABASE才能生效),但实际上没有启用FLASHBACK ARCHIVE,(FLASHBACK ARCHIVE必须启用FLASHBACK DATABASE才能生效),就会出现ORA-38706的错误。
官方解释
ORA-38706: Flashback Database logging is not enabled due to constraints
错误原因:
可能的原因是,要启用FLASHBACK DATABASE logging,ARCHIVELOG模式必须打开,并必须另外创建一个FLASHBACK ARCHIVE。这就是ORA-38706的原因。
常见案例
一般是由于没有正确设置ARCHIVELOG模式和FLASHBACK ARCHIVE导致的,该错误会出现在执行ALTER DATABASE FLASHBACK ON语句时。
一般处理方法及步骤
1.检查是否已经开启ARCHIVELOG模式:
select log_mode from v$database;
2.如果没有开启ARCHIVELOG模式,请使用如下语句开启ARCHIVELOG模式:
alter database archivelog;
3. 建立FLASHBACK ARCHIVE
create flashback archive tablespace retention ;
4.再使用如下语句开启FLASHBACK DATABASE logging:
alter database flashback on;