启动数据库的前提条件:

  • 环境变量定义好($ORACLE_HOME,$ORACLE_SID,$PATH)
  • 能密码文件认证或OS认证(确保能登入sys)
  • 有正确的参数文件(启动数据库需要查找参数文件,默认找spfile实例名.ora,如果没有再找spfile.ora,如果没有再找initSID.ora。
  • 有足够内存
  • 参数文件中路径要存在,且有操作权限
  • 产品安装正确

告警日志的存储位置由background_dump_dest这个参数决定.

SQL> show parameter back

NAME                                 TYPE        VALUE

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

background_core_dump                 string      partial

background_dump_dest                 string      /u01/app/oracle/diag/rdbms/gaga01/gaga01/trace

数据库启动或关闭的时间

所有非缺省初始化参数的列表

后台进程的启动

例程使用的线程

正在向其中写入信息的日志序列号LGWR

有关日志切换的信息

表空间的创建和回滚段的创建

已发出的警报声明

有关ORA-600等错误消息和区错误的信息

Oracle 启动关闭命令(启动与关闭数据库通用方式:sqlplus命令或dbstart/dbshut)

一、使用sqlplus指令

启动

关闭

Startup

Shutdow

Startup nomount

Shutsown transactional

Alter database mount

Shutdown immediate

Alter database open

Shutdown abort

二:dbstar/dbshut

[oracle@WHOST Desktop]$ which dbstart

/u01/app/oracle/product/11.2.4/dbhome_1/bin/dbstart

[oracle@WHOST Desktop]$ which dbshut

/u01/app/oracle/product/11.2.4/dbhome_1/bin/dbshut

需要配置/etc/oratab文件,Y为能被启动,N为不能被启动

[oracle@WHOST Desktop]$ vi /etc/oratab

gaga01:/u01/oracle/11g:Y

ORACLE启动时是否要把监听自动启动?

需要修改ORACLE_HOME_LISTENER=$ORACLE_HOME或$1修改为$ORACLE_HOME

[oracle@WHOST Desktop]$ vi /u01/app/oracle/product/11.2.4/dbhome_1/bin/dbstart

启动数据库 分三个阶段:

  • 阶段一:启动实例:nomount阶段
  • 阶段二:装载数据库:mount阶段
  • 阶段三:打开数据库:open阶段

启动实例

nomount阶段

Startup nomount

      • 实例启动
      • 读取参数文件并判断定义是否有错误

参数文件查找原则:spfilesid.ora spfile.ora initsif.ora

      • 内存分配:根据参数定义分配相关内存
      • 打开alert文件,跟踪文件并记录信息
      • 启动相关的后台进程

tail -f /u01/oracle/admin/wendy/bdump/alter_wendy.log

本阶段用的文件是参数文件,instance启动完毕,处理nomount阶段

查看参数文件位置:

Show parameter spfile

Select name,value from v$parameter where name='spfile';

启动数据库与参数文件:

Startup nomount

Ho rm /u01/oracle/11g/dbs/spfilewendy.ora

Startup pfile='/u01/oracle/initwendy.ora' nomount

Create spfile from pfile='/u01/oracle/initwendy.ora';

此时,不可对数据做操作,可以

修改参数create pfile/spfile,

alter system set

alter session

装载数据库

mount阶段

Alter database mount

使数据库与以前启动的实例关联

定位并打开参数文件中执行的控制文件

读取控制文件获取数据文件和重做日志文件的名称和状态

读取控制文件,控制文件在参数文件中定义

Show parameter control_file

但此时不进行数据文件和联机重做日志文件是否存在的检查

可以对日志文件和数据文件进行删除,创建,但不能对日志文件,数据文件进行打开操作.

不能获取逻辑结构(表,表空间),只能对数据问及那进行添加,删除的物理操作.

本阶段用的文件是控制文件,数据库处于mount阶段

在mount阶段,你可以对数据库的物理结构进行操作

Alter database指令如

  • 命名数据文件
  • 启用和禁用重做日志归档选项
  • 闪回功能打开与关闭
  • 执行完全数据库恢复
  • Create database指令
  • Drop database指令

打开数据库

open阶段

Alter database open

打开联机数据文件

打开联机重做日志文件

这个阶段会去检查数据文件和重做日志文件是否正常.

首先判断文件是否存在

然后验证所有数据文件和联机重做日志文件是否可以打开,并检查数据库的一致性.

如果需要,系统监视器后台进程SMON启动实例恢复

前滚以恢复尚未记录在数据文件中但已记录在联机重做日志中的数据

打开数据库而不是等待回退全部事务后才使数据库可用

未恢复事务锁定的数据处于open阶段,数据库启动完毕,数据库的逻辑结构与物理结构可以正常工作了.

这个时候不能进行复制备份.因为当前数据文件和日志文件处于活动状态了.

查看数据库当前状态

desc v$database

OPEN_MODE

SQL> select OPEN_MODE FROM V$DATABASE;

OPEN_MODE

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

READ WRITE-----OPEN阶段

1、如果得到错误ORACLE not available

Oracle没有启动

2、如果得到错误DATABASE not mounted

ORACLE处于nomount阶段

3、如果得到结果是MOUNTED

ORACLE处于mount阶段

4、如果得到结果是READ WRITE

ORACLE处于OPEN阶段

ORACLE启动的指令

Startup[FORCE][RESTRICT][PFILE=finename][OPEN][RECOVER][database][MOUNT][NOMOUNT]

OPEN:

使用户得以访问数据库

MOUNT

为某些DBA活动装载数据库但不允许用户访问数据库

NOMOUNT

创建SGA并启动后台进程但不允许访问数据库

PFILE=parfile

允许使用非缺省参数文件配置实例

FORCE

在执行正常启动之前终止运行的实例

这个指令是强制将数据库关闭后再启动.最好不好使用.

RESTRICT

只允许具有RESTRICTED SESSION权限的用户访问数据库

修改字符集时可以使用这方式启动.

RECOVER

在启动数据库时开始介质恢复

几种启动方式:

启动方式

1、startup nomount

非安装启动

重建控制文件、重建数据库

启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件

2、startup mount dbname

安装启动

数据库日志归档、数据库恢复、重新命名一些数据库文件

如:系统表空间或日志文件

执行“nomount”,然后打开控制文件

3、startup open dbname

先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,

这种方式下可访问数据库中的数据。

4、startup

等于以下三个命令

startup nomount

alter database mount

alter database open

5、startup restrict

约束方式启动

这种方式能够启动数据库,但只允许具有一定特权的用户访问

非特权用户访问时,会出现以下提示:

ERROR:

ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用

6、startup force

强制启动方式

强制启动方式

当不能关闭数据库时,可以用startup force来完成数据库的关闭

先关闭数据库,再执行正常启动数据库命令

7、startup pfile=参数文件名

带初始化参数文件的启动方式

先读取参数文件,再按参数文件中的设置启动数据库

例:startup pfile=E:/Oracle/admin/oradb/pfile/init.ora

8、startup EXCLUSIVE

Alter database mount

由nomount启动到mount

Alter database open

由mount启动到open

Oracle 启动过程

关闭数据库

将缓冲区高速缓存中的更改及重做日志缓冲区高速缓存中的条目写入数据文件和联机重做日志文件

关闭所有联机数据文件和联机重做日志文件

卸装数据库

关闭其控制文件

关闭实例

ALTER文件和跟踪文件将关闭

SGA被回收并且后台进程被终止

SHUTDOWN[NORMAL][TRANSACTIONAL][IMMEDIATE][ABORT]

关闭模式:

A=ABORT

I=IMMEDIATE

T=TRANSACTIONAL

N=NORMAL0

关闭模式

A

I

T

N

允许建立新连接

等待到当前会话结束

等待到当前事务处理结束

强制执行检查点操作并关闭文件

I T N这三种模式关闭数据库,在数据库关闭前,都会将buffer cache中的脏数据刷新到磁盘文件,这个操作被成为完全检查.因为所有的脏数据都被写进磁盘,因此不会丢失用户所做的修改.下次启动时也不需要利用日志进行恢复.我们称这种方式关闭的数据库是一致的数据库,也叫干净的数据库.

A这种模式关闭数据库,ORACLE会立即退出,并不刷新脏数据的磁盘.

sql>shutdown 其参数 :shutdown有四个参数,四个参数的含义如下:

Normal 需要等待所有的用户断开连接

normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接

正常关闭数据库,normal关闭数据库时,除了不允许建立新连接外,允许当前正在进行的会话继续进行,当前正在进行的事务,也可以正常运行知道终止.

Immediate 等待用户完成当前的语句

immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。

oracle会自动回退没有提交的事务,断开所有连接,关闭所有没有结束的会话,立即关闭数据库

Transactional 等待用户完成当前的事务

transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。

会等待所有事务结束后,就关闭数据库,无论会话是否退出.

在transactional完成关闭操作期间,不允许有的事务,更不允许连接,但可以使用select查询

Abort 不做任何等待,直接关闭数据库

abort 执行强行断开连接并直接关闭数据库。

Oracle 关闭过程

几种关闭方式:

关闭方式

1、shutdown normal

正常方式关闭数据库

2、shutdown immediate

立即方式关闭数据库

在SVRMGRL中执行shutdown immediate,数据库并不立即关闭,

而是在Oracle执行某些清除工作后才关闭(终止会话、释放会话资源),

当使用shutdown不能关闭数据库时,shutdown immediate可以完成数据库关闭的操作。

3、shutdown abort

直接关闭数据库,正在访问数据库的会话会被突然终止

如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间

Oracle的启动与关闭的更多相关文章

  1. Oracle数据库启动和关闭

    在介绍oracle数据库的启动和关闭前,先看一下Oracle的参数文件. oracle参数文件 1.初始化参数文件 oracle的初始化参数文件分为spfilesid.ora.spfile.ora.i ...

  2. Linux 中 Oracle 数据库启动和关闭

    有时候你需要重启Linux 上的 Oracle 数据库. 注意先启动数据库,然后在启动数据库监听. a.切换为 oracle 用户身份,也可以使用 su - 将 home 和 path 都切换到 or ...

  3. Oracle强制启动和关闭实例

    要启动和关闭数据库,必须要以具有Oracle 管理员权限的用户登陆,通常也就是以具有SYSDBA权限的用户登陆.一般我们常用SYS用户以SYSDBA连接来启动和关闭数据库.下面介绍Oracle数据库几 ...

  4. oracle数据库启动和关闭方式

    Oracle数据库是重量级的,其管理非常复杂,将其在Linux平台上的启动和关闭步骤整理一下. 安装完毕oracle以后,需要创建oracle系统用户,并在/home/oracle下面的.bash_p ...

  5. Oracle——数据库启动与关闭

    本文内容 服务器环境 客户端环境 概述 启动数据库 关闭数据库 补充 参考资料 本文说明 Oracle 数据库的启动和关闭,内容虽然基础,但是在数据库很多操作中都需要,因此,基础而重要,必须深入理解. ...

  6. Oracle 数据库启动与关闭 各种方式详解整理

    概述 只有具备sysdba和sysoper系统特权的用户才能启动和关闭数据库. 在启动数据库之前应该启动监听程序,否则就不能利用命令方式来管理数据库,包括启动和关闭数据库. 虽然数据库正常运行,但如果 ...

  7. Oracle 数据库启动与关闭

    只有具备sysdba和sysoper系统特权的用户才能启动和关闭数据库. 在启动数据库之前应该启动监听程序,否则就不能利用命令方式来管理数据库,包括启动和关闭数据库. 虽然数据库正常运行,但如果没有启 ...

  8. Linux下oracle数据库启动和关闭操作

    第一步:登陆 root登陆之后切换到oracle用户上,输入 su oracle 第二步:连接 在oracle用户下,输入 sqlplus /nolog 第三步:使用管理员权限 输入 connect ...

  9. oracle数据库--启动和关闭

    oracle--启动 oracle数据库的启动过程包含3个步骤:启动实例->加载数据库->打开数据库 分步骤启动过程可以对数据库进行不同的维护操作,对应我们不同的需求. 启动模式: 1.s ...

随机推荐

  1. UVA 146 ID Codes(下一个排列)

    C - ID Codes Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Statu ...

  2. iOS应用安全防护框架概述

    iOS应用安全防护框架概述 攻易防难,唯有缜密.多层的防护网络才能可靠的保护我们iOS应用程序的安全.那么,一个完善的iOS应用安全防护框架都要写哪些东西呢? 首先,先梳理一下常见的逆向及攻击工具. ...

  3. jQuery select添加图标

    //下拉菜单样式 /*查找全部select的下拉菜单*/ function getElemsById(cot_val){ return document.getElementById(cot_val) ...

  4. vuex 定义

    vuex是什么? vuex是一个专为vue.js应用程序开发的状态管理模式,它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化.Vuex也集成到vue的官方调试 ...

  5. WP8持续集成之通过命令行跑单元测试

    理论基础     对于如何在WP8上创建单元测试工程,在这里首先提供一个MSDN的文档作为参考. http://msdn.microsoft.com/en-us/library/windowsphon ...

  6. Unix系统编程()发送信号的其他方式:raise和killpg

    有时,进程需要向自身发送信号,raise 函数就执行了这一任务. #include <signal.h> int raise(int sig); 在单线程程序中,调用raise相当于对ki ...

  7. 深度剖析ConcurrentHashMap(转)

    概述 还记得大学快毕业的时候要准备找工作了,然后就看各种面试相关的书籍,还记得很多面试书中都说到: HashMap是非线程安全的,HashTable是线程安全的. 那个时候没怎么写Java代码,所以根 ...

  8. #!/bin/sh与#!/bin/bash的区别

    Linux 中的 shell 有很多类型,其中最常用的几种是: Bourne shell (sh).C shell (csh) 和 Korn shell (ksh), 各有优缺点.Bourne she ...

  9. NameNode机制和DataNode机制

    首先我们看一下NAMENODE: 我们已经知道了NAMENODE作为DATANODE的管理者,其重要性不言而喻,那么NAMENODE是怎么管理数据的呢? 首先,我们看一下上面这张图,每次客户端读写数据 ...

  10. Go语言入门系列2 基本语法

    get download and install packages and dependencies install = compile and install packages and depend ...