数据库实例启动:NOMOUNT状态;
数据库装载:MOUNTED状态;
数据库打开:OPEN状态。
解析:
(1)、举例简述:
对于数据库的启动介绍前先举一个简单例子,如果我们打算开一家公司,一般会先有初始化的规划,把初始化的规划思路整理成书面材料文件,然后招聘有经验的相关部门的管理人员组成一个团队,其次是招聘每个部门里的基层员工,这样一个简单的公司体系就形成了。
启动oracle数据库如同上面的例子一样,数据库启动时,先要找到初始化文件(spfile/pfile),这时数据库处在nomount状态,这相当于创办公司的初始阶段;其次根据初始文件找到控制文件,这时数据库处于mount状态,这相当于创业时最初组建的管理团队。在之后会根据控制文件找到数据文件、重做日志文件,从而处在open状态,这时用户可以访问数据库了。如同一个公司的体系初步建设起来了。
(2)、实验验证:
输入第1行命令:sqlplus/nolog;
说明:
启动SQLPLUS但不进行登录,只是进入sqlplus软件,相当于打开一个登录窗口,用户名、密码是接下来才输入的,这样输入能够让下面的输入不显示密码起到安全的作用。
输入第2行命令:conn / as sysdba;
说明:
oracle在登录时,有三种身份认证方式:操作系统身份认证、密码文件认证、数据库认证。而conn /as sysdba是属于操作系统认证。你当前电脑开机时登录的用户,也就是进入操作系统的用户,例如Win xp系统下是Administrator,它在你电脑的ORA_DBA组中。可以在“我的电脑”单击右键,找到“管理”,选择“本地用户和组”,发现有一个组叫“ORA_DBA”,双击它,看到成员列表中有“Administrator”。也就是在conn /as sysdba,oracle会进行操作系统验证,发现你当前登录的用户就属于Administrator组,因此才可以登录成功。你可以把ORA_DBA组中的“Administrator”用户删除,再conn /as sysdba,就发现进不去了。
输入第3行命令:SQL> shutdown; ------------shutdown
输入第4行命令:SQL> select status from v$instance;
说明:
查询当前实例的状态,v$instance是个视图。这个状态指明的是数据库在用startup启动以后的所处的状态。
输入第5行命令:SQL> startup nomount; ------------started
输入第6行命令:SQL> select status from v$instance;
输入第7行命令:SQL> alter database mount; ------------mounted
输入第8行命令:SQL> select status from v$instance;
输入第9行命令:SQL> alter database open; ------------open
输入第10行命令:SQL> select status from v$instance;
输入第11行命令:SQL> shutdown;