`
275553385
  • 浏览: 725819 次
  • 性别: 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数据库启动和关闭的深刻理解是数据库管理的关键技能之一。

    oracle数据库日志查看方法

    本文将详细介绍如何查看Oracle数据库中的各种日志文件,并提供具体的步骤和示例,帮助读者更好地理解和操作。 #### 二、Oracle数据库日志类型 Oracle数据库中有多种类型的日志文件,包括但不限于: 1. **后台进程...

    oracle数据库的启动与关闭

    总之,Oracle数据库的启动和关闭涉及到多个步骤和选项,每个步骤都有其特定的功能和应用场景,理解这些流程对于数据库的稳定运行至关重要。数据库管理员需要根据实际情况选择合适的启动和关闭方式,确保数据的安全和...

    如何备份还原oracle数据库

    在IT领域中,Oracle数据库因其高性能、可靠性及可扩展性被广泛应用于企业级应用之中。对于Oracle数据库管理员而言,掌握如何高效地进行...希望本文能够帮助您更好地理解和掌握Oracle数据库备份与恢复的关键技术点。

    ORACLE数据库启动过程祥解.doc

    首先,Oracle数据库启动分为几个关键阶段,包括实例启动、数据文件检查、控制文件读取、还原日志文件、打开数据库和实例恢复等。这些步骤确保了数据库从关闭状态安全地恢复到可用状态。 在UNIX平台上,数据库启动...

    oracle数据库启动与关闭-for ALX,linux

    总的来说,Oracle数据库在不同Unix变体上的启动与关闭都需要对系统环境和Oracle软件有深入理解。正确配置启动和关闭脚本,可以确保数据库在系统启动时自动启动,并在关机时安全关闭,从而维护数据完整性。在实际操作...

    Oracle数据库课程大作业.pdf

    Oracle数据库是一种广泛应用于企业和组织的大型关系型数据库管理系统,它提供了高效的数据存储、管理和查询功能。...通过完成这些大作业,学生可以深入理解Oracle数据库的工作原理及其在企业级应用中的重要性。

    ORACLe数据库管理员教程

    DBA的职责广泛,包括理解Oracle数据库的体系结构、安装和升级数据库管理系统、控制数据库的启动和关闭、管理数据库用户、权限、存储空间以及执行数据库的备份和恢复操作。 Oracle数据库的体系结构主要由物理结构、...

    Oracle数据库安装和配置

    安装和配置Oracle数据库是一个复杂的过程,但理解并掌握这些步骤对于数据库管理员和开发人员来说至关重要。 通过提供的Oracle 9i服务器端的安装和配置.doc及Oracle数据库客户端的安装和配置.doc文档,你将能够详细...

    oracle数据库语法

    Oracle 启动和关闭是指启动和关闭 Oracle 数据库实例的操作。启动 Oracle 数据库需要配置数据库参数,设置系统变量等,而关闭 Oracle 数据库则需要停止数据库实例和监听服务。 Oracle 用户和权限 Oracle 用户和...

    Unix和Linux下的Oracle数据库管理

    在IT领域,Unix和Linux操作系统是企业级Oracle数据库服务器的常用平台。Oracle数据库管理系统是全球最广泛使用的数据库系统之一,尤其在大型企业和金融机构中。本文将深入探讨在Unix和Linux环境下如何有效地管理和...

    Oracle 数据库管理.pdf

    总的来说,Oracle数据库管理是数据库管理员的重要技能之一,需要对Oracle数据库体系结构有深入的理解,掌握初始化参数的配置,以及熟练进行数据库的启动和关闭操作。这对于确保数据库系统的安全、稳定和高效运行至关...

    Oracle 数据库管理教程

    为了深入学习和理解Oracle数据库管理,本教程将从数据库基础、Oracle服务器构成、用户管理、数据库启动与关闭、Oracle NET、数据字典、数据库存储管理和备份恢复等多个方面全面介绍Oracle数据库的管理和使用。...

    Oracle数据库 资料学习

    10. **数据库管理**:理解数据库的启动、关闭、性能监控、日志管理等日常运维工作,以及如何进行数据库的升级和迁移。 在学习过程中,你可能会遇到“TP”这样的文件,这可能是一个表格(Table)或数据包(Package)...

    Oracle数据库技术大全

    第06章 数据库的创建、启动和关闭详细介绍了如何创建数据库、启动和关闭数据库实例,以及在不同操作系统上的操作步骤。数据库的生命周期管理是DBA日常工作中必不可少的部分,这部分内容提供了具体的操作指导。 第07...

    Oracle数据库维护手册

    Oracle数据库的维护工作涉及安装、启动与关闭、表空间管理、用户管理、数据库备份与恢复等多个方面,这些操作对于保证数据库的稳定运行和数据安全至关重要。 首先,Oracle数据库的启动和关闭是日常维护的基本操作。...

    excel导入数据到Oracle数据库

    ### Excel导入数据到Oracle数据库详解 #### 一、前言 在日常工作中,我们经常会遇到需要将Excel中的数据批量导入到Oracle数据库的情况。...希望本文能帮助大家更好地理解和掌握Excel导入Oracle数据库的操作流程。

Global site tag (gtag.js) - Google Analytics