启动数据库(三个阶段)
零、SHUTDOWN
一、NOMOUNT(创建数据库、重新创建控制文件、查看初始化参数的值、修改初始化参数、查看后台进程信息、查看内存相关信息)
使用以下命令将数据库从SHUTDOWN状态变成NOMOUNT状态
startup nomount
查看数据库状态
select status from v$instance;
STATUS
------------
STARTED
Elapsed: 00:00:00.00
在从SHUTDOWN到NOMOUNT过程中,数据库做以下操作
1.读取参数文件,按照参数文件中的非默认值得初始化参数来初始化实例
2.写审计信息,写警报日志
也就是说,有了参数文件,有了保存跟踪文件的目录,我们就可以将数据库启动到NOMOUNT状态
二、MOUNT(对数据库进行备份、还原、恢复、移动数据文件、日志文件、做数据文件级别的ONLINE和OFFLINE、打开关闭数据库的归档模式、打开关闭闪回数据库功能)
使用以下命令将数据库从SHUTDOWN状态变成MOUNT状态
startup mount
使用以下命令将数据库从NOMOUNT状态变成MOUNT状态
alter database mount;
Database altered.
Elapsed: 00:00:04.28
查看数据库状态
select status from v$instance;
STATUS
------------
MOUNTED
Elapsed: 00:00:00.00
在从NOMOUNT到MOUNT过程中,数据库做以下操作
将控制文件信息加载到内存,
也就是说,只要有了控制文件,数据库就可以从NOMOUNT状态启动到MOUNT状态
三、OPEN
使用以下命令将数据库从SHUTDOWN状态变成OPEN状态
startup
使用以下命令将数据库从NOMOUNT状态变成OPEN状态
alter database mount;
alter database open;
使用以下命令将数据库从MOUNT状态变成OPEN状态
alter database open;
查看数据库状态
select status from v$instance;
STATUS
------------
OPEN
Elapsed: 00:00:00.00
查看数据库的打开模式
select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
Elapsed: 00:00:00.01
我们切换数据库的打开模式到READ ONLY下
shutdown immediate
startup mount
alter database open read only;
READ ONLY模式下只能对数据做查询,不能做修改,数据库的物理备用库打开模式只能是READ ONLY
关闭数据库(四种模式)
1.shutdown normal(shutdown),在这个模式下,新的连接不允许建立,等待查询结束,等待事务结束,强制产生检查点,关闭联机日志和数据文件,关闭控制文件,关闭实例。
shutdwon nurmal
2.shutdown transactional,在这个模式下,新的连接不允许建立,查询会被终止,等待事务结束,产生检查点,关闭数据文件,关闭日志文件,关闭控制文件,关闭实例
shutdown transactional
3.shutdown immediate,不允许建立新的连接,终止查询,回退事务,强制产生检查点,关闭联机日志,关闭数据文件,关闭控制文件.关闭实例。
shutdown immediate
4.shutdown abort,相当于直接关掉数据库,这样的数据库是脏库,再次启动的时候需要做实例恢复(SMON做前滚或者后滚)
shutdown abort
其他命令
startup force = shutdown abort + startup
startup force nomount= shutdown abort + startup nomount
startup force mount= shutdown abort + startup mount