文档章节

Oracle基础篇 --- 数据库关闭

wangbinbin0326
 wangbinbin0326
发布于 2015/05/27 14:43
字数 1043
阅读 16
收藏 0
点赞 0
评论 0

###2. 关闭Oracle DB 实例

关闭模式

此处输入图片的描述

此处输入图片的描述

####2.1 SHUTDOWN NORMAL

  • 不可以建立新连接。
  • Oracle 服务器待所有用户断开连接后再完成关闭。
  • 数据库和重做缓冲区被写入磁盘。
  • 后台进程终止,并从内存中删除SGA。
  • Oracle 服务器在关闭并断开数据库后关闭实例。
  • 下一次启动不需要进行实例恢复。
#查看当前的连接Session
SQL> select username, MACHINE from v$session where program like '%TNS%';

USERNAME                       MACHINE
------------------------------ --------------------
HR                             hzvscmdb
SYS                            hzvscmdb

#以normal的方式关闭数据库
SQL> shutdown normal;

#发现数据库关闭不掉,等待所有的session关闭,然后,不关闭所有的session,则数据库关闭掉。
SQL> shutdown normal;
Database closed.
Database dismounted.
ORACLE instance shut down.

####2.2 SHUTDOWN TRANSACTIONAL

采用TRANSACTIONAL 关闭方式可防止客户机丢失数据,其中包括客户机当前活动的结果。执行事务处理数据库关闭时会发生以下情况:

  • 任何客户机都不能利用这个特定实例启动新事务处理。
  • 会在客户机结束正在进行的事务处理后断开客户机。
  • 完成所有事务处理后立即执行关闭。
  • 下一次启动不需要进行实例恢复。
#查看当前的连接Session
SQL>  select username, MACHINE from v$session where program like '%TNS%';

USERNAME                       MACHINE
------------------------------ --------------------
SYS                            hzvscmdb
HR                             hzvscmdb
HR                             hzvscmdb

#以transactional方式关闭数据库,不等待session的结束直接关闭
SQL> shutdown transactional;
Database closed.
Database dismounted.
ORACLE instance shut down.

#实例二
SQL>  select username, MACHINE from v$session where program like '%TNS%';

USERNAME                       MACHINE
------------------------------ --------------------
SYS                            hzvscmdb
HR                             hzvscmdb

SQL>  select username, MACHINE, prev_sql_id from v$session where program like '%TNS%';

USERNAME                       MACHINE              PREV_SQL_ID
------------------------------ -------------------- -------------
SYS                            hzvscmdb             atqym7kmvc9g5
HR                             hzvscmdb             41763gv0cwkm7

SQL> select sql_text from v$sql where sql_id = '41763gv0cwkm7';

SQL_TEXT
--------------------------------------------------------------------------------
update employees set email = 'TonyTest1' where employee_id = 199

SQL> shutdown transactional;

#此时数据库关闭不掉,需要等待所有的事务提交结束。
SQL> shutdown transactional;
Database closed.
Database dismounted.
ORACLE instance shut down.

####2.3 SHUTDOWN IMMEDIATE

采用IMMEDIATE 关闭模式会出现以下情况::

  • Oracle DB 正在处理的当前SQL 语句不会完成。
  • Oracle 服务器不会等待当前连接到数据库的用户断开连接。
  • Oracle 服务器会回退活动的事务处理,而且会断开所有连接用户。
  • Oracle 服务器在关闭并断开数据库后关闭实例。
  • 下一次启动不需要进行实例恢复。
SQL> select username, machine, prev_sql_id from v$session
  2  where program like '%TNS%';

USERNAME                       MACHINE              PREV_SQL_ID
------------------------------ -------------------- -------------
HR                             hzvscmdb             4xqvumnntxj29
SYS                            hzvscmdb             65trwptd32czm

SQL> select sql_text from v$sql where sql_id = '4xqvumnntxj29';

SQL_TEXT
--------------------------------------------------------------------------------
update employees set email = 'TonyTest2' where employee_id = 200

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup;
ORACLE instance started.

Total System Global Area 6714322944 bytes
Fixed Size                  2239192 bytes
Variable Size            6526338344 bytes
Database Buffers          167772160 bytes
Redo Buffers               17973248 bytes
Database mounted.
Database opened.
SQL>

###check update 的数据,发现数据丢失,通过 shutdown immediate 方式关闭数据。
SQL> select email from employees where employee_id = 200;

