ITPUB个人空间+D5sc0?C']启动数据库shutdown-nomount-mount-open
shutdown-nomount(实例启动过程):读取初始化参数文件和写入告警日志,
启动oracle实例,也就是为实例创建各种内存结构跟服务进程,但是在这一过程中不对控制文件跟数据文件进行任何操作。
DBA一般在这样的模式下主要进行下面两种管理工作:
1.创建新的数据库
2.重建控制文件
nomount-mount(数据库加载过程):根据初始化参数文件中有关于控制文件的设置查找控制文件,再读取里面的内容。根据控制文件的内容查找相应物理文件是否存在,一切正确之后进入mount模式。
DBA一般在这样的模式下主要进行下面几种管理工作:
1.对数据文件进行改名操作
2.添加,删除,重命名重做日志文件
3.恢复数据库
4.改变数据库归档模式在这个模式下已经不能进行创建新的数据库跟重建控制文件了,因为已经打开了控制文件只能对它进行修改了。
mount-open(打开数据库过程):数据文件和联机重做日志文件的名称和位置都从控制文件中读取。加载和打开数据的进程为SMON.所有的数据文件和联机重做日志文件在数据据库打开前都必须同步的,否则ORACLE就必须先修复损坏的文件。
在这种模式下用户可以对数据库进行查询,修改,插入等操作。
在这个模式下DBA不能进行在nomount模式跟mount模式下的各种操作。
强行启动数据库:startup force(就是加了force这个关键字)指定初始化参数文件启动数据库
转换启动模式:
SQL>startup nomount
SQL>alter database mount
SQL>alter database open转换启动只可以从底的模式转换到高的模式不能从高的转换到低的,但是可以用force关键字强行转换启动。
以受限方式打开数据库DBA对数据库进行以下管理的时候数据库必须处于受限方式:
1.执行数据的导入或者导出操作
2.使用SQL*Loader执行数据装载操作
3.禁止一般用户访问数据库
4.进行数据库移植或升级操作以受限方式打开数据库,一般用户登陆数据库会被拒绝。
命令:SQL>startup restrict
在非受限方式下转换成受限方式:SQL>alter system enable restricted session;
在受限方式下转换成非受限方式:SQL>alter system disable restricted session;
在转换为受限方式之前oracle可能有用户正连接到数据库上,最好终止这些用户的会话。
命令:SQL>alter system kill session 'SID,SERIAL#';
其中SID表示会话ID,是会话标识符;SERIAL#表示会话序列号,用于区别会话,可以使用下列语句查询:SQL>select sid,serial#,username,type from v$session;
以只读方式打开数据库在mount模式下执行命令:SQL>alter database open read only;
关闭数据库
一正常关闭方式(normal)这是数据库默认的关闭方式,活动的事务通过PMON进程被回滚,已经完成的事务通过DBWn进程被转储至磁盘,同时数据文件和重做日志文件被关闭,在数据库卸载阶段,控制文件被关闭。随后通过解除分配SGA和终止后台进程,实例被停止。执行normal方式关闭数据库操作后,oracle将执行以下操作
1.禁止任何用户建立新的连接
2.等待当前用户主动断开连接,在此期间用户还是可以进行数据库的查询修改删除等操作。
3.所有用户断开连接以后,数据库将进行关闭数据库,卸载数据库和关闭实例操作采用normal方式是一致跟完整的。
二事务关闭方式(transactional)在这种方式下,oracle将等待所有正在执行的事务执行完毕,如果用户没有执行完毕或者回退的话,oracle将一直等待执行transactional方式关闭数据库操作后,oracle将执行以下操作
1.禁止建立新的连接,而且不允许连接到数据库上的用户再执行新的事务
2.等待所有正在执行的事务完成
3.所有事务完成以后,oracle断开所有连接,开始关闭数据库,卸载数据库和关闭实例采用transactional方式是一致跟完整的。三立即关闭方式(immediate)采用这种方式,数据库将没有提交的事务全部回退,断开所有用户的连接最后关闭数据库。可以大大缩短数据库关闭的时间,对于一些需要马上关闭的操作很有用,比如:
1.即将开始数据库自动备份
2.即将发生系统断电事故
3.无法通知用户断开连接
DBA执行immediate方式关闭数据库以后,oracle将执行以下操作:
1.禁止建立新的连接,而且不允许连接到数据库上的用户再执行新的事务
2.回退所有未提交的事务
3.oracle断开所有连接,开始关闭数据库,卸载数据库和关闭实例等操作采用immediate方式是一致跟完整的。
四终止关闭方式(abort)这是一种最快的数据库关闭方式。oracle将立即终止SQL语句的执行,也不对未提交的事务进行回退操作,对于数据完成性不做检查,因此不能保证数据的完整性。最好在以下特殊情况下使用:
1.数据库出现异常,无法用其他方式关闭数据库
2.需要立即关闭数据库(比如说一分钟之内发生断电事故)
3.启动数据库过程出现故障数据库执行
abort关闭方式后,oracle将执行以下操作:
1.禁止建立新的连接,而且不允许连接到数据库上的用户再执行新的事务
2.立即终止SQL语句执行
3.不回退正在执行的事务
4.数据库高速缓存的内容不会写到数据文件中
5.重做日志缓存的内容不会写到重做日志文件中
6.oracle断开所有连接,开始关闭数据库,卸载数据库和关闭实例等操作由于oracle关闭过程中没有回退正在执行的事务,关闭后数据文件跟重做日志文件不一致。在重新启动数据库打开数据库时,SMON进程会启动实例恢复进程进行实例恢复(数据库自动进行)。