启动时分红三个步骤:数据库
1.nomount阶段,该阶段是实例启动,根据参数文件进行系统分配内存,启动后台进程。session
2.mount阶段,根据控制文件来进行数据文件和日志文件的名称和位置检查,把实例和数据库链接起来。oracle
3.open阶段,就是数据库打开阶段,打开是就须要检查文件是否正常,有没有发生文件丢失或者不一致的状况,丢失则报错,不一致则进行实例恢复。ide
中止数据库:rest
sysdba & sysoper 才能够启停数据库!日志
查看数据库的当前状态:orm
select status from v$instance;blog
中止数据库:进程
shutdown normal = shutdown事务
1.新的链接不容许创建
2.等待查询结束
3.等待事务结束
4.产生检查点(将buffer cache里面的脏数据写盘)
5.关闭数据文件
6.关闭控制文件
7.关闭实例(中止全部的后台进程,释放共享内存段)
shutdown transactional
1.新的链接不容许创建
*2.不等待查询结束
3.等待事务结束
4.产生检查点(将buffer cache里面的脏数据写盘)
5.关闭数据文件
6.关闭控制文件
7.关闭实例(中止全部的后台进程,释放共享内存段)
shutdown immediate (最经常使用的选项)
1.新的链接不容许创建
1.新的链接不容许创建
*2.不等待查询结束
*3.事务被回退
4.产生检查点(将buffer cache里面的脏数据写盘)
5.关闭数据文件
6.关闭控制文件
7.关闭实例(中止全部的后台进程,释放共享内存段)
前三种停库参数,数据库是干净的,从新启动时不须要实例恢复!
shutdown abort (至关于拔电源)
从新启动时须要实例恢复! --> smon
ps -ef | grep pmon
ipcs -sm
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
启动数据库:
分三个阶段
1.分配实例 nomount:
须要参数文件
须要保存trace文件的目录(实例管理的目录)
ps -ef | grep pmon
ipcs -sm
2.加载控制文件 mount
只须要控制文件
3.加载联机日志和数据文件 open
须要联机日志和数据文件
startup = startup open
三个台阶连续启动
分阶段启动数据库:
启动数据库到第一阶段:nomount
startup nomount -->只启动实例(共享内存段和后台进程)
SQL> select status from v$instance;
STATUS
------------
STARTED
启动数据库到第二阶段:mount
数据若是是shutdown状态:
startup mount
数据若是是STARTED状态:不能使用startup命令,只能使用修改数据库的命令
alter database mount;
SQL> select status from v$instance;
STATUS
------------
MOUNTED
启动数据库到第三阶段:open
数据若是是shutdown状态:
startup
数据若是是STARTED状态:
alter database mount;
alter database open;
alter database open read only;
数据若是是MOUNTED状态:
alter database open;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
startup 命令:
startup nomount
startup mount
startup open = startup
startup pfile='/home/oracle/initdemo.ora'
startup restrict
*startup force = shut abort + startup --> 强制重启(慎用)
conn / as sysdba
alter system enable restricted session;
alter system disable restricted session;
alter database mount;
alter database open;
alter database open read only; -->只能查询不能dml,能够写本地管理的temp表空间
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~