zoukankan      html  css  js  c++  java
  • oracle数据库--启动和关闭

    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 后,重新启动数据库需要很长时间。

  • 相关阅读:
    node搭建文件服务器
    es6快速排序
    vue+koa+mysql简易demo
    linux常用命令
    su: Authentication failure 的解决方案
    安装gensim报错:Original error was: DLL load failed: 找不到指定的模块。 Command "python setup.py egg_info" failed with error code 1 in C:UsersxubingAppDataLocalTemppip-install-nta89iepgensim
    使用服务器上的Jupyter notebook。
    tf.nn.conv2d()需要搞清楚的几个变量。
    tf入门-池化函数 tf.nn.max_pool 的介绍
    tf入门-卷积步长strides参数的具体解释
  • 原文地址:https://www.cnblogs.com/dudu-java/p/4467028.html
Copyright © 2011-2022 走看看