写在开头
经过前面的学习,我们了解到Oracle数据库系统由实例和数据库两部分组成。为了使客户程序能够访问Oracle数据库系统,必须在服务器端启动实例并打开数据库,也就是启动Oracle数据库。
一、启动数据库的步骤
1. 创建并启动数据库对应的实例:
将为实例创建一系列后台进程和服务进程并在内存中创建SGA区等内存结构。此过程只会用到初始化参数文件,数据库是否存在对实例启动没有影响。
2. 为实例加载数据库:
加载数据库时实例将打开数据库的控制文件,从中获取数据库名称、数据文件的位置和名称等有关数据库物理结构的信息,为打开数据库做好准备。
3. 将数据库状态设置为打开:
只有将数据库设置为打开状态后,数据库才处于正常运行状态,这时普通用户才能够访问数据库。
二、启动模式
我们正常登陆数据为open模式,自动完成启动数据库的三个步骤。
正常登陆时为open模式,若要启动到其它模式,应先关闭数据库,但用立即关闭时会发现普通用户的权限不足
这时候我们要以系统管理员身份连接进去
下面进行四个模式的相关演练:
1.nomount模式
进行数据库的维护工作时必须在此模式下进行。
2.mount模式
在执行一些特定的维护工作,如重命名数据文件、添加删除或者重命名重做日志文件、执行数据库完全恢复操作以及改变数据库的归档模式等操作必须在mount模式下进行。
3.open模式
正常启动模式
4.force模式
以上三种都无法成功启动数据库,用该模式强制启动数据库。
如果大家在等待过程中进行了误操作,出现ORA-01034: ORACLE not available,--------点击这里---------
三、转换启动模式
模式的切换用该语句
alter database /*模式*/;
切换的情况:nomount–>mount–>open(不可逆向切换)
注意:使用语句大家一定记得加分号!
同样在启动模式时,大致的顺序为nomount–>mount–>open,关闭则与之相反。
四、数据库的关闭
前面我们已经用到了关闭数据库的一些命令了,下面我们具体来学习下。简言之,关闭就是启动数据库的逆过程。
1.normal方式
对关闭数据库的时间没有限制,正常方式关闭数据库。(时间太长不做演示啦~)
2.immediate方式
尽可能短的时间内关闭数据库,立即中断当前用户的连接,强行终止用户的当前事务,并将未完成的事务退回。前面启动数据库时我们用的就是该方式。
3.transaction方式
介于normal方式和immediate方式之间,能够在尽可能短的时间内关闭数据库,同时也可以保证当前所有的活动事务都可以被提交。
4.abort方式
数据库出现严重错误,前三种方式都无法关闭数据库,用该方式。
写在结尾
学一点,记录一点,进步一点。
最后,这是和同学一起创建的群,欢迎和大家一起学习。