数据库的启动与关闭
一、启动数据库
三个状态:nomount、mount、open(nomount->mount->open)
- nomount:打开了数据库实例,此时读取参数文件
- mount:根据参数文件中的控制文件位置找到并打开哦那个之文件,读取控制文件中的各个参数信息(如数据文件、日志文件的位置等)
- open:数据库打开数据文件并进行一系列的检查工作;
(1)数据库启动到nomount状态
根据参数分配内存(SGA),然后启动必须的后台5个进程:DBWR(数据库写进程)、LGWR(日志写进程)、SMON(系统监控经)、PMON(进程监控进程)、CKPT(检查点进程)。
该过程不设计控制文件和数据文件;
[oracle@localhost ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.1.0 Production on Sat Feb 9 09:21:53 2019 Copyright (c) 1982, 2009, Oracle. All rights reserved. SQL> conn / as sysdba Connected to an idle instance. SQL> startup nomount ORACLE instance started. Total System Global Area 1185853440 bytes Fixed Size 2212776 bytes Variable Size 721423448 bytes Database Buffers 452984832 bytes Redo Buffers 9232384 bytes SQL>
数据库启动过程记录在告警追踪日志文件中。
SQL> show parameter background_dump_dest; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ background_dump_dest string /ora/ora11g/diag/rdbms/orcl/orcl/trace SQL>
v$controlfile
nomount状态,数据库不加载控制文件,在oracle中查控制文件存储目录的方法是查看v$controlfile,如果数据控制文件没有打开,则无法通过盖世兔查询到控制文件的存储目录。
SQL> SELECT * FROM V$CONTROLFILE; no rows selected SQL>
NOMOUNT状态下获取控制文件路径方法:
SQL> show parameter control_files NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_files string /ora/ora11g/oradata/orcl/control01.ctl, /ora/ora11g/flash_re covery_area/orcl/control02.ctl SQL>
(2)数据库启动到mount状态
数据库在启动到mount状态有两种状态,两种方法:
方法1:直接启动到mount状态;
方法2:从nomount切换到mount(alter database mount)
SQL> alter database mount; Database altered. SQL>
(3)数据启动到open状态
启动到open状态:
方法1:startup (open)
方法2:在nomount或者mount状态切换到open状态(alter database open)
SQL> alter database open; Database altered. SQL>
二、关闭数据库
close->dismount->shutdown
(1)close数据库
alter database close
(2)dismount数据库
alter database dismount
(3)shutdown数据库
shutdown
(4)数据库关闭的几个参数
shutdown [normal | immediate | transactional | abort]
shutdown normal:不允许新的数据库连接,只有当前所有连接都退出时才会关闭数据库。
shutdown immediate:中断当前事务,回滚未提交的事务,强制断开所有用户连接,执行检查点把帐数据写入数据文件
shutdown transactional:数据库当前连接继续执行,但不允许新的连接,一旦当前的所有事务执行完毕,则关闭数据库
showdown abort:不安全关闭方式,断开所有用户连接,拒绝新连接,断开当前所有执行事务,立即关闭数据库(当数据库重启时需要进行数据库恢复)。