Oracle启动过程介绍及命令,还有关闭。
写在前面:启动数据库前,请先启动监程序。
lsnrctl start 启动的三个步骤,依次为1.创建并启动实例、2.装载数据库、3.打开数据库。 可以通过命令startup来实现。 startup 命令格式 startup [ nomount | mount | open | force ] [ restrict ] [ pfile=filename ]; 方法1 -- startup nomount ; alter database mount ;alter database open 方法2 -- startup mount ; alter database open 方法3 -- startup 或 startup open 在进入某种模式后,可以通过alter database来提升到更高的模式。但是无法降低至前面的模式。 书上写的真磨叽,就是说你在step2这里,你可以通过alter database到step3,但是你不能到step 1. startup force 强制启动,可用于各种模式。正常的起不来,就试试这个。 startup restrict restrict模式会将数据库置于open模式,此时只有restricted session权限的用户才能访问数据库。 用于维护动作。维护完成后,请禁用restricted session权限,以便普通用户的连接。如下: alter system disable restricted session 1:创建并启动实例 stratup nomount 此模式下执行维护动作: a:运行一个创建新数据库的脚本 b:重建控制文件 2:装载数据库 startup mount 此模式下执行维护动作: a:重命名数据文件 b:添加、删除、重命名重做日志文件 c:执行数据库完全恢复操作 d:改变数据库的归档模式。 3:打开数据库 stratup 等同于 startup open 此模式状态下。任何具有create session权限的用户都可以连接到数据库。进行常规数据库操作。 关闭数据库,通过shutdown命令 shutdown 命令格式 shutdown [ normal | transactional | immediate | abort ]; normal: a:阻止任何用户建立新的连接 b:等待连接的用户主动断开,正在连接的用户可以继续工作,甚至提交新的实务。 c:一旦所有的用户断开连接,才进行关闭,卸载数据库,并终止实例。 影响:等很久。 transactional: a:阻止任何用户建立新的连接,同时阻止产生新的事务。 b:等待未提交的实务,提交完毕后,切断用户的连接。 c:一旦所有的用户断开连接,才进行关闭,卸载数据库,并终止实例。 影响:最好的关闭数据库的方式。 immediate: a:阻止任何用户建立新的连接,同时阻止产生新的事务。 b:任何未提交的实务都会被回滚。 c:Oracle不再等待用户主动断开连接,而是直接关闭、卸载数据库,并终止实例。 影响:有些实务不会提交成功。重启之后不需要恢复动作。无伤害。 abort: a:阻止任何用户建立新的连接,同时阻止产生新的事务。 b:立即结束当前正在执行的sql语句。 c:任何未提交的实务都不会被回滚。 d:立即断开所有用户连接,关闭、卸载数据库,并终止实例。 影响:关的是快,但是会造成数据信息丢失,下一次启动会需要恢复动作。不要使用此方法。 |