【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《oracle-shutdown时间过长》,欢迎阅读!
今天再次遇上shutdown immediate 等待很长时间,不得已shutdown abort。请参考引用:
ref:http://dbaoracle.itpub.net/post/901/55854 一次是数据库配置的高级复制有问题,shutdown immediate怎么也关闭不了数据库;shutdown abort完成
一次是冷备份前,shutdown immediate等了20分钟。最后总算出现了"database closed". 在asktom上看到一老帖,翻译如下
数据库oracle 8.1.6.2运行在hp-ux 11.0 and 我们使用如下策略进行数据库冷备份,
1.shutdown abort 2.startup
3.shutdown immediate
4. backup all files that belongs to db.
问题是,在步骤3,当我们shutdown immediate数据库的时候,它hung在那里很久。
alert log里面有信息 "SHUTDOWN: waiting for active
calls to complete."
可是这期间我们并没有运行什么作业。
且shutdown没有反应时 , ORA-03113 也会发生.
and we said...
最简单的方法就是不要关闭数据库进行冷备份,而进行热备份,无需关闭数据库。
我仅仅猜测。shutdown abort的时候,有非常大的事务在运行,数据库异常关闭aborted后,在启动数据库的时候,使用online redo log进行前滚roll forward.
数据库打开后,再由后台进程负责回滚roll back (SMON负责回滚).
然后步骤3.shutdown immediate 将会使数据库达到一致的状态. shutdown immediate必须等待后台进程SMON负责的回滚操作roll back完毕。因此这个等待可能需要很多时间。
因此,shutdown abort使接下来的shutdown immediate 等待很长时间。
Shutdown immediate 将使数据库内所有数据保持一致。它将活动的事务杀死,然后等待这些事务回滚完毕,然后关闭数据库。
和shutdown normal效果一样,shutdown immediate最终将数据库关闭并保证数据一致性。 你可以
alter system checkpoint; shutdown abort; startup restrict; shutdown immediate; 这样速度快点
alter system checkpoint是推荐的
但只是减少了重做redo的部分,所以可以使数据库很快的open 但是对于上面的事例并没有减少大事务会滚得操作,所以shutdown immediate的时候还是要会滚很长时间
不过anyway, 在shutdown前做checkpoint都是推荐的
本文来源:https://www.wddqxz.cn/04a1984233687e21af45a9f1.html