深入Oracle启动方式的实际应用

数据库 Oracle
我们今天和大家一起讨论的是Oracle启动方式,以及Oracle启动方式与相关的Oracle命令参数进行相关汇总的相关内容的描述。

以下的文章主要是对Oracle启动方式与相关的Oracle命令参数进行相关汇总,希望你在浏览完以下的文章会对Oracle启动方式与相关的Oracle命令参数的实际应用加深印象。以下就是相关内容的介绍。

Oracle启动方式:

 

  1. startup nomount  
  2. startup mount  
  3. startup open (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启动。

 

  1. [Oracle@localhost dbs]$ pwd  
  2. /Oracle/orc10g/product/10.1.0/db_1/dbs  
  3. [Oracle@localhost dbs]$ mv initorcl.ora initorcl1.ora  
  4. [Oracle@localhost dbs]$ mv spfileorcl.ora spfileorcl1.ora  
  5. SYS@orcl>shutdown abort  
  6. Oracle instance shut down.  
  7. SYS@orcl>startup nomount  
  8. ORA-01078: failure in processing system parameters  
  9. LRM-00109: could not open parameter file 
    '/
    Oracle/orc10g/product/10.1.0/db_1/dbs/initorcl.ora'  
  10. SYS@orcl> 

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

 

  1. [Oracle@localhost orcl]$ pwd  
  2. /Oracle/orc10g/oradata/orcl  
  3. [Oracle@localhost orcl]$ mv control01.ctl control01a.ctl  
  4. [Oracle@localhost orcl]$ mv control02.ctl control02a.ctl  
  5. [Oracle@localhost orcl]$ mv control03.ctl control03a.ctl  
  6. .....  
  7. SYS@orcl>startup nomount  
  8. Oracle instance started.  
  9. Total System Global Area 167772160 bytes  
  10. Fixed Size 778212 bytes  
  11. Variable Size 61874204 bytes  
  12. Database Buffers 104857600 bytes  
  13. Redo Buffers 262144 bytes  
  14. SYS@orcl> 

 

在nomount的方式下修改控制文件名称,并没有报错。说明在nomount的方式下,并没有读取控制文件。

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

 

  1. SYS@orcl>alter database mount;  
  2. alter database mount  
  3. *  
  4. ERROR at line 1:  
  5. ORA-00205: error in identifying controlfile, 
    check alert log for more info  

 

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

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

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

 

  1. [Oracle@localhost orcl]$ mv tp_test.dbf tp_test1.dbf  
  2. .....  
  3. SYS@orcl>startup mount  
  4. Oracle instance started.  
  5. Total System Global Area 167772160 bytes  
  6. Fixed Size 778212 bytes  
  7. Variable Size 61874204 bytes  
  8. Database Buffers 104857600 bytes  
  9. Redo Buffers 262144 bytes  
  10. Database mounted.  

 

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

下面我们打开数据库。

 

  1. SYS@orcl>alter database open  
  2. 2 ;  
  3. alter database open  
  4. *  
  5. ERROR at line 1:  
  6. ORA-01157: cannot identify/lock data file 5 - see DBWR trace file  
  7. ORA-01110: data file 5: '/Oracle/orc10g/oradata/orcl/tp_test.dbf'  

 

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

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

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

nomount
 
启动实例 | mount

(参数文件)  | 装载数据库 | open

(控制文件)  | 打开数据库

(数据文件)

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

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

【编辑推荐】

  1. Oracle表列的修改具体步骤介绍
  2. Oracle数据库中表的连接方式的讲解
  3. 创建Oracle procedure并调用在pl/sql里
  4. Oracle存储过程的用法简介
  5. Oracle数据库的重复数据删除技术的优势体现
责任编辑:佚名 来源: 博客园
相关推荐

2010-05-10 09:21:52

Oracle数据获取

2010-03-31 16:11:00

Oracle启动

2010-04-08 18:33:46

Oracle VARR

2010-03-30 14:32:38

Oracle Date

2010-04-09 16:26:53

Oracle join

2010-03-29 15:33:18

Oracle EXP

2010-03-31 17:40:15

Oracle SELE

2010-04-06 16:00:19

Oracle更改表

2010-04-29 09:16:16

Oracle密码过期处

2010-05-04 15:15:39

Oracle分页查询

2010-04-09 09:28:30

Oracle自增字段

2010-04-21 13:31:11

Oracle时间

2010-04-28 15:04:37

Oracle数据

2010-04-21 12:35:01

Oracle导入

2010-04-29 16:15:06

Oracle flas

2010-05-06 15:44:08

Oracle Nvl函

2010-04-15 09:36:42

2009-12-15 09:34:09

路由信息协议

2010-04-27 09:28:55

绑定变量

2010-04-12 12:30:44

Oracle 安装脚本
点赞
收藏

51CTO技术栈公众号