我正在使用Oracle Database 11.2。我遇到的情况是我FLASHBACK DATABASE经常发布。似乎一个FLASHBACK DATABASE周期会重新启动数据库实例,这大约需要花费大约30%的时间。我的设置需要7秒。
数据库很小(〜1 GB表空间),所有文件应位于I / O缓存/缓冲区中。因此,我认为瓶颈不是基于I / O的。
我正在寻找调整建议,以节省执行闪回的用户时间和/或CPU时间。
更新:
闪回序列(以及每个步骤的时序)如下:
1. Get SYSDBA connection with prelim_auth=true [15 ms]
2. SHUTDOWN ABORT; [1034 ms]
3. STARTUP (unrestricted) [1241 ms]
4. Close SYSDBA connection [2 ms]
5. Get SYSDBA connection with prelim_auth=false [18 ms]
6. ALTER DATABASE MOUNT [4073 ms]
7. FLASHBACK DATABASE TO RESTORE POINT <restore_point_name> [306 ms]
8. ALTER DATABASE OPEN RESETLOGS [1652 ms]
9. CLOSE SYSDBA connection [2 ms]
Run Code Online (Sandbox Code Playgroud) 我没有使用where子句进行数据库更新,并且没有进行任何备份就提交了.表中的所有行都会更新.有没有办法回滚这些变化?
DB是Oracle SQL的一个.请帮忙.
我们有一个具有大量活动的特定表,它会创建大量的更改记录.结果是闪回数据只能回溯几天.对于许多情况来说这是可以的,但访问更多历史数据将是有益的.
我们想要限制我们的一个高活动表上的日志记录.或者完全禁用它.我想我们可以通过表空间来做到这一点,我对如何进行这些更改没有太多了解.
我在我的工作上犯了一个可怕的错误,我在没有'where'子句的oracle表上执行了更新的查询,并且在此表上更改了所有内容,我想知道是否有任何方法可以恢复表上的数据.我知道我可以使用Flashback,但还有另一种方法吗?如果您知道如何在oracle中制作闪回表,请告诉我.
我正在使用Oracle 10g R2 10.2.0.1
我已经改变了Oracle中列的大小,现在我想获得该列的prev大小,所以无论如何我们都可以得到该列的prev大小.
谢谢.