一 启动数据库数据库
Oracle启动过程涉及几种模式,这些模式涉及不一样的文件,每一个状态下数据库作不一样的事情,同时这些模式适用于不一样的维护需求,主要的模式有三种:NOMOUNT、MOUNT、OPEN。安全
1 NOMOUNT:启动数据库实例, 此时读取参数文件,可是不加载数据库;测试
2 MOUNT:启动数据库实例,加载数据库,可是数据库处于关闭状态;spa
3 OPEN: 启动数据库实例,加载并打开数据库;3d
4 FORCE: 终止实例并重启数据库,这种模式在数据库关闭或者启动遇到问题时使用,这种方式不到万不得已时不要使用,会有数据丢失;日志
1 NOMOUNTblog
这种模式只会建立实例(建立Oracle实例的各类内存结构与服务进程,其中有5个进程必须启动, DBWR、LGWR、SMON、PMON、CKPT),并不加载数据库,也不会打开任何数据文件。进程
先关闭数据库事务
startup nomount内存
数据库的启动过程记录在警告追踪文件中,该警告追踪文件中包括数据库启动信息,它存放在参数BACKGOUND_DUMP_DEST定义的目录下,警告日志的名字为alert_orcl.log
进入到目录查看警告日志关于startup nomount过程记录
测试在nomount状态时数据字典是否打的开,下图说明数据库字典在nomount状态下是没法访问的,由于数据字典须要从控制文件获取文件的信息,而此时控制文件没有打开因此没法查看。
可是在nomount下能够经过参数文件得到控制文件的位置,由于此时参数文件已经打开
2 MOUNT
这种模式将启动实例,加载数据库并保持数据库关闭状态。数据库启动到MOUNT状态有两种方式,一是能够直接启动数据库到MOUNT,二是若是数据库已经启动到NOMOUNT状态,使用alter database mount把数据库切换到MOUNT状态;
alert database mount
startup mount
此时咱们能够查看数据字典,由于控制文件已经打开
可是此时咱们不能访问数据库的数据文件(表,视图),文件此时数据文件没有打开。
3 OPEN
这种模式将启动实例,加载并打开数据库,这是常规的启动模式,用户想要对数据库进行多种操做就必须使用OPEN模式启动数据库,启动到OPEN状态,有两种方式,一是直接启动到OPEN状态(使用startup或者startup open),二是若是数据库处于NOMOUNT或者MOUNT状态,能够经过alter database open切换到OPEN状态。
此时能够访问数据文件了。
4 FORCE
这种模式将终止实例并重启数据库,这是一种强制性启动模式,只有在启动或者关闭出现问题时才使用,而且有必定的风险,会丢失数据,形成意外的问题。
二 关闭数据库
与启动数据库顺序相反,也分三个步骤:关闭数据库(CLOSE 关闭数据文件),卸载数据库(关闭控制文件 DISMOUNT),关闭Oracle实例(SHUTDOWN)。同时关闭模式也有多种常见的有:
1 NORMAL
正常的关闭方式,若是对于关闭数据库的时间没有限制,一般采用这种方式,以NORMAL方式关闭数据库,Oracle将执行以下操做:
A 阻止任何用户创建新的链接;
B 等待当前全部正在链接的用户主动断开链接;
C 当前全部用户的都断开链接后,将当即关闭数据库;
2 TRANSACTION
事务关闭方式,它的首要任务是保证当前全部活动的事务均可以被提交,并在尽量短的时间内关闭数据库。以事务方式关闭,Oracle将执行以下操做:
A 阻止用户创建新链接和开始新事务;
B 等待全部活动事务提交后,再断开用户链接;
C 当全部活动事务提交完毕,用户断开链接后,关闭数据库;
3 IMMEDIATE
当即关闭方式,能够较快且安全的关闭数据库,是DBA常常采用的关闭数据库的方式,当即关闭方式,Oracle执行以下操做:
A 阻止用户创建新的链接和开始新的事务;
B 中断当前事务,回滚未提交事务;
C 强制断开全部用户链接和执行检查点把脏数据写到数据文件中;
D 关闭数据库