oracle--启动

oracle数据库的启动过程包含3个步骤:启动实例->加载数据库->打开数据库

分步骤启动过程可以对数据库进行不同的维护操作,对应我们不同的需求。

启动模式:

1.startup nomount 非安装启动

即启动实例不加载数据库,这种方式下启动可以执行:重建控制文件、重建数据库;

这种启动模式需要操作的文件:init.ora

读取init.ora文件,启动instance,即启动SGA和后台进程。

讲解:nomount的过程其实就是启动instance的过程,内存分配和后台进程的启动都是在nomount状态下做的。

这个时候可以

1)查看内存设置:show parameter sga

2)查看数据库后台是否已经启动:select program,status from v$session where type='BACKGROUND';

3)查看和SGA区相关的数据字典视图,包括V$PARAMETER,V$SGA,V$PROCESS,V$SESSION,等,这些视图的信息都是从SGA区中读取的,与数据库无关。

2.startup mount 安装启动

即加载数据库但不打开数据库,这种方式启动可以执行:数据库日志归档、数据库介质恢复、使数据文件联机或脱机,重新定位数据文件、重做日志文件。

数据库启动到mount状态的过程,是从参数文件中找到对应的控制文件的位置,读取控制文件中数据库文件的位置,判断数据文件的存在性。

讲解:启动mount的过程,就是通过这个找到对应的控制文件,当然启动nomount状态后在数据库也是能查询到控制文件的具体位置的,命令show parameter control;

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

在mount模式下,只能访问那些与控制文件相关的数据字典视图,包括V$THREAD,V$CONTROLFILE,V$DATABASE,V$DATAFILE,V$LOGFILE等,这些视图都是从控制文件中获取的。

模式用途:

1)重命名数据文件

2)添加、删除或重命名重做日志文件

3)执行数据库完全恢复操作

4)改变数据库的归档模式

3.startup open

正常打开数据库,相当于先执行了nomount,然后执行了mount,再打开包括redo log文件在内的所有数据库文件,这种方式下可访问数据库中的数据。

讲解:数据库在open阶段,会根据控制文件中记录的数据文件位置找到数据文件,对这些文件进行一致性检查,如果没有问题则open数据库,如果有问题则需要进行回复操作,有些恢复数据库直接通过日志就能完成恢复,有些大问题数据库自己恢复不了,就需要人工参与诊断了,比如很多600错误。

4.startup

等同于以下三个命令:

startup nomount

alter database mount

alter database open

或者startup open

5.startup restrict 约束方式启动

这种方式能够启动数据库,但是只允许具有一定特权的用户访问,非特权用户访问时,会出现以下提示:

ERROR:

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

6.startup force 强制启动方式

当不能关闭数据库时,可以使用该命令来完成数据库的关闭,先关闭数据库,再执行正常启动数据库命令

讲解:在某些情况下,使用前面的各种模式都午饭成功启动数据库时,可以尝试强制启动模式。

7.startup pfile=参数文件名

带初始化参数文件的启动方式,先读取参数文件,再按参数文件中的设置启动数据库。

例:startup pfile=E:/ORACLEMINORADBPFILEINIT.ORG

8.startup exclusive 独占和共享启动

这种启动方式只允许一个例程使用该数据库;共享启动的参数是shared,表示允许多个例程并行使用该数据库,即将数据库装入多个现场。


oracle--关闭

1. shutdown normal 正常关闭

不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据库。启动时不需要实例恢复。

2.shutdown transactional

不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据库。启动时不需要实例恢复。

3.shutdown immediate

不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。没有结束的事务自动rollback。启动时不需要实例恢复。

4.shutdown abort

不允许新的连接、不等待会话结束、不等待事务结束、不做检查点并且没有关闭数据文件。启动时自动进行实例恢复。

注:直接关闭数据库,正在访问数据库的会话会被突然终止,如果数据库中有大量操作正在进行,这时执行shutdown abort 后,重新启动数据库需要很长时间。

oracle数据库--启动和关闭的更多相关文章

  1. Oracle数据库启动和关闭

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

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

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

  3. Oracle 数据库启动与关闭

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

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

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

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

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

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

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

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

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

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

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

  9. Oracle的启动与关闭

    启动数据库的前提条件: 环境变量定义好($ORACLE_HOME,$ORACLE_SID,$PATH) 能密码文件认证或OS认证(确保能登入sys) 有正确的参数文件(启动数据库需要查找参数文件,默认 ...

随机推荐

  1. Trasformation中的公式报错误,错误数据行定位

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  2. hihoCoder 1383 : The Book List(书目表)

    hihoCoder #1383 : The Book List(书目表) 时间限制:1000ms 单点时限:1000ms 内存限制:256MB Description - 题目描述 The histo ...

  3. lua table remove元素的问题

    当我在工作中使用lua进行开发时,发现在lua中有4种方式遍历一个table,当然,从本质上来说其实都一样,只是形式不同,这四种方式分别是: for key, value in pairs(tbtes ...

  4. composer安装fxp插件时候提示内存不足且没有交换空间的解决办法

    The following exception is caused by a lack of memory and not having swap Check https://getcomposer. ...

  5. 轻松解决Linux安装Eclipse方法

    随着Linux的发展,很多人开始学习Linux系统,你了解Linux系统么?你是Linux系统的应用者么?本文为你详细介绍Linux安装Eclipse,为你在学习Linux安装Eclipse时起一定的 ...

  6. python成长之路【第四篇】:装饰器

    实现装饰器的知识储备: 示例: def f1(): print("f1") 1.函数即“变量” #上面的示例中,函数f1为变量,它指向内存地址.而f1()表示函数执行. 2.高阶函 ...

  7. 学习mongo系列(九)索引,聚合,复制(副本集),分片

    一.索引 二.聚合 三.复制(副本集) 四.分片 尚未实践操作. 详见http://www.runoob.com/mongodb/mongodb-indexing.html

  8. Workspace defines a VM that does not contain a valid jre/lib/rt.jar: C:\Program Files\Java\jre7

    Maven编译时两则信息 (Workspace以及default classpath container) 博客分类: Java   使用Maven一年有余,却总是被两则不起眼的编译信息困扰,终想查明 ...

  9. matlab各格式数据读取与保存函数

    数据处理及matlab的初学者,可能最一开始接触的就是数据的读取与保存: %matlab数据保存与读入 function datepro clear all; %产生随机数据 mat = rand(, ...

  10. C++类的交叉引用

    对于C++中,两个类中相互引用对方,当然只能是在指针的基础上,于是我们知道.也就是说在A类的有一个指针引用B类的成员函数或成员对象,而B类中又有一个指针来访问A中的成员函数或对象.这就是C++中类的交 ...