EMAIL
-------------------------
JWHALEN

此处输入图片的描述

####2.4 SHUTDOWN ABORT

如果NORMAL、TRANSACTIONAL 和IMMEDIATE 关闭模式都不起作用,则可以中止当前的数据库实例。中止实例时会发生以下情况:

  • Oracle DB 正在处理的当前SQL 语句会立即终止。
  • Oracle 服务器不会等待当前连接到数据库的用户断开连接。
  • 数据库和重做缓冲区未写入磁盘。
  • 不回退未提交的事务处理。
  • 实例终止,但未关闭文件。
  • 数据库未关闭或未卸载。
  • 下一次启动时需要进行实例恢复,实例恢复是自动进行的。

**注:**建议不要备份处于不一致状态的数据库。

SQL> select username, machine, prev_sql_id from v$session
  2  where program like '%TNS%';

USERNAME                       MACHINE              PREV_SQL_ID
------------------------------ -------------------- -------------
HR                             hzvscmdb             2kr7fuxvsa5kc
SYS                            hzvscmdb             1h50ks4ncswfn

SQL> select sql_text from v$sql where sql_id = '2kr7fuxvsa5kc';

SQL_TEXT
--------------------------------------------------------------------------------
update employees set email = 'Tonytest2' where employee_id = 200

SQL> shutdown abort;
ORACLE instance shut down.

#If a SHUTDOWN ABORT or abnormal termination occurs, then the instance of an open database closes and shuts down the database instantaneously. Oracle Database does not write data in the buffers of the SGA to the data files and redo log files. The subsequent reopening of the database requires instance recovery, which Oracle Database performs automatically.

SQL> startup;
ORACLE instance started.

Total System Global Area 6714322944 bytes
Fixed Size                  2239192 bytes
Variable Size            6526338344 bytes
Database Buffers          167772160 bytes
Redo Buffers               17973248 bytes
Database mounted.
Database opened.

###check update 的数据,发现数据丢失,通过 shutdown immediate 方式关闭数据。

SQL> select email from employees where employee_id = 200;

EMAIL
-------------------------
JWHALEN

© 著作权归作者所有

共有 人打赏支持
wangbinbin0326
粉丝 7
博文 39
码字总数 43554
作品 0
杭州
数据库管理员
Oracle基础知识

一、初始化参数文件 1、pfile文件的默认名称: init.ora spfile文件的默认名称: spfile.ora 2、初始化参数文件的优先级(oracle默认的搜寻过程) spfile.ora---->spfile.ora--->init.ora 3、...

我就叫你女王吧 ⋅ 2016/05/23 ⋅ 0

Oracle 基础篇 --- Oracle Network配置

