启动Oracle数据库实例的过程
启动Oracle数据库实例的各个阶段:
SHUTDOWN(关闭):数据库实例处于关闭状态。 STARTUP NOMOUNT:启动实例,但不装载控制文件。此阶段实例已启动但数据库尚未装载。 STARTUP NOMOUNTSTARTUP MOUNT:启动实例并装载控制文件,但数据库文件未打开。此阶段可以进行数据库恢复操作。 STARTUP MOUNTSTARTUP OPEN:启动实例、装载控制文件并打开所有数据库文件,使数据库可供使用。 STARTUP
关闭Oracle数据库实例的过程
关闭数据库实例的各种模式及其特性:
| 模式 | 允许新连接 | 等待当前会话结束 | 等待当前事务结束 | 强制检查点和关闭文件 |
|---|---|---|---|---|
| ABORT | 否 | 否 | 否 | 否 |
| IMMEDIATE | 否 | 否 | 否 | 是 |
| NORMAL | 否 | 是 | 是 | 是 |
| TRANSACTIONAL | 否 | 否 | 是 | 是 |
ABORT:立即终止实例,不等待任何操作完成,不进行检查点操作。会导致数据库不一致。 IMMEDIATE:立即终止实例,不接受新的连接,等待当前活动的SQL语句完成并执行检查点操作。 NORMAL:等待所有用户断开连接后再关闭实例,通常用于正常关闭。 TRANSACTIONAL:等待当前活动的事务完成后再关闭实例。
比较SHUTDOWN模式
比较不同SHUTDOWN模式的行为:
关闭过程中:
修改的缓冲区未写入数据文件。 未提交的更改未回滚。 在关闭期间:
使用 SHUTDOWN ABORT
、实例失败或STARTUP FORCE
命令时会导致不一致的数据库。在启动过程中:
使用在线重做日志文件重新应用更改。 使用撤销段回滚未提交的更改。 释放资源。
配置PDBs自动打开
如何配置PDB在CDB启动时自动保持或丢弃其状态:
自动保持PDB状态:
ALTER PLUGGABLE DATABASE pdb1 SAVE STATE;Case 1:PDB1在CDB关闭前是打开状态,CDB启动后PDB1保持打开状态。 Case 2:PDB1在CDB关闭前是装载状态,CDB启动后PDB1保持装载状态。 Case 3:PDB1在CDB关闭前是只读打开状态,CDB启动后PDB1保持只读打开状态。 自动丢弃PDB状态:
ALTER PLUGGABLE DATABASE pdb1 DISCARD STATE;Case 1:PDB1在CDB关闭前是打开状态,CDB启动后PDB1装载但未打开。 Case 2:PDB1在CDB关闭前是装载状态,CDB启动后PDB1保持装载状态。 Case 3:PDB1在CDB关闭前是只读打开状态,CDB启动后PDB1装载但未打开。 启动和关闭Oracle数据库实例:
启动实例是将Oracle数据库从关闭状态转换为可用状态,涉及启动数据库服务、装载数据库文件等步骤。 关闭实例是将数据库从可用状态转换为关闭状态,确保数据完整性和一致性。 打开和关闭可插拔数据库(PDBs):
打开PDB使其可供用户访问。 关闭PDB是将其状态变为不可访问,确保在维护或其他操作期间不影响数据完整性。
一个名为CDB1
的容器数据库和一个名为PDB1
的可插拔数据库。以下是具体的操作示例:
启动和关闭数据库实例示例:
启动数据库实例:
SQL> CONNECT / AS SYSDBA
SQL> STARTUP这条命令将启动
CDB1
实例,装载控制文件并打开所有数据库文件,使其进入可用状态。关闭数据库实例:
SQL> SHUTDOWN IMMEDIATE这条命令将立即关闭
CDB1
实例,不允许新的连接,并等待当前活动的SQL语句完成。
打开和关闭PDB示例:
打开PDB:
SQL> ALTER PLUGGABLE DATABASE pdb1 OPEN;这条命令将
PDB1
从装载状态转换为打开状态,使其可供用户访问。关闭PDB:
SQL> ALTER PLUGGABLE DATABASE pdb1 CLOSE IMMEDIATE;这条命令将立即关闭
PDB1
,确保所有未提交的事务被回滚。
关闭和启动Oracle数据库实例
启动数据库实例:
步骤1:连接到数据库实例。
SQL> CONNECT / AS SYSDBA步骤2:启动实例但不装载数据库。
SQL> STARTUP NOMOUNT此命令仅启动Oracle实例,不装载数据库控制文件。
步骤3:装载数据库控制文件。
SQL> ALTER DATABASE MOUNT;此命令装载控制文件,但不打开数据文件。
步骤4:打开数据库。
SQL> ALTER DATABASE OPEN;此命令将数据库数据文件打开,使数据库进入可用状态。
关闭数据库实例:
步骤1:连接到数据库实例。
SQL> CONNECT / AS SYSDBA步骤2:立即关闭数据库实例。
SQL> SHUTDOWN IMMEDIATE此命令将立即关闭数据库实例,确保所有未完成的事务被回滚并且不再接受新的连接。
非常感谢您读到这里!如果您觉得这篇文章对您有帮助,可以关注一下博主。关注后,您将第一时间获得最新的AI、云计算、运维(Linux、数据库,容器等)技术,以及更多实用的技能干货。

全网第一个AI+PPT提效小册希望能对大家有帮助订阅之后有专属学习交流群 以及AI考试资料分享

文章转载自周同学带您玩AI,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




