以下的文章主要是对Oracle启动方式与相关的Oracle命令参数进行相关汇总,希望你在浏览完以下的文章会对Oracle启动方式与相关的Oracle命令参数的实际应用加深印象。以下就是相关内容的介绍。
Oracle启动方式:
startupnomount startupmount startupopen(startup的默认选项)
其他常用的参数:read only ,read write ,force,restrict
这些参数可以一起使用,比如 startup 与 startup open read write 是一样的效果。
Oracle启动过程:启动实例 -> 装载数据库 -> 打开数据库
与之对应的读取相应文件的顺序: 参数文件 -> 控制文件 -> 数据文件
我们验证一下这些步骤的区别:
startup nomount
使用nomount方式启动数据库时,表示只启动数据库实例,不装载数据库,不打开数据库
这时只读取参数文件,主要有两部分工作:一是分配内存SGA区,二是启动Oracle后台进程
如下我们修改Oracle参数文件的名称,并以nomount 的方式Oracle启动数据库
这里需要将pfile,spfile 都进行修改,数据库默认使用spfile启动,在找不到spfile时用pfile启动。
[Oracle@localhostdbs]$pwd /Oracle/orc10g/product/10.1.0/db_1/dbs [Oracle@localhostdbs]$mvinitorcl.orainitorcl1.ora [Oracle@localhostdbs]$mvspfileorcl.oraspfileorcl1.ora SYS@orcl>shutdownabort Oracleinstanceshutdown. SYS@orcl>startupnomount ORA-01078:failureinprocessingsystemparameters LRM-00109:couldnotopenparameterfile '/Oracle/orc10g/product/10.1.0/db_1/dbs/initorcl.ora' SYS@orcl>
保持参数文件正确,修改控制文件名称
[Oracle@localhostorcl]$pwd /Oracle/orc10g/oradata/orcl [Oracle@localhostorcl]$mvcontrol01.ctlcontrol01a.ctl [Oracle@localhostorcl]$mvcontrol02.ctlcontrol02a.ctl [Oracle@localhostorcl]$mvcontrol03.ctlcontrol03a.ctl ..... SYS@orcl>startupnomount Oracleinstancestarted. TotalSystemGlobalArea167772160bytes FixedSize778212bytes VariableSize61874204bytes DatabaseBuffers104857600bytes RedoBuffers262144bytes SYS@orcl>
在nomount的方式下修改控制文件名称,并没有报错。说明在nomount的方式下,并没有读取控制文件。
继续以上的步骤,我们以mount的方式启动:
SYS@orcl>alterdatabasemount; alterdatabasemount * ERRORatline1: ORA-00205:errorinidentifyingcontrolfile, checkalertlogformoreinfo
装载数据库时,需要读取控制文件确定数据文件的位置。
继续上面的例子,我们将控制文件修改正确,使数据库可以正确的找到控制文件,
我们修改数据文件的名称.
[Oracle@localhostorcl]$mvtp_test.dbftp_test1.dbf ..... SYS@orcl>startupmount Oracleinstancestarted. TotalSystemGlobalArea167772160bytes FixedSize778212bytes VariableSize61874204bytes DatabaseBuffers104857600bytes RedoBuffers262144bytes Databasemounted.
虽然我修改了数据文件,但是在mount的方式下,并没有报错。说明在mount的方式下,启动过程只读取了参数文件和控制文件。
下面我们打开数据库。
SYS@orcl>alterdatabaseopen 2; alterdatabaseopen * ERRORatline1: ORA-01157:cannotidentify/lockdatafile5-seeDBWRtracefile ORA-01110:datafile5:'/Oracle/orc10g/oradata/orcl/tp_test.dbf'
提示我们找不到tp_test.dbf这个文件了。
至此我们大概的了解了数据库的启动过程以及Oracle启动过程中每一步骤的所做的工作和读取的文件。
总结如下:Oracle按照如下过程启动数据库
nomount
启动实例 | mount
(参数文件)| 装载数据库 | open
(控制文件)| 打开数据库
(数据文件)
1.nomount方式下还没有读取控制文件,该选项用于在数据库的控制文件全部损坏,需要重新创建数据库控制文件或创建一个新的数据库时使用。
2.mount 选项下并没有打开数据文件,该选项可以用来修改数据库的运行模式或进行数据库恢复。