启动与关闭数据库实例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
启动与关闭数据库事例
Oracle数据库实例的启动过程分为3个步骤,分别是:
1.启动实例
2.装载数据库
3.打开数据库
☐启动实例完成以下操作:
1.读取初始化参数文件。
2.分配系统全局区。
3.启动后台进程。
4.打开alertSID.log文件和跟踪文件
☐装载数据库主要完成以下操作:
1.将数据库与一个已打开的实例关联起来。
2.打开初始化参数文件中指定的控制文件。
3.根据控制文件获得数据文件和重做日志文件的名称和
状态(为打开数据库做准备)
☐打开数据库完成以下操作:
1.打开数据文件
2.打开联机重做日志文件
打开时,后台进程SMON即系统监视器(System Monitor)要检查控制文件、数据文件及重做日志确定是否处于同步状态,不同步时,由SMON进行实例恢复。
启动数据库实例
☐启动Oracle Server通过执行命令STARTUP来完成。根据不同的启动方式,使用不同的参数启动数据库。
☐执行该命令,要求用户必须有SYSDBA或SYSOPER系统权限。
用户可以根据实际情况的需要,以不同的模式启动数据库,启动数据库所使用的命令格式如下:
STARTUP [nomount|mount|open|force][resetrict][pfile=filename] Nomount:表示启动实例不加载数据库;
Mount:表示启动实例、加载数据库并保持数据库的关闭状态;
Open:表示启动实例、加载并打开数据库,这个是默认选项;
Force:表示终止实例并重新启动数据库;
Resetrict:用于指定以受限制的会话方式启动数据库;
Pfile:用于指定启动实例时所使用的文本参数文件,filename是文件名。
注:查看状态:
Select status from v$instance;
1、STARTUP NOMOUNT
NOMOUNT选项仅仅创建一个Oracle实例(即创建Oracle实例的各种内存结构和服务进程)。读取init.ora初始化参数文件、启动后台进程、初始化系统全局区(SGA)。Init.ora文件定义了实例的配置,包括内存结构的大小和启动后台进程的数量和类型等。实例名根据
Oracle_SID设置。适用于:
1)创建新数据库;
2)重建控制文件;
当实例打开后,系统将显示一个SGA内存结构和大小的列表,如下
所示:
2、STARTUP MOUNT
读取控制文件,启动实例并装载数据库,但是保持数据库关闭状态。适用于下列的DBA操作,不允许对数据库的一般访问;
1)重命名数据文件;
2)添加、删除和重命名重做日志文件;
3)执行数据库完全恢复操作;
4)改变数据库的归档模式;
3、STARTUP OPEN
Open模式:启动实例装载并打开数据库。可以在不受限制的方式下允许所有用户访问或者在受限的方式下只允许数据库管理员访问。在Open模式下可以将数据库设置为非受限状态和受限状态。
在受限状态下,只有DBA才能访问数据库。
1)执行数据导入导出;
2)使用sql*loader提取外部数据;
3)需要暂时拒绝普通用户访问数据库;
4)进行数据库移植或者升级操作;
在打开数据库时使用startup restricted命令即进入受限状态。
注:模式转换:
使用Alter Database语句,在各启动模式间切换。
a)从NoMount模式切换到Mount模式(没有从mount切换到
nomount的)命令:
ALTER DATABASE MOUNT;
b)当数据库状态为关闭时,切换到Open模式命令:
ALTER DATABASE OPEN;
c)在Open模式下,还可以选择将数据库设置为非受限状态和受限
状态。命令:
在启动Open模式时,添加restrict关键字:startup restrict
d)设置或取消受限状态:
alter system enable\disable restricted session;
e)设置只读命令:alter database open read only;
取消只读命令:alter database open read write;
4.STARTUP FORCE
这种模式将终止实例并重新启动数据库,具有强制性;该命令仅在关闭数据库遇到问题不能关闭数据库时采用。
关闭数据库
1.正常关闭shutdown (normal)
当以该方式关闭数据库时,oracle将执行以下操作:
1)阻止任何用户建立新的连接;
2)等待当前所有正在连接的用户主动断开连接;
3)当所有用户断开连接后,将立即关闭数据库;
2.立即关闭shutdown immediate
当以该方式关闭数据库时,oracle将执行以下操作:
1)阻止任何用户建立新的连接和开始新事务;
2)将未提交的活动事务回退;
3)关闭数据库。
3.关闭事务shutdown transactional
当以该方式关闭数据库时,oracle将执行以下操作:
1)阻止任何用户建立新的连接和开始新事务;
2)等待所有活动事务提交后,再断开用户连接;
3)当所有的活动事务提交完毕、所有的用户都断开连接后,将关
闭数据库;
4.强行关闭shutdown abort