oracle 启动阶段

image.png

启动时分红三个步骤:数据库

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表空间

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

相关文章
相关标签/搜索