Startup Upgrade为我们做了什么?

源:http://www.askmaclean.com/archives/startup-upgrade%E4%B8%BA%E6%88%91%E4%BB%AC%E5%81%9A%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%9F.html

从Oracle 10g以后数据库升级前我们都需要将实例关闭,并以startup upgrade的升级模式启动数据库。那么startup upgrade到底对instance做了什么事?在这样的模式下升级可以绕过那些错误呢?

就常规判断可以猜测startup upgrade升级模式至少会限制以下几点:

  1. 关闭自动作业队列
  2. 关闭回收站功能
  3. 禁用系统触发器
  4. 以限制模式启动,仅允许以SYSDBA身份登录

为了了解更多的细节,我们不妨直观地来观察以下升级模式对比普通模式有哪些不同之处:

SQL> startup upgrade;

以升级模式启动后观察告警日志内容:
Starting ORACLE instance (normal)

以上信息表明虽然是upgrde模式,但其实仍是以NORMAL启动
...........
ALTER SYSTEM enable restricted session;

实例mount之后启用了限制会话特性

ALTER SYSTEM SET _system_trig_enabled=FALSE SCOPE=MEMORY;

_system_trig_enabled参数控制一些系统触发器是否被启用,例如某些登录审计触发器
(system trigger facilities are used as an additional audit trail or as a mechanism to prevent
certain actions taking place or as part of a virtual private database solution)

ALTER SYSTEM SET aq_tm_processes=0 SCOPE=MEMORY;

设置aq_tm_processes参数为0,相当于禁用了对信息队列的监控和控制

ALTER SYSTEM SET resource_manager_plan='' SCOPE=MEMORY;

升级期间显然不需要任何resource plan来凑热闹

ALTER SYSTEM SET _undo_autotune=FALSE SCOPE=MEMORY;

设置隐藏参数_undo_autotune为false,禁用undo自动调优特性

ALTER SYSTEM SET undo_retention=900 SCOPE=MEMORY;

900似乎一直是undo保存的理想值

ALTER SYSTEM SET enable_ddl_logging=FALSE SCOPE=MEMORY;

在11g中增加了新的DDL日志功能,这里需要通过设置enable_ddl_logging为false来禁用该特性

ALTER SYSTEM SET recyclebin=‘OFF’ DEFERRED SCOPE=MEMORY;

在10g下似乎不会关闭回收站,但其实这一点很有必要;

Completed: ALTER DATABASE OPEN MIGRATE

这里可以看到startup upgrade只是migrate模式的发展

除去以上部分初始化参数的修正外,upgrade升级模式下还会“隐瞒“不报一部分常见的非致命错误,这些常见错误并不影响升级进程;
这样做的用意是为了让在升级过程中只有真正致命(fatal)的错误才被反映和记录下来。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值