`
275553385
  • 浏览: 703509 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
文章分类
社区版块
存档分类
最新评论

理解Oracle数据库的启动和关闭

阅读更多

Oracle数据库提供了几种不同的数据库启动和关闭方式,本文将详细介绍这些启动和关闭方式之间的区别以及它们各自不同的功能。 

一、启动和关闭Oracle数据库  对于大多数Oracle DBA来说,启动和关闭Oracle数据库最常用的方式就是在命令行方式下的Server Manager。从Oracle 8i以后,系统将Server Manager的所有功能都集中到了SQL*Plus中,也就是说从8i以后对于数据库的启动和关闭可以直接通过SQL*Plus来完成,而不再另外需要 Server Manager,但系统为了保持向下兼容,依旧保留了Server Manager工具。另外也可通过图形用户工具(GUI)的Oracle Enterprise Manager来完成系统的启动和关闭,图形用户界面Instance Manager非常简单,这里不再详述。 
  要启动和关闭数据库,必须要以具有Oracle 管理员权限的用户登陆,通常也就是以具有SYSDBA权限的用户登陆。一般我们常用INTERNAL用户来启动和关闭数据库(INTERNAL用户实际上是SYS用户以SYSDBA连接的同义词)。Oracle数据库的新版本将逐步淘汰INTERNAL这个内部用户,所以我们最好还是设置DBA用户具有 SYSDBA权限。 
二、数据库的启动(STARTUP) 
启动一个数据库需要三个步骤: 
  1、 创建一个Oracle实例(非安装阶段) 
  2、 由实例安装数据库(安装阶段) 
  3、 打开数据库(打开阶段)在Startup命令中,可以通过不同的选项来控制数据库的不同启动步骤。 
  1、STARTUP NOMOUNT 
  NOMOUNT选项仅仅创建一个Oracle实例。读取init.ora初始化参数文件、启动后台进程、初始化系统全局区(SGA)。Init.ora文件定义了实例的配置,包括内存结构的大小和启动后台进程的数量和类型等。实例名根据Oracle_SID设置,不一定要与打开的数据库名称相同。当实例打开后,系统将显示一个SGA内存结构和大小的列表,如下所示: 
SQL> startup nomount 
  ORACLE 例程已经启动。 
  Total System Global Area 35431692 bytes 
  Fixed Size 70924 bytes 
  Variable Size 18505728 bytes 
  Database Buffers 16777216 bytes 
  Redo Buffers 77824 bytes2、STARTUP MOUNT 
  该命令创建实例并且安装数据库,但没有打开数据库。Oracle系统读取控制文件中关于数据文件和重作日志文件的内容,但并不打开该文件。这种打开方式常在数据库维护操作中使用,如对数据文件的更名、改变重作日志以及打开归档方式等。在这种打开方式下,除了可以看到SGA系统列表以外,系统还会给出"数据库装载完毕"的提示。 
3、STARTUP 
  该命令完成创建实例、安装实例和打开数据库的所有三个步骤。此时数据库使数据文件和重作日志文件在线,通常还会请求一个或者是多个回滚段。这时系统除了可以看到前面Startup Mount方式下的所有提示外,还会给出一个"数据库已经打开"的提示。此时,数据库系统处于正常工作状态,可以接受用户请求。 
  如果采用STARTUP NOMOUNT或者是STARTUP MOUNT的数据库打开命令方式,必须采用ALTER DATABASE命令来执行打开数据库的操作。例如,如果你以STARTUP NOMOUNT方式打开数据库,也就是说实例已经创建,但是数据库没有安装和打开。这是必须运行下面的两条命令,数据库才能正确启动。 
  ALTER DATABASE MOUNT; 
  ALTER DATABASE OPEN;而如果以STARTUP MOUNT方式启动数据库,只需要运行下面一条命令即可以打开数据库: 
  ALTER DATABASE OPEN. 
4、其他打开方式 
除了前面介绍的三种数据库打开方式选项外,还有另外其他的一些选项。 
(1) STARTUP RESTRICT 
  这种方式下,数据库将被成功打开,但仅仅允许一些特权用户(具有DBA角色的用户)才可以使用数据库。这种方式常用来对数据库进行维护,如数据的导入/导出操作时不希望有其他用户连接到数据库操作数据。 
(2) STARTUP FORCE 
  该命令其实是强行关闭数据库(shutdown abort)和启动数据库(startup)两条命令的一个综合。该命令仅在关闭数据库遇到问题不能关闭数据库时采用。 
(3) ALTER DATABASE OPEN READ ONLY; 
  该命令在创建实例以及安装数据库后,以只读方式打开数据库。对于那些仅仅提供查询功能的产品数据库可以采用这种方式打开。 
三、数据库的关闭(SHUTDOWN) 
对于数据库的关闭,有四种不同的关闭选项,下面对其进行一一介绍。 
1、SHUTDOWN NORMAL 
  这是数据库关闭SHUTDOWN命令的确省选项。也就是说如果你发出SHUTDOWN这样的命令,也即是SHUTDOWN NORNAL的意思。 
  发出该命令后,任何新的连接都将再不允许连接到数据库。在数据库关闭之前,Oracle将等待目前连接的所有用户都从数据库中退出后才开始关闭数据库。采用这种方式关闭数据库,在下一次启动时不需要进行任何的实例恢复。但需要注意一点的是,采用这种方式,也许关闭一个数据库需要几天时间,也许更长。 
2、SHUTDOWN IMMEDIATE 
  这是我们常用的一种关闭数据库的方式,想很快地关闭数据库,但又想让数据库干净的关闭,常采用这种方式。 
  当前正在被Oracle处理的SQL语句立即中断,系统中任何没有提交的事务全部回滚。如果系统中存在一个很长的未提交的事务,采用这种方式关闭数据库也需要一段时间(该事务回滚时间)。系统不等待连接到数据库的所有用户退出系统,强行回滚当前所有的活动事务,然后断开所有的连接用户。 
3、SHUTDOWN TRANSACTIONAL 
  该选项仅在Oracle 8i后才可以使用。该命令常用来计划关闭数据库,它使当前连接到系统且正在活动的事务执行完毕,运行该命令后,任何新的连接和事务都是不允许的。在所有活动的事务完成后,数据库将和SHUTDOWN IMMEDIATE同样的方式关闭数据库。 
4、SHUTDOWN ABORT 
  这是关闭数据库的最后一招,也是在没有任何办法关闭数据库的情况下才不得不采用的方式,一般不要采用。如果下列情况出现时可以考虑采用这种方式关闭数据库。 
1、 数据库处于一种非正常工作状态,不能用shutdown normal或者shutdown immediate这样的命令关闭数据库; 
2、 需要立即关闭数据库; 
3、 在启动数据库实例时遇到问题; 
  所有正在运行的SQL语句都将立即中止。所有未提交的事务将不回滚。Oracle也不等待目前连接到数据库的用户退出系统。下一次启动数据库时需要实例恢复,因此,下一次启动可能比平时需要更多的时间。 
  表1可以清楚地看到上述四种不同关闭数据库的区别和联系。 
        表1 Shutdown数据库不同方式对比表 
      关闭方式                              A  I  T  N 
      允许新的连接                        × × × × 
      等待直到当前会话中止           × × × √ 
      等待直到当前事务中止           × × √ √ 
      强制CheckPoint,关闭所有文件  × √ √ √其中:A-Abort I-Immediate T-Transaction N-Normal理解Oracle数据库的启动和关闭

分享到:
评论

相关推荐

    深刻理解Oracle数据库的启动和关闭

    深刻理解Oracle数据库的启动和关闭,深刻理解Oracle数据库的启动和关闭

    Oracle数据库管理员技术指南

    1.7.9 配置数据库自动启动和关闭 1.7.10 在数据库投入使用之后对其进行 监控 1.7.11 怎样列出和描述初始化参数 1.7.12 怎样列出无记载参数 1.8 回顾 第2章 管理数据存储、对象和容量 2.1 配置数据存储 2.1.1...

    oracle数据库基础知识(数据库程序设计)

    学好Oracle的六条总结 1、如果有一定的数据库基础,知道SQL是怎么回事,即使写不出来简单的SQL, 但可以看懂它们,你就可以跳到2。否则请先学习一下数据库基础和SQL语言...1.6 启动和关闭Oracle 1.7 Oracle 命令复习

    Oracle9i数据库系统概述.pdf

    初始化参数文件在数据库启动和数据库性能 调优时使用,记录了数据库各参数的值。 归档日志文件只有在数据库运行在归档方式 时才有,是由ARCH归档进程将写满的重做 日志文件拷贝到指定的存储设备时产生的。 口令文件...

    Oracle从入门到精通指南

    本文档详细讲解ORACLE...数据库连接等,还包括数据库的创建于备份,启动与关闭方式,安全配置等,也包含SQL语句应用,PL/SQL程序设计,非常适合ORACLE初学者使用,文档写的很详细,非常容易理解,希望能对大家有所帮助

    oracle教程入门

    学生将学习使用管理工具来启动、关闭数据库,创建数据库、管理文件和数据存储,并管理用户及其权限,另外,学员们还将学习组织数据库,在不同环境下,不同的数据库间迁移数据。动手练习活动将帮助学员加强对关键概念...

    ORACLE11G宝典.rar 是光盘里面的内容,书太厚咧没法影印啊

     《Oracle11g宝典》是Oracle数据库管理员、安全管理员、网络管理员、应用开发人员的参考指南,还是Oracle技术支持和培训机构、Oracle学习班、高等院校计算机专业数据库课程的参考教材和上机指导教材。每类人员都...

    Oracle8i_9i数据库基础

    第一章 Oracle数据库基础 23 §1.1 理解关系数据库系统(RDBMS) 23 §1.1.1 关系模型 23 §1.1.2 Codd十二法则 24 §1.2 关系数据库系统(RDBMS)的组成 24 §1.2.1 RDBMS 内核 24 §1.2.2 数据字典概念 25 §1.3 ...

    Oracle 9i&10g编程艺术:深入数据库体系结构(全本)含脚本

    3.4.2 Oracle数据库中的存储层次体系 87 3.4.3 字典管理和本地管理的表空间 91 3.5 临时文件 93 3.6 控制文件 95 3.7 重做日志文件 95 3.7.1 在线重做日志 96 3.7.2 归档重做日志 98 3.8 密码文件 100 3.9 ...

    ORACLE9i_优化设计与系统调整

    §5.1 理解ORACLE性能优化 82 §5.1.1 响应时间与吞吐量的折衷 82 §5.1.2 临界资源 83 §5.1.3 过度请求的影响 83 §5.1.4 调整以解决问题 83 §5.2 优化的执行者 84 §5.3 设置性能目标 84 第7章 系统优化方法 85 ...

    韩顺平oracle学习笔记

    oracle数据库管理;oracle 的权角色; pl/sql 编程; 索引,约束和事物。 期望目标: 1 学会安装、启动、卸载oracle 2 使用sql *plus工具 3 掌握oracle用户管理 4 学会在oracle中编写简单的select语句 第1讲:基础...

    H155-合集-大型数据库系统概论-实验.pptx

    掌握Oracle9i数据库的登录、启动和关闭。 H155-合集-大型数据库系统概论-实验全文共24页,当前为第2页。 【实验内容】 1. 在局域网环境下安装配置Oracle9i服务器和客户端软件。 2. 练习Oracle9i数据库的登录、启动...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    有近20年使用Oracle技术产品以及Oracle数据库管理员/Oracle数据库应用管理员的经验,是真正应用集群、性能调优以及数据库内部属性方面的专家。同时是一位演讲家及Oracle ACE。  JARED STILL 从1994年就开始使用...

    ORACLE10G 审计操作

    审计(Audit)用于监视用户所执行的数据库操作,并且Oracle会将审计跟踪结果存放到OS文件(默认位置为$ORACLE_BASE/admin /$ORACLE_SID/adump/) 或数据库(存储在system表空间中的SYS.AUD$表中,可通过视图dba_audit...

Global site tag (gtag.js) - Google Analytics