400-090-9964


博客 | 论坛

教学文章

开和关数据库的多种命令(下)(不正常关闭数据库)

时间:2016-05-05 来源:

 1、不正常关闭数据库
使用关闭终止(abort)操作关闭数据库一般用在正常和立即关闭数据库不起作用时,操作所经历的步骤为:
在关闭过程中发生修改的缓存区内容不写入数据文件
不回退未提交的更改
使用关闭终止强制关闭数据会造成数据库不一致
在启动过程中会使用重做日志重新应用更改
使用撤销段回退未提交的更改
释放资源
这种操作容易造成数据库故障,导致再无法开启,不建议使用
使用该操作一般用于以下几种情况
oracle服务器所处理的当前SQL语句被立即终止。
oracle不等待当前连接数据库的用户断开
数据库和重做缓冲区中的内容不写入磁盘
未提交的事务不回退
在不关闭文件的情况下例程被终止
数据库不关闭或被卸载
下次启动要求恢复例程,该操作将自动进行
建议不要备份处于不一致状态的数据库
2、启动与关闭过程
启动(startup):shutdown→nomount(例程启动)→mount→open
关闭(shutdown):open→mount→nomount→shutdown
3、启动例程(nomount)
启动例程让数据库处于nomount状态一般用于创建数据库或重新创建控制文件过程中
启动例程包括下列任务
按下列顺序从$ORACLE_HOME/dbs读取初始化文件:
首先读取spfileSID.ora
如果找不到,则读取spfile.ora
如果仍然找不到,则读取initSID.ora
可以使用startup制定pfile参数以覆盖缺省行为
分配SGA
启动后台进程
打开alertSID.log
4、加载数据库(mount)
启动例程并加载数据库,但不要打开数据库让数据库处于mount状态一般用于执行特定的维护操作:例如重命名数据库文件,启用和禁用重做日志归档选项,执行完全数据库恢复。
加载数据库包括以下任务
使数据库与以前启动的例程关联
定位并打开参数文件中指定的控制文件
读取控制文件以获取数据文件和重做日志文件的名称和状态。但是在此时不进行数据文件和重做日志文件是否存在的检查。
5、打开数据库(open)
打开数据库让数据库处于open状态任何有效的用户都可以连接到数据库并执行一般的数据访问
打开数据库包括一下任务
打开联机数据文件
打开联机重做日志文件
oracle服务器验证所有数据文件和重做日志文件是否可以打开并检查数据的一致性,如果需要,系统监视(SMON)后台进程将启动例程恢复操作。
6、startup命令
若要启动例程,可使用以下命令
startup 【force】 【restrict】 【pfile=filename】 【open 【recover】 【database】 | mount | nomount 】
其中:
open:使用户能够访问数据库
mount:为某些DBA活动加载数据库,但不允许用户访问数据库
nomount:创建SGA并启动后台进程,但不允许访问数据库
pfile=filename:允许使用非缺省参数文件配置例程
force:执行正常启动前终止运行的例程(一般情况不建议使用,有可能造成数据库损坏,并无法启动)
restrict:只允许觉有restrict session权限的用户访问数据库
recover:在数据库启动时开始进行介质恢复(一般情况下不建议使用,容易丢数据)

版权所有@北京神脑资讯技术有限公司(CUUG,中国UNIX用户协会) Copyright 2017 ALL Rights Reserved 京ICP备11008061号 京公网110108006275号

CUUG旗下网站:www.cuug.com.cn www.cuug.com oracle.cuug.com bbs.cuug.com bd.cuug.com

电话:010-59426307 010-59426319 邮政编码:100089

海淀校区:北京市海淀区紫竹院路88号紫竹花园4号楼D座703(CUUG)

昌平校区:北京昌平区沙河镇科技经营管理学院教学楼主楼9层

西安校区:陕西省西安市长安北路中贸广场15号楼2单元2509