热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

在SQL*Plus中启动和关闭Oracle数据库

关闭数据库与数据库启动一样,有几个可供选择的选项用于关闭数据库。无论在什么情况下,读者都需要弄清楚这些关闭选项

关闭数据库 与数据库启动一样,有几个可供选择的选项用于关闭数据库。无论在什么情况下,读者都需要弄清楚这些关闭选项

关闭数据库

与数据库启动一样,有几个可供选择的选项用于关闭数据库。无论在什么情况下,读者都需要弄清楚这些关闭选项

关闭数据库的语法是:SHUTDOWN [ NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT ]

注意:如果不在windows服务中事先关闭OracleDBControlSID,则使用shutdown或shutdown normal 来关闭数据库时没有相应结果,但其他几个选项有响应结果。

一、 NORMAL(正常)选项

shutdown 和 shutdown normal 作用相同,使用带有normal选项的shutdown语句将以正常方式关闭数据库。用normal选项时,Oracle将执行如下操作:

1、 阻止任何用户建立新的连接

2、 等待当前所有正在建立连接的用户主动断开连接。正在连接的用户能够继续他们当前的工作,甚至能够提交新的事务。

3、 一旦所有的用户都断开连接,才能进行关闭、卸载数据库,并终止例程。

注意:按这个选项关闭数据库,则在下次启动数据库时不需要进行任何恢复操作。

二、 TRANSACTIONAL(事务处理)选项

transactional选项比normal选项稍微主动些,,他能在尽可能短的时间内关闭数据库。按transactional选项关闭数据库时,Oracle将等待所有未提交的事务完成后再关闭数据库。用transactional选项关闭数据库时,oracle将执行如下操作:

1、 阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。

2、 等待所有当前未提交的活动事务提交完毕,然后立即断开用户的连接。

3、 一旦所有的用户都断开连接,才进行关闭、卸载数据库,并终止例程 。

注意:按这个选项关闭数据库,则在下次启动数据库时不需要进行任何恢复操作。

三、 IMMEDIATE(立即)选项

通常在以下几种情况下需要使用该选项来关闭数据库

1、 即将启动自动数据库备份操作

2、 即将发生电力供应中断

3、 数据库本身或者某个数据库应用程序发生异常,并且这时候无法通知用户主动断开连接,或者数据库用户本身无法制定断开操作

使用IMMEDIATE选项关闭数据库时,Oracle将执行如下操作:

1、 阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。

2、 任何当前未提交的事务均被退回

3、 Oracle不再等待用户主动断开连接,而是直接关闭、卸载数据库,并终止例程。

注意:按这个选项关闭数据库,则在下次启动数据库时不需要进行任何恢复操作。

四、 ABORT(终止)选项

通常在以下情况下可以考虑使用abort选项来关闭数据库

1、 数据库本身或者某个数据库应用程序发生异常,并且使用其他选项均无效

2、 出现紧急情况,需要立刻关闭数据库

3、 在启动数据库例程时产生错误

用abort选项来关闭数据库时,Oracle将执行如下操作:

1、 阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。

2、 立即结束当前正在执行的SQL语句

3、 任何未提交的事务均不被回退

4、 立即断开所有的用户的连接,关闭、卸载数据库,并终止例程

注意:按这个选项来关闭数据库,由于当前未完成的事务并不会回退,所以可能会丢失一部分数据信息,并对数据库的完整性造成损坏,需要在下一次启动数据库的时候进行恢复。


启动数据库

数据库有三种启动模式,分别代表启动数据库的三个步骤。当数据库管理员使用startup命令时,可以指定不同的选项来决定将数据库的启动推进到哪个启动模式。在进入某个模式后,可以使用alter database命令来将数据库提升到更高的启动模式,但是不能使数据库降低到前面的启动模式。

启动模式

说明

对应的界面提示信息

NOMOUNT

启动例程,但不装载数据库,即只完成启动步骤的第一步

Oracle例程已经启动

MOUNT

启动例程,装载数据库,但不打开数据库,即只完成启动步骤的第一步和第二步

Oracle例程已经启动

数据库装载完毕

OPEN

