调整Oracle数据库以加快启动速度(闪回)

我正在使用Oracle数据库11.2。 我有一个场景,我经常发出FLASHBACK DATABASE。 似乎一个FLASHBACK DATABASE周期会重新启动数据库实例,这大约需要花费几分钟的时间。我的设置时间为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]

解决方案

  1. 启动

    a.实现大页面

    b.设置STATISTICS_LEVEL=BASIC

  2. 挂载

    A.只使用一个控制文件。不要多路传输。

    B.最大限度地减少数据文件和临时文件的数量。使用大文件表空间。

    C.从跟踪重新创建控制文件。省略不必要的项目。

  3. 重置日志

    A.每个重做日志组仅使用一个日志文件。不要多路传输。

    b.仅创建2个重做日志组。

    c.最小化每个重做日志的大小。

但是,这些选项会影响可靠性和可管理性。

相关文章