第12章数据库的启动与关闭

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第12章数据库的启动与关闭

数据库启动时会首先启动数据库实例(instance),在这个过程中数据库获得一些内存空间,并启动了必须的后台进程,而后会读取控制文件再进一步打开各种数据文件,最后完成数据库的启动任务。

在启动数据库时,涉及三种状态:nomount,mount,open,通常使用startup指令选择不同的参数就可以启动数据库到不同的状态来满足不同的业务需要。

关闭数据库和启动数据库正好相反,也涉及三个过程:close,dismount,shutdown。用户可以选择使用不同的参数normal,immediate,transactional,abort.在关闭数据库时,最好使用shutdown immediate方式,这种方式安全且相对较快。

12.1启动数据库

启动数据库需要以DBA用户的身份登录。

12.1数据库的启动过程

数据库的启动过程涉及到三个状态。

NOMOUNT状态:只打开了数据库实例。

NOUNT状态:打开控制文件。

OPEN状态:打开数据文件、日志文件等各类必须的数据库文件。

12.1数据库启动到NOMOUNT状态

搜索参数文件,如数据库缓冲区大小、重做日志缓冲区大小等。根据这些参数分配内存,即SGA,然后启动必须的五个后台进程。

数据库的启动过程记录在告警追踪文件中,存放在BACKGROUND_DUMP_DEST 定义的目录下,名字为aler_orcl.log。

SQL>show parameter background_dump_dest;

SQL>select *

SQL>from v$controlfile;_________会发现此时控制文件没有打开。

SQL>show parameter control_files;

12.1.3数据库启动到MOUNT状态

有两种方式,一是可以直接启动数据库到MOUNT状态;二是如果数据库已经启动到NOMOUNT状态,使用指令ALTER DATABASE MOUNT把数据库切换到MOUNT 状态。

SQL>select *

SQL>from scott.dept;__________会发现些时数据文件没有打开。

12.1.4数据库启动到OPEN状态

ORACLE需要检验数据文件的头信息,进行点计数器检查和SCN检查来完成实例恢复。

数据库启动到OPEN状态,有两种方式,一是直接启动到OPEN状态,使用指令startup open或startup来实现。二是如果数据库处于NOMOUNT或MOUNT状态,可以使用指令alter database open切换到OPEN状态。

12.2关闭数据库

也涉及到三个过程:CLOSE,DISMOUNT,SHUTDOWN。

SQL>Alter database close;

SQL>Alter database dismount;

SQL> shutdown;

关闭数据库时的重要参数解析

1.SHUTDOWN NORMAL

这种方式是SHUTDOWN数据库的默认方式,不允许新的数据库连接,只有当前的所有连接都退出时才会关闭数据库,这是一种安全地关闭数据库的方式,但是如果有大量用户连接,则需要较长时间关闭数据库。

2.SHUTDOWN IMMEDIATE

这种方式是可以较快且安全地关闭数据库,是经常采用的一种方式,些时数据库会做一些操作,如中断当前事务、回滚未提交的事务、强制断开所有用户连接、执行检查点把脏数据写到数据文件中等。

3.SHUTDOWN TRANSACTIONAL

数据库当前的连接继续执行,但不允许新的连接,一旦当前的所有事务执行完毕,则关闭数据库。如果当前的某些事务一直执行,或许会用几天时间关闭数据库。4.SHUTDOWN ABORT

这是一种不安全地关闭数据库的方法。数据库会断开当前的所有用户连接,拒绝新的连接,断开当前的所有执行事务,立即关闭数据库。当数据库重启时需要进行数据库恢复,因为它不会对未完成事务回滚,也不会执行检查点操作。

相关文档
最新文档