启动例程,装载数据库,打开数据库,即完成全部的三个步骤

Oracle例程已经启动

数据库装载完毕

数据库已经打开

启动数据库的语法是:STARTUP [ NOMOUNT | MOUNT | OPEN | FORSE ] [ RESTRICT ] [ PFILE = 'PFILE_NAME' ];

一、 NOMOUNT选项

该选项只创建例程,但不装在数据库。Oracle读取参数文件,仅为例程创建各种内存结构和后台服务进程,用户能够与数据库进行通信,但不能使用数据库中的任何文件。

如果要执行下列维护工作,就必须使用该选项来启动数据库:

1、 运行一个创建新数据库的脚本

2、 重建控制文件

注意:在该启动模式下,只能访问到那些与SGA区相关的数据字典视图,这些视图的信息都是从SGA区获取的,与数据库是否装载,是否打开无关。

二、 MOUNT选项

该选项不仅创建历程,还装载数据库,但却不打开数据库。Oracle读取控制文件,并从中获取数据库名称、数据文件的位置、名称等数据库物理结构的信息,为下一步打开数据库做好准备。

在这种模式下,仅数据库管理员可以通过部分命令修改数据库,用户还无法与数据库建立连接或会话。这在进行一些特定的数据库维护工作时是十分必要的。

如果要执行下列维护工作,就必须使用该选项启动数据库:

1、 重新命名、增加、删除数据文件和重做日志文件

2、 执行数据库的完全恢复

3、 改变数据库的归档模式

注意:在该模式下,除了可以访问那些与SGA区相关的数据字典视图以外,还可以访问到那些与控制文件相关的数据字典视图,这些视图信息都是从控制文件中获取的。

三、 OPEN选项

该选项不仅创建例程,还装载数据库,并且打开数据库。这是正常的启动模式。如果startup语句没有指定任何选项,那就是使用该选项进行德启动。

将数据库设置为打开状态后,任何具有create session权限的用户都能连接到数据库,并且进行常规的数据访问操作。

四、 FORSE选项

如果在正常方式启动数据库时遇到了困难,则可以使用FORSE选项启动。FORSE选项与正常启动选项之间的差别在于无论数据库处于什么模式,都可以使用该选项,即FORSE选项首先关闭异常数据库,然后在重新启动他,而不需要事先用shutdown语句关闭数据库。

五、 RESTRICT选项

用该选项启动数据库时,会将数据库启动到open模式,但此时只有拥有restricted session 权限的用户才能访问数据库。如果需要在数据库处于open模式下执行维护任务,又要保证此时其他用户不能再数据库上建立连接和执行任务,则需要使用restrict 选项来打开数据库,以便完成以下任务:

1、 执行数据库数据的导入或导出操作

2、 执行数据库装载操作(用SQL*Loader)

3、 暂时阻止一般的用户使用数据

4、 进行数据库移植或升级

当工作进行完毕后,可以使用 alter system disable restrict session 语句来禁用restricted session,以便一般用户能连接并使用数据库。

六、 PFILE选项

数据库例程在启动的时候必须读取一个初始化参数文件,oracle必须从初始化参数文件中获得有关例程的参数配置信息。如果在执行startup语句时没有指定pfile 选项,oracle将首先读取默认位置的服务器初始化参数文件(spfile),如果没有找到默认的服务器初始化参数文件,oracle将继续读取默认的文本初始化参数文件(pfile),如果也没有到文本初始化参数文件,启动就会失败。

使用startup语句时可以通过pfile选项指定一个文本初始化参数文件。


推荐阅读
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 本文探讨了如何优化和正确配置Kafka Streams应用程序以确保准确的状态存储查询。通过调整配置参数和代码逻辑,可以有效解决数据不一致的问题。 ... [详细]
  • 本文介绍了如何在 DB2 环境中创建和删除数据库编目。创建编目是连接新数据库的必要步骤,涉及获取数据库连接信息、使用命令行工具进行配置,并验证连接的有效性。删除编目则用于移除不再需要的数据库连接。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ... [详细]
  • 利用存储过程构建年度日历表的详细指南
    本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
author-avatar
涛之圣首到
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有