适用版本:9.2.0.1及其之后版本 使用平台:任何平台 目的:清晰地认识单实例数据库启动、关闭的过程 Oracle database和instance 数据库是一组OS物理文件的集合。这些文件实际上保存有用户数据和元数据(或数据字典)。 instance = background processes + SGA。在一个实例的生命周期内,只能打开或挂载一个数据库。而RAC是多实例对应一个数据库。 数据库startup 对于任何正常用户来说,访问数据库需要启动实例,并且挂载、打开相应的数据库。简言之,数据库启动需要三个阶段: 1. Start an instance. 2. Mount the database. 3. Open the database. 数据库startup需要管理(SYSDBA)权限,并且指定ORACLE_SID和ORACLE_HOME。例如: $ export ORACLE_SID=<SID of the instance> $ export ORACLE_HOME= <location of ORACLE_HOME> $ sqlplus / as sysdba SQL> startup 注意:若pfile或spfile文件不在默认位置,需要使用startup pfile=<file name and location> nomount Stage 命令:startup nomount 读取的文件:参数文件(pfile或spfile) 该阶段分配内存(SGA),启动后台进程,SGA和后台进程合称为实例。 创建数据库、创建或恢复控制文件需要在nomount状态下执行 遇到该错误:ORA-12162: TNS:net service name is incorrectly specified,检查环境变量ORACLE_SID是否正确设置。 几个相关命令:ipcs -a、ps -ef | grep smon、env mount Stage 命令:startup mount 读取的文件:控制文件(CONTROL_FILES) 该阶段mount(挂载)数据库,数据库未open,只有DBA可以访问数据库。 此阶段通常用于维护操作,如:重命名数据文件、开启和关闭归档模式、drop或重命名redo log files、执行full database recovery open Stage 命令:alter database open; 读取的文件:在线数据文件和重做日志文件等。 该阶段open数据库,要确保数据文件的一致性。在正常关机的情况下,作为关机检查点的一部分,内存中的更改将被写入到磁盘上。但是,如果实例崩溃(或shutdown abort),那么Oracle数据库在下次启动时执行实例恢复。
数据库启动、关闭概述
最新推荐文章于 2021-10-12 14:45:44 发布