1. oracle数据库实例的启动:
oracle数据库启动有三种阶段,在不同的启动阶段中oracle会实现不同的操作,系统修复等操作:
1)、starup nomount 阶段:即实例的启动,实例的启动包含以下任务:
a、按以下的顺序在$ORACLE_HOME/dbs(win平台中为database)目录下搜索下列文件,即如果第一个没有找到就找下一个spfile<SID>.ora-->spfile.ora-->init<SID>.ora
b、分配SGA
c、启动后台进程
d、打开并修改告警<SID>.log文件及跟踪文件
使用场景:
多使用于数据库创建、控制文件重建、特定的备份恢复等
注意:此阶段不打开任何控制文件及数据文件
2)、starup mount 阶段:在mount阶段完成的任务有:
a、启动实例并打开控制文件,将数据与实例关联起来
b、利用参数文件中的说明,打开并锁定控制文件
c、读取控制文件以读取数据文件和重做日志文件的名字和状态信息,但不检查数据日志文件是否从在
使用场景:
a、重命名数据文件、移动数据文件位置等(数据库打开,表空间脱空的情况下可以重命名数据文件)
b、启动或关闭重做日志文件的归档或非归档模式
c、实现数据库的完全恢复
注意:这一步会读取控制文件,如果有一个控制文件损坏就无法启动
3)、starup [open]阶段:mount阶段启动任务的完成
a、打开数据文件
b、打开联机日志文件
注意:
a、在此期间,oracle服务器将校验所连的数据文件和联机日志文件能否打开并进行一致性检查
b、如果出现一致性错误,SMON进程将启动实例恢复
c、如果任一数据文件或联机日志文件丢失,oracle会报错
4)、特殊的方式打开数据库
只读模式:
Starup open read only
如果数据库启动到mount状态;
Alter database open readonly
受限模式;
有时候要进行对数据库的维护,希望一般用户不能登录,可以启动到该模式,这样只有该用户具有restricted session 权限,才可以登录到数据库
启动方法:
Starup restrict
取消受限:
Alter system disablerestrict session
2、数据库实例的关闭:
关闭命令:shutdown abort |immediate|transaction|normal(shutdown不带参数为normal)
关闭选项:
Normal:不允许新的连接,等到当前的session结束,等待当前的事务结束,强制检测点并关闭文件
Transaction:不允许新的连接,不等到当前的session结束,等待当前的事务结束,强制检查点关闭文件
Immediate: 不允许新的连接,不等待当前的session结束,强制检查点关闭文件
Abort :不允许新的连接,不等待当前的session结束,等待当前的事务结束,不等待当前的事务结束,不做强制检查点