在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一、摘要 Oracle数据库的完整启动过程是分步骤完成的,包含以下3个步骤: 启动实例-->加载数据库-->打开数据库 因为Oracle数据库启动过程中不同的阶段可以对数据库进行不同的维护操作,对应我们不同的需求,所以就需不同的模式启动数据库。 1. Oracle启动需要经历四个状态:SHUTDOWN 、NOMOUNT 、MOUNT 、OPEN 2. Oracle关闭的四种方式:Normal, Immediate, Transactional, Abort 3. 启动和关闭过程详解
1.NoMount 模式(启动实例不加载数据库) (1). 命令:startup nomount (2). 讲解:这种启动模式只会创建实例,并不加载数据库,Oracle仅为实例创建各种内存结构和服务进程,不会打开任何数据文件。 在NoMount模式下,只能访问那些与SGA区相关的数据字典视图,包括VPARAMETER、VSGA、VPROCESS和VSESSION等,这些视图中的信息都是从SGA区中获取的,与数据库无关。 (3). 模式用途: 创建新数据库; (1). 命令:startup mount (2). 讲解:这种启动模式将为实例加载数据库,但保持数据库为关闭状态。因为加载数据库时需要打开数据库控制文件,但数据文件和重做日志文件都都无法进行读写,所以用户还无法对数据库进行操作。 在Mount模式下,只能访问那些与控制文件相关的数据字典视图,包括VTHREAD、VCONTROLFILE、VDATABASE、VDATAFILE 和 V$LOGFILE等,这些视图都是从控制文件中获取的。 (3). 模式用途: 重命名数据文件; (1). 命令:startup [open] (2). 讲解:正常按3个步骤启动数据库。 (3). 模式用途: 平时不对数据库做什么维护,像只做应用开发,用这个模式就好了; (1). 命令:startup force (2). 用途&讲解: 在某些情况下,使用前面的各种模式都无法成功启动数据库时,可以尝试强制启动模式。 使用Alter Database语句,还可以在各启动模式间切换。并且,还可以对数据库设置不同的状态用于不同的操作,如受/非受限抽状态、只读。 三、数据库关闭过程 1. Nomal(正常关闭方式) (1). 命令:shutdown nomal (2). 讲解:正常方式关闭数据时,Oracle执行如下操作: 阻止任何用户建立新的连接。 (1). 命令:shutdown immediate (2). 讲解: 阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。 (1). 命令:shutdown transactional (2). 讲解:这种方式介于正常关闭方式跟立即关闭方式之间,响应时间会比较快,处理也将比较得当。执行过程如下: 阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。 (1). 命令:shutdown abort (2). 讲解:这是比较粗暴的一种关闭方式,当前面3种方式都无法关闭时,可以尝试使用终止方式来关闭数据库。但是以这种方式关闭数据库将会丢失一部份数据信息,当重新启动实例并打开数据库时,后台进程SMON会执行实例恢复操作。一般情况下,应当尽量避免使用这种方式来关闭数据库。执行过程如下: 阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。 Step1. SQLPLUS /'as sysdba' SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 3 22:48:27 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to an idle instance. Step2. Startup nomount ORACLE instance started. --> Total System Global Area 167772160 bytes Fixed Size 1218316 bytes Variable Size 104859892 bytes Database Buffers 58720256 bytes Redo Buffers 2973696 bytes oracle@db1:~> ps -ef | grep ora_ oracle 3626 1 0 22:48 ? 00:00:00 ora_pmon_orcl1 oracle 3628 1 0 22:48 ? 00:00:00 ora_psp0_orcl1 oracle 3630 1 0 22:48 ? 00:00:00 ora_mman_orcl1 oracle 3632 1 0 22:48 ? 00:00:00 ora_dbw0_orcl1 oracle 3634 1 0 22:48 ? 00:00:00 ora_lgwr_orcl1 oracle 3636 1 0 22:48 ? 00:00:00 ora_ckpt_orcl1 oracle 3638 1 0 22:48 ? 00:00:00 ora_smon_orcl1 oracle 3640 1 0 22:48 ? 00:00:00 ora_reco_orcl1 oracle 3642 1 0 22:48 ? 00:00:00 ora_cjq0_orcl1 oracle 3644 1 0 22:48 ? 00:00:00 ora_mmon_orcl1 oracle 3646 1 0 22:48 ? 00:00:00 ora_mmnl_orcl1 oracle 3648 1 0 22:48 ? 00:00:00 ora_d000_orcl1 oracle 3650 1 0 22:48 ? 00:00:00 ora_s000_orcl1 Step3. Startup mount Oracle instance started. --> Total System Global Area 167772160 bytes Fixed Size 1218316 bytes Variable Size 104859892 bytes Database Buffers 58720256 bytes Redo Buffers 2973696 bytes Database mounted. Step4. Startup ORACLE instance started. --> Total System Global Area 167772160 bytes Fixed Size 1218316 bytes Variable Size 104859892 bytes Database Buffers 58720256 bytes Redo Buffers 2973696 bytes Database mounted. Database opened. |
请发表评论