oracle的启动阶段
单机版数据库启动关闭
查看版本号
cat /etc/redhat-release
启动
简化:startup
→!lsnrctl start
→alter system register;
数据库的启动分为三个阶段
1. nomount
作用:读取参数文件, 分配内存(SGA+PGA),接着启动后台进程,生成实例。
sqlplus 空格/空格 as sysdba
❗如出现COnnected to an instance
这个是空实例,即没有启动数据库,执行startup即可。
startup nomount
出现以下则表示成功进入。
下列代码表示:读取参数文件并且分配内存。
ORACLE instance started.
Total System Global Area 3053450504 bytes
Fixed Size 9139464 bytes
Variable Size 671088640 bytes
Database Buffers 2365587456 bytes
Redo Buffers 7634944 bytes
通过v$instance数据字典查看数据库的状态
select status from v$instance;
状态:STARTED则为开启
2. mount阶段
作用:读取控制文件,获取文件的位置,记录数据库的状态,维护数据库一致性。
alter database mount;
Database altered则读取到控制文件。
此时再执行select status form v$instance
命令,状态则为MOUNTED
此时可以查找到一些数据文件的位置了
select name from v$datafile;
3.open阶段
作用:检查三大文件是否存在(参数文件,数据文件,在线日志文件),检查数据库一致性
alter database open;
再次查看状态select status from v$instance;
则显示状态为OPEN
。
检查数据库一致性
select file#, CHECKPOINT_CHANGE# from v$datafile_headers;
CHECKPOINT_CHANGE#号码一致,则表示数据库一致性。
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 2265390
3 2265390
4 2265390
5 2150206
6 2150206
7 2265390
8 2150206
9 2265566
10 2265566
11 2265566
12 2265566
FILE# CHECKPOINT_CHANGE#
---------- ------------------
13 2265574
14 2265574
15 2265574
16 2265574
启动监听
SYS@PROD> !lsnrctl start
SYS@PROD> alter system register;
关闭
一致性关库
先关闭监听
SYS@PROD> !lsnrctl stop
关闭数据库
SYS@PROD> shutdown immediate