oracle--启动
oracle数据库的启动过程包含3个步骤:启动实例->加载数据库->打开数据库
分步骤启动过程可以对数据库进行不同的维护操作,对应我们不同的需求。
启动模式:
1.startup nomount 非安装启动
即启动实例不加载数据库,这种方式下启动可以执行:重建控制文件、重建数据库;
这种启动模式需要操作的文件:init.ora
读取init.ora文件,启动instance,即启动SGA和后台进程。
讲解:nomount的过程其实就是启动instance的过程,内存分配和后台进程的启动都是在nomount状态下做的。
这个时候可以
1)查看内存设置:show parameter sga
2)查看数据库后台是否已经启动:select program,status from v$session where type=‘BACKGROUND‘;
3)查看和SGA区相关的数据字典视图,包括V$PARAMETER,V$SGA,V$PROCESS,V$SESSION,等,这些视图的信息都是从SGA区中读取的,与数据库无关。
2.startup mount 安装启动
即加载数据库但不打开数据库,这种方式启动可以执行:数据库日志归档、数据库介质恢复、使数据文件联机或脱机,重新定位数据文件、重做日志文件。
数据库启动到mount状态的过程,是从参数文件中找到对应的控制文件的位置,读取控制文件中数据库文件的位置,判断数据文件的存在性。
讲解:启动mount的过程,就是通过这个找到对应的控制文件,当然启动nomount状态后在数据库也是能查询到控制文件的具体位置的,命令show parameter control;
这种启动模式将实例加载数据库,但保持数据库为关闭状态,因为加载数据库时需要打开数据库控制文件,但数据文件和重做日志文件都无法进行读写,所以用户还无法对数据库进行操作。
在mount模式下,只能访问那些与控制文件相关的数据字典视图,包括V$THREAD,V$CONTROLFILE,V$DATABASE,V$DATAFILE,V$LOGFILE等,这些视图都是从控制文件中获取的。
模式用途:
1)重命名数据文件
2)添加、删除或重命名重做日志文件
3)执行数据库完全恢复操作
4)改变数据库的归档模式
3.startup open
正常打开数据库,相当于先执行了nomount,然后执行了mount,再打开包括redo log文件在内的所有数据库文件,这种方式下可访问数据库中的数据。