oracle启动的一些基本命令

对于大多数Oracle DBA来说,启动和关闭Oracle数据库最常用的方式就是在命令行方式下的Server Manager。从Oracle 8i以后,系统将Server Manager的所有功能都集中到了SQL*Plus中,也就是说从8i以后对于数据库的启动和关闭可以直接通过SQL*Plus来完成

一、摘要

Oracle数据库的完整启动过程是分步骤完成的,包含以下3个步骤:

启动实例-->加载数据库-->打开数据库

因为Oracle数据库启动过程中不同的阶段可以对数据库进行不同的维护操作,对应我们不同的需求,所以就需不同的模式启动数据库。

1. Oracle启动需要经历四个状态:SHUTDOWN 、NOMOUNT 、MOUNT 、OPEN

2. Oracle关闭的四种方式:Normal, Immediate, Transactional, Abort

3. 启动和关闭过程详解


 
二、数据库启动过程

1.NoMount 模式(启动实例不加载数据库)

(1). 命令:startup nomount

(2). 讲解:这种启动模式只会创建实例,并不加载数据库,Oracle仅为实例创建各种内存结构和服务进程,不会打开任何数据文件。

在NoMount模式下,只能访问那些与SGA区相关的数据字典视图,包括VPARAMETER、VSGA、VPROCESS和VSESSION等,这些视图中的信息都是从SGA区中获取的,与数据库无关。

(3). 模式用途:

创建新数据库;
重建控制文件;
2.Mount模式(加载数据库但不打开数据库)

(1). 命令:startup mount

(2). 讲解:这种启动模式将为实例加载数据库,但保持数据库为关闭状态。因为加载数据库时需要打开数据库控制文件,但数据文件和重做日志文件都都无法进行读写,所以用户还无法对数据库进行操作。

在Mount模式下,只能访问那些与控制文件相关的数据字典视图,包括VTHREAD、VCONTROLFILE、VDATABASE、VDATAFILE 和 V$LOGFILE等,这些视图都是从控制文件中获取的。

(3). 模式用途:

重命名数据文件;
添加、删除或重命名重做日志文件;
执行数据库完全恢复操作;
改变数据库的归档模式;
3.Open模式(正常打开数据库)

(1). 命令:startup [open]

(2). 讲解:正常按3个步骤启动数据库。

(3). 模式用途:

平时不对数据库做什么维护,像只做应用开发,用这个模式就好了;
4.强制启动模式

(1). 命令:startup force

(2). 用途&讲解:

在某些情况下,使用前面的各种模式都无法成功启动数据库时,可以尝试强制启动模式。
5. 其他

使用Alter Database语句,还可以在各启动模式间切换。并且,还可以对数据库设置不同的状态用于不同的操作,如受/非受限抽状态、只读。

三、数据库关闭过程

1. Nomal(正常关闭方式)

(1). 命令:shutdown nomal

(2). 讲解:正常方式关闭数据时,Oracle执行如下操作:

阻止任何用户建立新的连接。
等待当前所有正在连接的用户主动断开连接(此方式下Oracle不会立即断掉当前用户的连接,这些用户仍然操作相关的操作)
一旦所有的用户都断开连接,则立即关闭、卸载数据库,并终止实例。(所以,一般以正常方式关闭数据库时,应该通知所有在线的用户尽快断开连接)
2. Immediate(立即关闭方式)

(1). 命令:shutdown immediate

(2). 讲解:

阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。
Oracle不等待在线用户主动断开连接,强制终止用户的当前事务,将任何未提交的事务回退。(如果存在太多未提交的事务,此方式将会耗费很长时间终止和回退事务)
直接关闭、卸载数据库,并终止实例。
3. Transactional(事务关闭方式)

(1). 命令:shutdown transactional

(2). 讲解:这种方式介于正常关闭方式跟立即关闭方式之间,响应时间会比较快,处理也将比较得当。执行过程如下:

阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。
等待所有未提交的活动事务提交完毕,然后立即断开用户的连接。
直接关闭、卸载数据库,并终止实例。
4. Abort(终止关闭方式)

(1). 命令:shutdown abort

(2). 讲解:这是比较粗暴的一种关闭方式,当前面3种方式都无法关闭时,可以尝试使用终止方式来关闭数据库。但是以这种方式关闭数据库将会丢失一部份数据信息,当重新启动实例并打开数据库时,后台进程SMON会执行实例恢复操作。一般情况下,应当尽量避免使用这种方式来关闭数据库。执行过程如下:

阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。
立即终止当前正在执行的SQL语句。
任何未提交的事务均不被退名。
直接断开所有用户的连接,关闭、卸载数据库,并终止实例。
 
四、案例数据库启动全过程

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

Step1. SQLPLUS /‘as sysdba‘

SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 3 22:48:27 2012

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to an idle instance.

Step2. Startup nomount

ORACLE instance started.

-->

Total System Global Area 167772160 bytes

Fixed Size         1218316 bytes

Variable Size       104859892 bytes

Database Buffers      58720256 bytes

Redo Buffers        2973696 bytes

[email protected]:~> ps -ef | grep ora_

oracle 3626 1 0 22:48 ? 00:00:00 ora_pmon_orcl1

oracle 3628 1 0 22:48 ? 00:00:00 ora_psp0_orcl1

oracle 3630 1 0 22:48 ? 00:00:00 ora_mman_orcl1

oracle 3632 1 0 22:48 ? 00:00:00 ora_dbw0_orcl1

