调整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]
解决方案
启动
a.实现大页面
b.设置STATISTICS_LEVEL=BASIC
挂载
A.只使用一个控制文件。不要多路传输。 B.最大限度地减少数据文件和临时文件的数量。使用大文件表空间。 C.从跟踪重新创建控制文件。省略不必要的项目。重置日志
A.每个重做日志组仅使用一个日志文件。不要多路传输。b.仅创建2个重做日志组。
c.最小化每个重做日志的大小。
但是,这些选项会影响可靠性和可管理性。
相关文章