当前位置:  数据库>oracle

【Oracle笔记】3.Oracle的启动与关闭

    来源: 互联网  发布时间:2017-04-28

    本文导语:  Oracle的启动与关闭一、启动与关闭过程       启动(startup):shutdown→nomount(例程启动)→mount→open       关闭(shutdown):open→mount→nomount→shutdown二、启动例程(nomount)      启动例程让数据库处于nomount状态一般...

 Oracle的启动与关闭
一、启动与关闭过程
       启动(startup):shutdown→nomount(例程启动)→mount→open
       关闭(shutdown):open→mount→nomount→shutdown
二、启动例程(nomount)
      启动例程让数据库处于nomount状态一般用于创建数据库或重新创建控制文件过程中
      启动例程包括下列任务
            按下列顺序从$ORACLE_HOME/dbs读取初始化文件:
                  首先读取spfileSID.ora
                  如果找不到,则读取spfile.ora
                  如果仍然找不到,则读取initSID.ora
                  可以使用startup制定pfile参数以覆盖缺省行为
            分配SGA
            启动后台进程
            打开alertSID.log
三、加载数据库(mount)
       启动例程并加载数据库,但不要打开数据库让数据库处于mount状态一般用于执行特定的维护操作:例如重命名数据库文件,启用和禁用重做日志归档选项,执行完全数据库恢复。
       加载数据库包括以下任务
             使数据库与以前启动的例程关联
             定位并打开参数文件中指定的控制文件
             读取控制文件以获取数据文件和重做日志文件的名称和状态。但是在此时不进行数据文件和重做日志文件是否存在的检查。
四、打开数据库(open)
       打开数据库让数据库处于open状态任何有效的用户都可以连接到数据库并执行一般的数据访问
       打开数据库包括一下任务
             打开联机数据文件
             打开联机重做日志文件
             oracle服务器验证所有数据文件和重做日志文件是否可以打开并检查数据的一致性,如果需要,系统监视(SMON)后台进程将启动例程恢复操作。
五、startup命令
         若要启动例程,可使用以下命令
           startup 【force】 【restrict】 【pfile=filename】 【open 【recover】 【database】 | mount | nomount 】
         其中:
             open:使用户能够访问数据库
             mount:为某些DBA活动加载数据库,但不允许用户访问数据库
             nomount:创建SGA并启动后台进程,但不允许访问数据库
             pfile=filename:允许使用非缺省参数文件配置例程
             force:执行正常启动前终止运行的例程(一般情况不建议使用,有可能造成数据库损坏,并无法启动)
             restrict:只允许觉有restrict session权限的用户访问数据库
             recover:在数据库启动时开始进行介质恢复(一般情况下不建议使用,容易丢数据)
六、alter databasa命令
       要将数据库从nomount更改为mount阶段或者从mount更改为open阶段,请使用alter database命令
       alter database {mount | open}
       若要纺织数据被用户事务修改,可以以只读模式打开数据库
       alter database open 【read write | read only】
       read write:以读写模式打开数据库,以便用户生成重做日志
       read only:将用户限制为只能执行只读事务,纺织用户生成重做日志
       此模式可用于
           执行查询
           使用本地管理的表空间执行磁盘排序
           使数据文件(而不是表空间)脱机和联机
           执行脱机数据文件和表空间的恢复
七、以受限模式打开数据库
        当执行结构维护或数据库导入导出时,以受限模式启动数据库,这样,只有具有restrict session权限的用户才可以使用数据库。使用alter system SQL命令也可以将数据库设为受限模式:
        alter system 【{enable | disable} restricted session】
        enable:仅允许具有restricted session权限的用户在以后登陆
        disable:禁用restrict session以允许没有该权限的用户可以登陆
        将例程置于受限模式后,可以使用一下命令来终止所有当前会话
        alter system kill session ‘integer1,integer2’
        integer1:V$session视图中的SID列的值
        integer2:V$session视图中的serial#列的值
        执行该命令后,PMON会执行一下操作
        回退用户当前事务
        释放所有当前持有的表或行锁定
        释放用户当前保留的所有资源
八、关闭数据库
        关闭数据库这一操作将导致对所有物理结构进行操作系统脱机备份,并使修改过的静态初始化参数在重新启动后生效,有四种模式:abort、immediate、transactional、normal
         关闭数据库必须以sysoper或sysdba身份使用一下命令操作
         shutdown 【normal | transactional | immediate | abort】