第二. Oracle Network配置 配置和管理Oracle Network 的工具: * Enterprise Manager 的“Net Services Administration(网络服务管理)”页 1. Oracle Net Manager * 提供一个图形用户界面(...

wangbinbin0326 ⋅ 2015/05/29 ⋅ 0

经典Oracle常用技巧荟萃

height:32.25pt;width:525pt">第一部分 安装优化篇 height:29.25pt;width:525pt">第二部分 基础管理篇 collapse;width:333pt"> collapse;width:333pt"> height:29.25pt;width:525pt">第三部分......

51cto_bbs ⋅ 2013/04/02 ⋅ 0

Oracle基础知识-Oracle不同的启动关闭方式

Oracle中不同启动和关闭方式的区别 Oracle数据库提供了几种不同的数据库启动和关闭方式,本文将周详介绍这些启动和关闭方式之间的区别连同他们各自不同的功能。 一、启动和关闭Oracle数据库 ...

青夜之衫 ⋅ 2017/12/04 ⋅ 0

Oracle培训的建议收集

近期要组织一次新员工培训,交代了两节课的任务,主要介绍Oracle数据库,一个是针对纯小白,一个是经过一段时间的学习,针对有一定基础的,内容不限,时间不限。 介绍数据库,介绍Oracle,其...

bisal ⋅ 2017/09/08 ⋅ 0

python cx_Oracle基础使用方法

问题 使用python操作oracle数据库,获取表的某几个字段作为变量值使用。 使用+的方法需要对格式进行控制,通过流获取这几个字段值不简洁。(优点是能够使用的方法直接访问sql文件,不需要考虑...

莫显辉 ⋅ 2017/11/15 ⋅ 0

Oracle高可用概述(HA与RAC的关系解惑)

看到leonarding大神总结的有关Oracle高可用性的概述,之前开会的时候,有人也提到过Oracle HA、RAC等等,当时这些概念不是特别清楚,下来查过后感觉HA是一个概念,像RAC、Stream Replicatio...

bisal ⋅ 2013/09/26 ⋅ 0

DBA成长计划

DBA成长计划 初级DBA 步骤#1: 关系型数据库理论–这部分我假设你将管理的数据库是一个“关系型”数据库。其他数据库模型也存在,但是关系型模式是近二十年工业上占统治地位的一种数据库模式。...

舞动梦灵 ⋅ 2015/03/31 ⋅ 0

最全java学习路线图 java学习指南

JavaEE学习路线图 准备篇 适用/适合人群:适合基础小白 目标:掌握JavaSE。 ●技术点小节: 1.开发工具的安装配置的介绍 2.JDK安装 3.DOS环境编程 4.Eclipse的安装使用 ●JAVA基础 1.基本的语...

耳东陈_f1e5 ⋅ 01/14 ⋅ 0

web工作流管理系统开发之十 数据库连接及事务设定

为了方便设置数据库连接和事务的一致,将所有数据库连接信息统一设置在fcconfig.xml文件中; fcconfig.xml的内容:

长平狐 ⋅ 2012/10/11 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Thrift RPC实战(二) Thrift 网络服务模型

TServer类层次体系 TSimpleServer/TThreadPoolServer是阻塞服务模型 TNonblockingServer/THsHaServer/TThreadedSelectotServer是非阻塞服务模型(NIO) 1 TServer抽象类的定义 内部静态类Args的...

lemonLove ⋅ 14分钟前 ⋅ 0

vim命令用法

第五章 vim命令 vim和vi几乎是一样的,唯一的区别就是当编辑一个文本时,使用vi不会显示颜色,而使用vim会显示颜色。 vim有三个模式:一般模式,编辑模式,命令模式。 系统最小化安装时没有安...

弓正 ⋅ 16分钟前 ⋅ 0

MyBatis源码解读之配置

1. 目的 本文主要介绍MyBatis配置文件解析,通过源码解读mybatis-config.xml(官方默认命名)、Mapper.xml 与Java对象的映射。 2. MyBatis结构 查看大图 MyBatis结构图,原图实在太模糊了,所以...

无忌 ⋅ 20分钟前 ⋅ 0

Ignite的jdbc与网格的连接方式的查询性能对比

环境: 数据量100万 Ignite2.5 Windows10 8g jdbc方式连接 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; i......

仔仔1993 ⋅ 34分钟前 ⋅ 0

收集自网络的wordpress 分页导航的代码教程(全网最全版)

wordpress 分页导航是用来切换文章的一个功能,添加了 wordpress 分页导航后,用户即可自由到达指定的页面数浏览分类文章,而这样的一个很简单功能却有很多朋友在用插件:WP-PageNavi,插件的...

Rhymo-Wu ⋅ 50分钟前 ⋅ 0

微服务 WildFly Swarm 入门

Hello World 就像前面章节中的其他框架一样,我们希望添加一些基本的 Hello-world 功能,然后在其上逐步添加更多的功能。让我们从在我们的项目中创建一个 HolaResources 开始。您可以使用您的...

woshixin ⋅ 57分钟前 ⋅ 0

Maven的安装和Eclipse的配置

1. 下载Maven 下载地址 2. 解压压缩包,放到自己习惯的硬盘中 此处我将其放到了 D:\Tools 目录下。 3. 配置环境变量 右键此电脑 -> 属性 -> 高级系统设置 -> 环境变量。 在系统变量中新建,变...

影狼 ⋅ 今天 ⋅ 0

python pip使用国内镜像的方法

国内源 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 华中理工大学:http://......

良言 ⋅ 今天 ⋅ 0

对于url变化的spa应该如何使用微信jssdk

使用vue单页面碰上微信jssdk config验证失败的坑。第一次成功 之后切换页面全部失败,找到了解决方法,第一次验证成功后保存验证信息 切换页面时验证信息直接拿来用,加一个wx.error() 失败时...

孙冠峰 ⋅ 今天 ⋅ 0

Spring Cloud Gateway 一般集成

SCF发布,带来很多新东西,不过少了点教程,打开方式又和以前的不一样,比如这个SCG,压根就没有入门指导,所以这里写一个,以备后用。 一、集成 pom.xml <dependency> <groupI...

kut ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部