数据库的启动有三中
1:startup nomount 这种过程又称为:非安装启动
启动过程为:启动oracle实例,不加载数据库,不打开数据库。在这个过程中只需要init.ora初始化参数文件,重建控制文件,即启动SGA和后台进程
在以下几种情况下需要用到这种模式:
A:数据库的控制文件全部损害
B:需要创建数据库的控制文件和创建一个新的数据库时。
2:startup mount 这种过程又被成为:安装启动
启动过程:打开控制文件,确认数据文件和联机日志文件的位置,但此时不对数据文件和日志文件进行一致性,正确性等校验检查。
在以下几种情况下需要用到这种模式:
A:数据库归档日志
B:数据库介质恢复
C:使数据文件联机或脱机
D:重新定位数据文件、重做日志文件
3:startup (open)这里可以加上open,也可以不加open。
以这种方式启动的数据库过程为:启动数据库实例 装载数据库 打开数据库。这种方式又执行了包括Redo log文件在内的所有数据库文件,并检查一致性等,进行crash恢复,这种方式下可访问数据库中的数据。
还有以下几种情况:
只读方式打开数据
Startup mount; ALTER DATABASE OPEN READ ONLY
约束方式启动
在进行数据库装载或数据的导入或导出时,希望数据库对你打开但不对普通用户打开,可以用这种方式来启动数据库。
Startup restrict;
如果你结束了维护,希望对普通用户开放数据库,那么执行下面的命令:
Alter system disable restricted session;
而下面的这命令等同于STARTUP RESTRICT
ALTER SYSTEM ENABLE RESTRICTED SESSION;这个命令并不妨碍现有的用户,除非新登录的用户具有限制会话权限。
非特权用户访问时,会出现以下提示:
ERROR:
ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用
startup force
强制启动方式
若在正常启动数据库时遇到一些麻烦,或在上次关闭数据库时不能正常关闭,则可以采取强制启动
先关闭数据库,再执行正常启动数据库命令
startup pfile=参数文件名
带初始化参数文件的启动方式
先读取参数文件,再按参数文件中的设置启动数据库,它并不影响数据库的运行方式
例:startup pfile=E:/Oracle/admin/oradb/pfile/init.ora
数据库关闭:shutdown
shutdown有四个参数,四个参数的含义如下: Normal 需要等待所有的用户断开连接 Immediate 等待用户完成当前的语句 Transactional 等待用户完成当前的事务 Abort 不做任何等待,直接关闭数据库
normal
这个命令一旦发出,任何用户不能再链接到数据库。
在关闭数据库之前,oracle等待所用用户退出会话。
重启数据库不需要实例恢复,因为oracle会在关闭以前,把所有重做日志缓冲区和数据块缓冲区内容写到磁盘,因此关闭时是一致的。
oracle关闭数据文件并终止后台进程,oracle的SGA被解除分配。
所以有的时候看起来好象命令没有运行一样!
immediate
transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。 abort 执行强行断开连接并直接关闭数据库。 前三种方式不回丢失用户数据。第四种在不的已的情况下,不建议采用!以abort方式关闭的数据库再次启动时必须要进行恢复动作,这些恢复操作同样是系统自动来完成的,需要的时间较长。
在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。一旦执行了这条命令,则将当前正在处理的sql语句马上停止,然后将所有未提交的事务回退,并且不等待当前联入数据库的用户断开连接,而是由系统强行将各个联接断开。在下次启动数据库时要执行恢复动作,不过是由系统自动执行的,用户不必去了解它。