1 数据库的启动
nomount—>mount—>open
当数据库可供用户访问时,数据库实例和数据库将经历多个阶段。启动数据库实例,挂载数据库,然后打开数据库。
1.1 nomount
通常在如下场景以nomount状态打开库:
创建数据库期间,在重新创建控制文件时,或在某些备份和恢复场景中。
当一个实例启动时,会发生以下情况:
按以下顺序搜索$ORACLE_HOME/dbs以查找特定名称的文件:
- 寻找spfile < SID > . ora。
- 如果spfile < SID >.ora没有找到,搜索spfile.ora。
- 如果spfile.ora没有找到,请搜索init
.ora。
这是包含实例初始化参数的文件。在启动时指定PFILE参数将覆盖默认行为。
分配SGA
启动后台进程
打开alert_.log文件和跟踪文件
1.2 mount
mount数据库包括如下步骤:
将数据库与先前启动的实例相关联
定位并打开参数文件中指定的所有控制文件
读取控制文件以获取数据文件和联机重做日志文件的名称和状态。(但是,此时不执行检查以验证数据文件和在线重做日志文件的存在。)
要执行特定的维护操作,请启动实例并挂载数据库,但不要打开数据库。
例如,在执行以下任务时,必须挂载数据库,但不能打开数据库:
重命名数据文件。(脱机表空间的数据文件可以在数据库打开时重新命名。)
启用和禁用联机重做日志文件归档选项
执行完全数据库恢复
1.3 open
一个正常的数据库操作意味着启动一个实例,并挂载和打开数据库。使用正常的数据库操作,任何有效的用户都可以连接到数据库并执行典型的数据访问操作。
打开数据库包括以下步骤:
打开数据文件
打开联机重做日志文件
如果在尝试打开数据库时没有出现任何数据文件或在线重做日志文件,Oracle服务器将返回一个错误。
在最后一个阶段,Oracle服务器验证所有数据文件和在线重做日志文件都可以打开,并检查数据库的一致性。如果需要,系统监视器(SMON)后台进程会启动实例恢复。
可以以受限模式启动数据库实例,以便只有具有受限会话系统特权的Oracle数据库用户才能连接到该数据库。
2 启动命令
方式一:
直接执行startup
启动实例,将数据库文件与之关联,并挂载和打开数据库
方式二:
startup nomunt启动实例
alter database mount;挂载数据库,打开控制文件
alter database open;打开数据库。
方式三:使用 Oracle Restart的Server Control utility
$srvctl start database –d orcl –o mount
可以通过Oracle Restart的服务器控制(SRVCTL)实用程序启动数据库实例。SRVCTL实用程序的优点是它可以启动所有必需的依赖资源,如ASM实例、ASM磁盘组和侦听器。
3 练习题
用实验验证实例加载参数文件:spfile
可以通过设置在不同参数文件中的memory_max_target值来区分不同的参数文件
【答题小贴士】:
1、以墨天轮文章的形式解析题目并给出答案
2、将墨天轮文章链接发送到此文的评论区