一、监听服务:
- 本地通过sqlplus连接数据库的时候不需要启动监听服务,但是远程连接或者通过plsql等工具连接该服务器上的数据库的时候,需要开启该服务器的监听服务,否则无法连接。
select status from v$instance;//查询数据库状态
[oracle@localhost ~]$ lsnrctl start //启动监听服务
[oracle@localhost ~]$ lsnrctl stop //停止监听服务
[oracle@localhost ~]$ lsnrctl status //查看监听服务状态
二、Oracle的启动步骤:
**启动实例---加载数据库---打开数据库**
-----------------------------------------------------------------------------------------------
1、创建并启动与数据库对应的实例
就是为实例创建一系列后台进程和服务进程,在这个过程中只会用到初始化参数文件,数据库是否正常及存在对实例没有影响,如果初始化参数设置有误,将对实例的启动有影响。
2、为实例加载数据库
加载数据库时将启用数据库的控制文件,从控制文件中获取数据库名称,数据文件位置和名称等有关数据库物理结构的信息,如果控制文件损坏,实例将无法加载数据库(控制文件一般系统会存在备份),在加载数据库阶段,实例并不会打开数据库的物理文件,如:数据文件和重做日志文件。
3、将数据库设置为打开状态
打开数据库时,实例将打开所有在线的数据文件和重做日志文件,任何数据文件或者重做日志文件的损坏将导致数据库不能正常打开,这个时候需要对数据库进行恢复;
只有数据库是打开状态,普通用户才可以访问数据库;
数据库的不同启动阶段可以对数据库进行不同的维护,对应我们的不同需求,所以要以不同的方式启动数据库。
三、启动模式
1、nomount(启动实例不加载数据库)
命令:startup nomount(状态是started)
注释:这种模式只会创建实例,并不会加载数据库,Oracle仅为实例创建各种后台进程和服务,不会打开任何数据文件,在NoMount模式下,只能访问那些与SGA区相关的数据字典视图,包括V
P
A
R
A
M
E
T
E
R
、
V
PARAMETER、V
PARAMETER、VSGA、V
P
R
O
C
E
S
S
和
V
PROCESS 和 V
PROCESS和VSESSION等,这些视图中的信息都是从SGA区中获取的,与数据库无关。非安装启动,这种方式启动下可执行:重建控制文件、重建数据库、读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。
模式用途:重建数据库、重建控制文件
2、mount模式(加载数据库但不打开数据库)
命令:startup mount
注释:这种启动将为实例加载数据库,但保持数据库关闭的状态,加载数据库需要用到控制文件吗,但是不会用到数据文件和重做日志文件,所以用户无法对数据库进行操作。在Mount模式下,只能访问那些与控制文件相关的数据字典视图,包括V
T
H
R
E
A
D
、
V
THREAD、V
THREAD、VCONTROLFILE、V
D
A
T
A
B
A
S
E
、
V
DATABASE、V
DATABASE、VDATAFILE 和 V$LOGFILE等,这些视图都是从控制文件中获取的。
模式用途:
1)重命名数据文件
2)添加、删除或重命名重做日志文件
3)执行数据库的完全恢复
4)改变数据库的归档模式
3、open模式(数据库打开)
命令:startup
4、startup force(强制启动模式)
模式用途:前面的步骤都无法正常启动数据库时,可以尝试使用此模式
四、数据库关闭
1、正常关闭模式
命令:shutdown normal
注释:
1)阻止新用户建立新的连接;
2)等待当前连接的用户主动断开连接;
3)一旦所有用户都断开连接,及关闭数据库、从实例卸载数据库、关闭实例。
2、立即关闭模式
命令:shutdown immediate
注释:
1)阻止新用户建立新的连接,并且阻止当前连接的用户进行新的事务;
2)Oracle不会等待当前用户主动断开连接,强制阻止开始新的事务,将任何未提交的事务回退。
3、事务关闭模式
命令:shutdown transactional
注释:
1)阻止新用户建立新的连接,阻止当前连接用户进行新的事务;
2)等待未提交的事务完成提交,然后立马断开用户的连接;
3)关闭数据库、卸载数据库、关闭实例。
3、强制关闭模式
命令:shutdown abort
注释:这种方式关闭将会丢失一些数据,当重新启动实例并打开数据库时,后台经常SMON会执行实例恢复操作