九、干净的关闭数据库
         使用正常关闭(normal)、事务处理关闭(transactional)、立即关闭(immediate)等操作能干净的关闭数据库,干净的关闭数据库的流程
             在关闭过程中将数据库缓冲区告诉缓存的内容写入数据文件
             回退未提交的更改
             释放资源
             在启动过程中没有发生例程恢复
         正常关闭
             正常关闭(normal)是缺省的关闭模式。正常的护具看关闭在下列情况下进行
                  未建立新连接
                  oracle服务器等待所有用户断开后才完成关闭
                  数据库和重做缓存区(redo log buffer)中的内容已写入磁盘
                  后台进程终止,SGA已从内存中删除
                  oracle在关闭例程前将关闭并卸载数据库
                  下次启动将不要求例程恢复     
              事务处理关闭(transactional)防止客户机丢失工作,在下列情况下进行
                  没有客户机可以在此特定例程上启动新事物
                  当客户机结束正在进行的事务时,断开客户机
                  当所有事务都已完成后立即关闭
                  下次启动将不要求例程恢复
              立即关闭(immediate)在下列情况下进行
                   由oracle处理的当前SQL语句未完成
                   oracle服务器不等待当前连接到数据库的用户断开
                   oracle回退活动的事务并断开所有连接的用户
                   oracle在关闭例程前将关闭并卸载数据库
                   下次启动将不要求例程恢复
十、不正常关闭数据库
          使用关闭终止(abort)操作关闭数据库一般用在正常和立即关闭数据库不起作用时,操作所经历的步骤为:
                在关闭过程中发生修改的缓存区内容不写入数据文件
                不回退未提交的更改
                使用关闭终止强制关闭数据会造成数据库不一致
                在启动过程中会使用重做日志重新应用更改
                使用撤销段回退未提交的更改
                释放资源
                这种操作容易造成数据库故障,导致再无法开启,不建议使用
          使用该操作一般用于以下几种情况
                oracle服务器所处理的当前SQL语句被立即终止。
                oracle不等待当前连接数据库的用户断开
                数据库和重做缓冲区中的内容不写入磁盘
                未提交的事务不回退
                在不关闭文件的情况下例程被终止
                数据库不关闭或被卸载
                下次启动要求恢复例程,该操作将自动进行
                建议不要备份处于不一致状态的数据库



































































































    
 
 

您可能感兴趣的文章:

  • 深入理解Oracle数据库的启动和关闭
  • 如何启动和关闭安装在UNIX下的ORACLE数据库?
  • Oracle关闭SUN的开源项目
  • Linux平台启动关闭Oracle数据库
  • 请问,在unix下,关闭oracle数据库和重起unix,的正确顺序和命令应该是怎样的!请教!
  • 选择合适的Oracle数据库关闭方法
  • 技巧分享 Oracle数据库的启动和关闭
  • 解决Linux下Oracle无法关闭数据库的问题
  • [200分]在redhatlinux9中,关闭系统时,如何设置先自动关闭oracle9i数据库(急)
  • Oracle 9i 数据库异常关闭后的启动
  • oracle 服务启动,关闭脚本(windows系统下)
  • oracle 如何关闭打开归档日志
  • Oracle9i数据库异常关闭后的启动
  • Oracle数据库的启动与关闭方法
  • Linux As4单实例Oracle系统启动/关闭脚本
  • 深刻理解Oracle数据库的启动和关闭
  • DBA_Oracle Startup / Shutdown启动和关闭过程详解(概念)(对数据库进行各种维护操作)
  • ORACLE11g随RHEL5系统自动启动与关闭的设置方法
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • Linux系统下Oracle的启动与Oracle监听的启动
  • linux下安装oracle后使用命令行启动的方法 linux启动oracle
  • 让Oracle服务随Linux系统的启动而启动
  • 配置Oracle management server /Oracle启动OMS
  • solaris9下怎么查看oracle服务是否启动,以及怎么启动,在线等待。
  • 启动oracle是报错了
  • Linux系统查看Oracle服务是否启动
  • linux下oracle的自启动脚本解析
  • linux oracle8.17 下的Management server 如何启动
  • Unix/Linux上启动oracle数据库
  • Linux下命令行启动oracle时报错的解决
  • Linux下如何启动ORACLE 的Managerment Server服务????
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • oracle 11g最新版官方下载地址
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • Oracle 数据库开发工具 Oracle SQL Developer
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle EBS R12 支持 Oracle Database 11g
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • Oracle 10g和Oracle 11g网格技术介绍
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • Oracle 数据库(oracle Database)性能调优技术详解
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • ORACLE日期相关操作
  • 网间Oracle的连接,远程连接Oracle服务器??
  • ORACLE数据库常用字段数据类型介绍
  • 请教:.profile中:if [ -d /opt/oracle/db01/app/oracle/product/9.2.0 ]是什么意思?
  • Oracle 12c的九大最新技术特性介绍
  • 在linux 中如何删除oracle db 与卸载oracle.


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,