oracle 3634 1 0 22:48 ? 00:00:00 ora_lgwr_orcl1

oracle 3636 1 0 22:48 ? 00:00:00 ora_ckpt_orcl1

oracle 3638 1 0 22:48 ? 00:00:00 ora_smon_orcl1

oracle 3640 1 0 22:48 ? 00:00:00 ora_reco_orcl1

oracle 3642 1 0 22:48 ? 00:00:00 ora_cjq0_orcl1

oracle 3644 1 0 22:48 ? 00:00:00 ora_mmon_orcl1

oracle 3646 1 0 22:48 ? 00:00:00 ora_mmnl_orcl1

oracle 3648 1 0 22:48 ? 00:00:00 ora_d000_orcl1

oracle 3650 1 0 22:48 ? 00:00:00 ora_s000_orcl1

Step3. Startup mount

Oracle instance started.

-->

Total System Global Area 167772160 bytes

Fixed Size 1218316 bytes

Variable Size 104859892 bytes

Database Buffers 58720256 bytes

Redo Buffers 2973696 bytes

Database mounted.

Step4. Startup

ORACLE instance started.

-->

Total System Global Area 167772160 bytes

Fixed Size 1218316 bytes

Variable Size 104859892 bytes

Database Buffers 58720256 bytes

Redo Buffers 2973696 bytes

Database mounted.

Database opened.

 

文章来源:http://www.jb51.net/article/53532.htm

原文地址:https://www.cnblogs.com/jackliu2013/p/8298287.html

时间: 2024-10-11 03:52:57

oracle启动的一些基本命令的相关文章

ORA-01078和LRM-00109问题导致ORACLE启动失败解决方法

操作环境 SuSE11 + ORACLE11gR2(11.2.0.3) 问题现象 新安装ORACLE启动失败,提示ORA-01078和LRM-00109错误.具体错误现象如下 SQL> startup ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/home/oracle/base/dbs/initora11g.ora'  问题分析 根据错误分析是查找不到参

Oracle 启动常见的疑难及安装卸载

转一位大神的笔记. 实例和数据库的启动与关闭是DBA的重要职责之一.只有打开数据库,其他用户才能对数据库中的数据进行操作.一旦数据库关闭,便不能对其操作.对于DBA们来说,关闭和重新启动数据库以便优化.调整应用程序的运行是经常碰到的事情.如果用户已经进入了数据库,使用SHUTDOWN IMMEDIATE 或SHUTDOWN ABORT命令来执行关闭数据库,则用户将失去连接,直到数据库重新启动.经常关闭和启动会对数据库性能造成一定的影响,当然也会影响到用户对数据库的使用.本文从管理数据库的角度来分

oracle启动与停止

oracle启动步骤: 1. su - oracle,进入oracle用户 2. 查看oracle监听是否已经起来:lsnrctl -status 3. 启动oracle监听程序:lsnrctl start 4.启动oracle: sqlplus / as sysdba 进入SQL> startup启动数据库 5. 停止oracle sqlplus / as sysdba 进入SQL> shutdown immediate关闭数据库 oracle启动与停止,布布扣,bubuko.com

深入剖析Oracle启动过程内部初始化

1 Oracle启动选项; Oracle数据库在startup启动时,Oracle将在默认位置$ORACLE_HOME/dbs中查找初始化参数文件:Oracle以下面的顺序在其中寻找合适的初始化文件: Spfile$ORACLE_SID.ora Spfile.ora Init$ORACLE_SID.ora 可以用几种方式启动oracle数据库,不同方式启动将影响启动数据库的程度,启动状态由nomount(数据库未装载)-->mount(数据库完成装载)-->open(数据库打开) 1.1 ST

oracle启动错误提示---hostname原因导致

#刚开始直接root用户登录,在etc目录,切换到oracle,输入lsnrctl start启动oracle时提示"lsnrctl: command not found" [[email protected]_test etc]# su oracle [[email protected]_test etc]$ lsnrctl start bash: lsnrctl: command not found #切换回root用户,cd /根目录, 再次su - oracle ,输入lsnr

Oracle启动和关闭服务

Oracle需要启动和关闭的服务: 1.OracleOracle_homeTNSListener     对应于数据库的监听程序 2.OracleServiceSID                                 对应于数据库的例程 3.OracleDBConsoleSID                         对应于Oracle Enterprise Manager(OEM) 注:其中OracleOracle_home表示Oracle主目录 其中SID表示Oracl

Oracle启动监听报错:The listener supports no services解决

Oracle启动监听报错:The listener supports no services解决 及ora-12514 未注册上服务问题. Oracle11g服务器重启系统之后,出现了几个莫名的报错,下面是其中一个,已解决. $ lsnrctl start 报错提示: The listener supports no servicesThe command completed successfully 这样启动后远程连接会报错:oracle ORA-12514:TNS:listener does

oracle启动,提示“LRM-00109: could not open parameter file”

oracle启动,提示“LRM-00109: could not open parameter file” LRM-00109: could not open parameter file '/home/oracle/oracle10g/dbs/initoms 今天连接Oracle数据库的时候,发现数据没启动,利用startup命令,出现错误提示如下: SQL> startupORA-01078: failure in processing system   parametersLRM-0010

Linux下Oracle启动、建立表空间、用户、授权、数据库导入导出

1.1进入到sqlplus启动实例 [[email protected] ~]$ su - oracle                                 --“切换到oracle用户”[[email protected] ~]$ lsnrctl start                               --“打开监听”[[email protected] ~]$ sqlplus /nolog                                --“进入到