当前位置: 首页 > news >正文

oracle 非常规启动总结-tmp1 - a

oracle 非常规启动总结-tmp1

Posted on 2026-03-11 15:30  a-speed  阅读(0)  评论(0)    收藏  举报
总结下oracle 非常规启动的手段和方法
 
 
我来总结 Oracle 非常规启动(Non-Default Startup)的各种手段和方法。这些技术通常用于数据库恢复、故障处理或特殊维护场景。
基于搜索结果和 Oracle 官方文档,我为您总结 Oracle 非常规启动(Non-Default Startup)的各种手段和方法:

Oracle 非常规启动手段总结

一、分阶段启动(Stage-based Startup)

Table
 
启动阶段命令用途可执行操作
NOMOUNT STARTUP NOMOUNT 仅启动实例,不加载控制文件 创建数据库、重建控制文件、恢复控制文件
MOUNT STARTUP MOUNT 或 ALTER DATABASE MOUNT 加载控制文件,不打开数据文件 备份恢复、重命名数据文件、启用归档模式、修改数据文件状态
OPEN STARTUP 或 ALTER DATABASE OPEN 完全打开数据库(默认) 正常业务操作
分步启动示例:
sql
Copy
-- 逐步启动(用于维护)
STARTUP NOMOUNT;
ALTER DATABASE MOUNT;
ALTER DATABASE OPEN;-- 或反向操作
ALTER DATABASE CLOSE;    -- 回到 MOUNT
ALTER DATABASE DISMOUNT; -- 回到 NOMOUNT
 

二、特殊模式启动

1. FORCE 强制启动

sql
Copy
STARTUP FORCE;
-- 等效于:SHUTDOWN ABORT + STARTUP
 
用途: 数据库无法正常关闭时的紧急启动,强制终止实例后重新启动
 

2. RESTRICT 限制模式

sql
Copy
-- 启动时限制
STARTUP RESTRICT;-- 或已启动后限制
ALTER SYSTEM ENABLE RESTRICTED SESSION;
 
特点: 仅允许具有 RESTRICTED SESSION 权限的用户(SYSDBA)连接
 

3. READ ONLY 只读模式

sql
Copy
STARTUP OPEN READ ONLY;
-- 或
ALTER DATABASE OPEN READ ONLY;
 
用途: 报表查询、Data Guard 备库、测试环境,禁止写操作但允许恢复
 

4. RECOVER 恢复模式

sql
Copy
STARTUP OPEN RECOVER;
 
功能: 启动时自动执行介质恢复(Media Recovery),等效于 RECOVER DATABASE + STARTUP
 

三、升级/降级专用启动

1. UPGRADE 升级模式

sql
Copy
STARTUP UPGRADE;
 
内部自动执行:
 
  • ALTER SYSTEM ENABLE RESTRICTED SESSION(限制会话)
  • ALTER SYSTEM SET _system_trig_enabled=FALSE(禁用系统触发器)
  • ALTER SYSTEM SET aq_tm_processes=0(关闭作业队列)
  • ALTER SYSTEM SET recyclebin='OFF'(关闭回收站)
  • ALTER SYSTEM SET resource_manager_plan=''(禁用资源管理)
  • ALTER SYSTEM SET _undo_autotune=FALSE(禁用Undo自动调优)

2. DOWNGRADE 降级模式

sql
Copy
STARTUP DOWNGRADE;
 
用途: 数据库版本降级操作

四、PDB(可插拔数据库)特殊启动

sql
Copy
-- 连接到 CDB$ROOT 后启动指定 PDB
ALTER PLUGGABLE DATABASE pdb1 OPEN;
ALTER PLUGGABLE DATABASE pdb1 OPEN READ ONLY;
ALTER PLUGGABLE DATABASE pdb1 OPEN RESTRICTED;
ALTER PLUGGABLE DATABASE pdb1 OPEN FORCE;-- 启动所有 PDB
ALTER PLUGGABLE DATABASE ALL OPEN;-- 从 PDB 内部启动
CONNECT SYS/password@pdb1 AS SYSDBA
STARTUP FORCE;
STARTUP UPGRADE;
 

五、隐藏参数与高级恢复启动

1. 允许不一致启动(SCN 不一致)

sql
Copy
-- 在 pfile 中添加隐藏参数
_allow_resetlogs_corruption=TRUE
_corrupted_rollback_segments=(_SYSSMU1$,_SYSSMU2$,...)STARTUP MOUNT PFILE='/path/to/init.ora';
RECOVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE;
ALTER DATABASE OPEN RESETLOGS;
 
警告: 仅用于极端恢复场景,可能导致数据丢失
 

2. 跳过特定回滚段启动

sql
Copy
-- 用于 UNDO 表空间损坏
_undo_management=MANUAL
_corrupted_rollback_segments=(回滚段列表)
_offline_rollback_segments=(回滚段列表)
 

3. 使用备份控制文件启动

sql
Copy
STARTUP MOUNT;
RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;
ALTER DATABASE OPEN RESETLOGS;
 

六、静默启动与其他选项

Table
 
选项命令说明
QUIET STARTUP QUIET 抑制 SGA 信息显示
PFILE STARTUP PFILE='/path/init.ora' 指定参数文件启动
组合使用 STARTUP FORCE RESTRICT MOUNT 强制+限制+仅挂载

七、非常规启动决策流程

plain
Copy
数据库无法启动?│├─ 控制文件损坏? ──→ STARTUP NOMOUNT → 重建控制文件│├─ 数据文件需要恢复? ──→ STARTUP MOUNT → RECOVER → OPEN│├─ 需要升级? ──→ STARTUP UPGRADE → 运行升级脚本│├─ 仅查询需求? ──→ STARTUP OPEN READ ONLY│├─ 常规维护? ──→ STARTUP RESTRICT│└─ 强制重启? ──→ STARTUP FORCE
 

八、关键注意事项

  1. FORCE 选项 应谨慎使用,可能导致未提交事务丢失
  2. UPGRADE/DOWNGRADE 完成后必须正常重启
  3. _allow_resetlogs_corruption 是最后手段,会破坏数据一致性
  4. READ ONLY 模式不允许任何 DML,但可执行 RECOVER
  5. RESTRICT 模式适合维护窗口,防止用户连接
这些非常规启动手段是 DBA 处理故障、维护和升级的核心工具,需根据具体场景选择合适的方式