当前位置 > 主页 > 万和大讲堂 >


南京OCP培训 Oracle nomount mount open直接的关系

2016-01-27 10:12

  Oracle的启动方式:

 

  startup nomount

 

  startup mount

 

  startup open (startup的默认选项)

 

  其他常用的参数:read only ,read write ,force,restrict

 

  这些参数可以一起使用,比如 startup 与 startup open read write 是一样的效果。南京Oracle认证培训

 

  Oracle的启动过程:启动实例  -> 装载数据库 -> 打开数据库

 

  与之对应的读取相应文件的顺序: 参数文件 -> 控制文件 -> 数据文件

 

  我们验证一下这些步骤的区别:

 

  startup nomount

 

  使用nomount方式启动数据库时,表示只启动数据库实例,不装载数据库,不打开数据库。南京OCP培训

 

  这时只读取参数文件,主要有两部分工作:一是分配内存SGA区,二是启动Oracle后台进程

 

  如下我们修改Oracle参数文件的名称,并以nomount 的方式启动数据库

 

  这里需要将pfile,spfile 都进行修改,数据库默认使用spfile启动,在找不到spfile时用pfile启动。南京Oracle认证培训

 

  [Oracle@localhost dbs]$ pwd

 

  /Oracle/orc10g/product/10.1.0/db_1/dbs

 

  [Oracle@localhost dbs]$ mv initorcl.ora initorcl1.ora

 

  [Oracle@localhost dbs]$ mv spfileorcl.ora spfileorcl1.ora

 

  SYS@orcl>shutdown abort

 

  Oracle instance shut down.

 

  SYS@orcl>startup nomount

 

  ORA-01078: failure in processing system parameters

 

  LRM-00109: could not open parameter file '/Oracle/orc10g/product/10.1.0/db_1/dbs/initorcl.ora'

 

  SYS@orcl>

 

  #保持参数文件正确,修改控制文件名称

 

  [Oracle@localhost orcl]$ pwd

 

  /Oracle/orc10g/oradata/orcl

 

  [Oracle@localhost orcl]$ mv control01.ctl control01a.ctl

 

  [Oracle@localhost orcl]$ mv control02.ctl control02a.ctl

 

  [Oracle@localhost orcl]$ mv control03.ctl control03a.ctl

 

  .....

 

  SYS@orcl>startup nomount

 

  Oracle instance started.

 

  Total System Global Area 167772160 bytes

 

  Fixed Size 778212 bytes

 

  Variable Size 61874204 bytes

 

  Database Buffers 104857600 bytes

 

  Redo Buffers 262144 bytes

 

  SYS@orcl>

 

  在nomount的方式下修改控制文件名称,并没有报错。说明在nomount的方式下,并没有读取控制文件。南京Oracle认证培训

 

  继续以上的步骤,我们以mount的方式启动:

 

  SYS@orcl>alter database mount;

 

  alter database mount

 

  *

 

  ERROR at line 1:

 

  ORA-00205: error in identifying controlfile, check alert log for more info

 

  装载数据库时,需要读取控制文件确定数据文件的位置。

 

  继续上面的例子,我们将控制文件修改正确,使数据库可以正确的找到控制文件,南京OCP培训

 

  我们修改数据文件的名称.

 

  [Oracle@localhost orcl]$ mv tp_test.dbf tp_test1.dbf

 

  .....

 

  SYS@orcl>startup mount

 

  Oracle instance started.

 

  Total System Global Area  167772160 bytes

 

  Fixed Size                   778212 bytes

 

  Variable Size              61874204 bytes

 

  Database Buffers          104857600 bytes

 

  Redo Buffers                 262144 bytes

 

  Database mounted.

 

  虽然我修改了数据文件,但是在mount的方式下,并没有报错。说明在mount的方式下,启动过程只读取了参数文件和控制文件。南京OCP培训

 

  下面我们打开数据库。

 

  SYS@orcl>alter database open

 

  2 ;

 

  alter database open

 

  *

 

  ERROR at line 1:

 

  ORA-01157: cannot identify/lock data file 5 - see DBWR trace file

 

  ORA-01110: data file 5: '/Oracle/orc10g/oradata/orcl/tp_test.dbf'

 

  提示我们找不到tp_test.dbf这个文件了。

 

  至此我们大概的了解了数据库的启动过程以及启动过程中每一步骤的所做的工作和读取的文件。南京OCP培训

 

  总结如下:Oracle按照如下过程启动数据库

 

  nomount

 

  ------------

 

  启动实例   |  mount

 

  (参数文件)  |---------------

 

  | 装载数据库    |  open

 

  (控制文件)     |-----------

 

  | 打开数据库

 

  (数据文件)

 

  1.nomount方式下还没有读取控制文件,该选项用于在数据库的控制文件全部损坏,需要重新创建数据库控制文件或创建一个新的数据库时使用。南京OCP培训

 

  2.mount 选项下并没有打开数据文件,该选项可以用来修改数据库的运行模式或进行数据库恢复。


最近开班 more>
  • Web前端开发
  • 软件测试
  • 软件测试预科班
  • AI大模型+全栈开发开班
  • 云原生精英班
  • 云网预科班
  • 开发课程基础班第三期
  • 开发课程基础班第二期
  • 开发课程基础班第五期
  • Java全栈
  • CISP
  • HCIP-cloud
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • OCP 19C
  • RHCA
  • 6月9日
  • 5月21日
  • 5月14日
  • 6月9日
  • 5月7日
  • 5月26日
  • 5月19日
  • 5月12日
  • 6月3日
  • 6月9日
  • 随时开课
  • 7月12日
  • 5月19日
  • 5月19日
  • 5月7日
  • 5月10日
  • 5月24日
  • 5月24日
  • 随时开课
  • 随时开课
    • 姓 名 :
    • 电 话 :
    • 课 程 :

技术交流群

  • Java大数据交流群560819979加入
  • Python技术交流群595083299加入
  • Oracle技术交流群595119011加入
  • Web前端技术交流群604697610加入
  • Huawei技术交流群482919361加入
  • Redhat技术交流群587875348加入
  • UI设计技术交流群511649801加入
  • Cisco技术交流群596886705加入
  • IT运维技术交流群605888381加入