oracle连续状态相同,数据库共有三种状态:quiesce、resrict、suspend

数据库共有三种状态:quiesce、resrict、suspend

一、quiesce模式

首先来说说数据库的静默状态

静默状态是指数据库中只存在sys和system用户建立的活动会话。只有dba能继续操作数据库。

此状态下可以进行一些在非静默状态下执行可能存在不安全因素的特殊操作。

对于必须持续运行的系统,在不关闭数据库就能执行某些特殊操作的功能十分重要。

静默状态下数据库资源管理器(database resource manager)将阻止sys、system用户以外的用户提交操作。

进入静默状态的方法为:

alter system quiesce restricted;(sys或system用户执行)

进入静默模式的过程为:数据库资源管理器控制所有实例,阻止非活动会话恢复为活动状态。普通用户无法执

行新的事务、查询、数据提取和pl/sql过程。如果一个查询是由多个连续的 OCI 数据提取操作执行的,Oracle

不会等待所有的数据提取全部结束。Oracle 只会等待当前的数据提取结束并阻塞之后的数据提取。Oracle 还

会等待所有拥有共享资源的会话(SYS 及 SYSTEM 用户的资源除外)释放资源。上面提到的所有等待都结束之

后,Oracle 可以将数据库置为静默状态,并结束 QUIESCE RESTRICTED 语句。

如果数据库的某个实例是在共享服务模式(shared server mode)下运行的,Oracle 通过数据库资源管理器(

Database Resource Manager)阻止用户(SYS 及 SYSTEM 用户除外)登录到此实例。如果实例运行在专用服务

模式(dedicated server mode)下,Oracle 不会对此实例的用户登录进行限制。

静默状态恢复到正常状态方法为:

alter system unquiesce

可以通过v$instance等视图得到数据库状态。

具体实例为:

Microsoft Windows XP [版本 5.1.2600]

(C) 版权所有 1985-2001 Microsoft Corp.

D:\Documents and Settings\tian>set oracle_sid=test_database

D:\Documents and Settings\tian>sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on 星期五 10月 19 09:19:50 2012

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

SQL> conn /as sysdba

已连接。

SQL> alter system quiesce restricted

2  ;

alter system quiesce restricted

*

ERROR 位于第 1 行:

ORA-25507: 没有使资源管理器一直处于打开状态

//如果是9i,那么必须设置resource_limit参数为true,并设置resource_manager_plan参数指向一个资源计划

SQL> alter system set resource_manager_plan='SYSTEM_PLAN' scope=spfile sid='JLRP

S';

//由于数据库没有开启资源管理器,无法执行这个操作。需要开启后重启才生效。

系统已更改。

SQL> shutdown immediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup

ORACLE 例程已经启动。

Total System Global Area  126950220 bytes

Fixed Size                   453452 bytes

Variable Size             109051904 bytes

Database Buffers           16777216 bytes

Redo Buffers                 667648 bytes

数据库装载完毕。

数据库已经打开。

SQL> alter system quiesce restricted;

系统已更改。

SQL> conn

^C

//此处证明静默模式下其他用户不能登录数据库

D:\Documents and Settings\tian>sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on 星期五 10月 19 09:32:07 2012

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

SQL> conn /as sysdba

已连接。

SQL> select * from v$instance;

INSTANCE_NUMBER INSTANCE_NAME

--------------- ----------------

HOST_NAME

----------------------------------------------------------------

VERSION           STARTUP_TI STATUS       PAR    THREAD# ARCHIVE LOG_SWITCH_

----------------- ---------- ------------ --- ---------- ------- -----------

LOGINS     SHU DATABASE_STATUS   INSTANCE_ROLE      ACTIVE_ST

---------- --- ----------------- ------------------ ---------

1 test_database

TIANLEI

9.2.0.1.0         19-10月-12 OPEN         NO           1 STARTED

ALLOWED    NO  ACTIVE            PRIMARY_INSTANCE   QUIESCED//处于静默状态

SQL> alter system unquiesce;

系统已更改。

SQL> conn scott/tiger

已连接。

SQL> select * from v$instance;

INSTANCE_NUMBER INSTANCE_NAME

--------------- ----------------

HOST_NAME

----------------------------------------------------------------

VERSION           STARTUP_TI STATUS       PAR    THREAD# ARCHIVE LOG_SWITCH_

----------------- ---------- ------------ --- ---------- ------- -----------

LOGINS     SHU DATABASE_STATUS   INSTANCE_ROLE      ACTIVE_ST

---------- --- ----------------- ------------------ ---------

1 test_database

TIANLEI

9.2.0.1.0         19-10月-12 OPEN         NO           1 STARTED

ALLOWED    NO  ACTIVE            PRIMARY_INSTANCE   NORMAL//恢复正常状态了

在设置静默状态时,正在登陆的普通用户被挂起,无法进行操作了。

而当状态改为正常后,普通用户的会话继续执行。

以上的实验是在oracle9i环境下操作的,在10g中,必须开启数据库资源管理器的限制已经被取消了。因此,向

上面实验中的操作其实是没意义的,因为静默状态和restricted状态的区别就在于其不用停掉数据库而执行操

作。

在RAC环境下某个节点设置了静默状态后,其他节点也是能够监测到的。

二、restrict模式:

直接实验

1.会话1中进行操作:

SQL> startup restrict

ORACLE 例程已经启动。

Total System Global Area  126950220 bytes

Fixed Size                   453452 bytes

Variable Size             109051904 bytes

Database Buffers           16777216 bytes

Redo Buffers                 667648 bytes

数据库装载完毕。

数据库已经打开。

SQL> select * from v$instance;

INSTANCE_NUMBER INSTANCE_NAME

--------------- ----------------

HOST_NAME

----------------------------------------------------------------

VERSION           STARTUP_TI STATUS       PAR    THREAD# ARCHIVE LOG_SWITCH_

----------------- ---------- ------------ --- ---------- ------- -----------

LOGINS     SHU DATABASE_STATUS   INSTANCE_ROLE      ACTIVE_ST

---------- --- ----------------- ------------------ ---------

1 jlrps

TIANLEI

9.2.0.1.0         19-10月-12 OPEN         NO           1 STARTED

RESTRICTED NO  ACTIVE            PRIMARY_INSTANCE   NORMAL

SQL> create user tes1 identified by tes1;

用户已创建

SQL> grant create session to tes1;

授权成功。

2.会话2中进行操作:

SQL> conn tes1/tes1

ERROR:

ORA-01035: ORACLE only available to users with RESTRICTED SESSION privilege

SQL> conn scott/tiger

已连接。

SQL> select * from emp;

EMPNO ENAME      JOB              MGR HIREDATE          SAL       COMM

---------- ---------- --------- ---------- ---------- ---------- ----------

DEPTNO

----------

7369 SMITH      CLERK           7902 17-12月-80        800

20

7499 ALLEN      SALESMAN        7698 20-2月 -81       1600        300

30

7521 WARD       SALESMAN        7698 22-2月 -81       1250        500

30

……//结果省略,scott用户拥有dba角色(RESTRICTED SESSION privilege)

3.会话1中操作:

SQL> shutdown immediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup

ORACLE 例程已经启动。

Total System Global Area  126950220 bytes

Fixed Size                   453452 bytes

Variable Size             109051904 bytes

Database Buffers           16777216 bytes

Redo Buffers                 667648 bytes

数据库装载完毕。

数据库已经打开。

SQL>

4.会话2中操作:

SQL> conn tes1/tes1

已连接。

可以看到,restrict模式需要重启数据库,且拥有RESTRICTED SESSION privilege的用户在此模式可以登录系

统进行操作。

而quiese模式就死板多了,除了sys、system都不行,不过也更安全。

三、suspend模式:

面向所有用户,限制I/O操作。当我们需要进行物理读操作时,会话会暂停。

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup

ORACLE 例程已经启动。

Total System Global Area  126950220 bytes

Fixed Size                   453452 bytes

Variable Size             109051904 bytes

Database Buffers           16777216 bytes

Redo Buffers                 667648 bytes

数据库装载完毕。

数据库已经打开。

SQL> alter system suspend;

系统已更改。

SQL> select * from scott.emp;

//一直没有查询结果。

这个问题还真不会解决了。将数据库重启再操作还是无效的

说到了数据库启停,再复习一下:

启动类型:

startup nomount  --启动实例

startup mount    --启动实例、装载

startup (normal) --启动实例、装载、打开数据库

startup pfile='xx/xx/xx.ora'  --参数文件启动

startup restrict --限制模式,无restricted session权限的用户无法登录

startup force    --强制启动,正常启动不了才用

startup open recover --启动实例,装载数据库和启动完全介质恢复

停止类型:

shutdown (normal) --正常模式

shutdownimmediate --立即模式

shutdown abort    --中断模式,再次启动时可能需要恢复

alter system quiese restricted; --停顿数据库,只有sys、system用户可操作

挂起数据库

--暂停对数据文件和控制文件的所有IO,可以在无IO干扰情况先进行备份

--挂起命令可以挂起数据库而并不指定一个实例

ALTER SYSTEM SUSPEND;

--恢复到非挂起状态

ALTER SYSTEM RESUME;

--查看挂起状态

SELECT DATABASE_STATUS FROM V$INSTANCE;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/534585.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle数据库连接名是什么,连接到Oracle数据库的几种命名方式

连接到Oracle数据库的几种命名方式从事 Oracle 相关工作的人,每天都会使用各种工具连接到 Oracle 数据库,比如:SQL*Plus、PL/SQL、TOAD、SQLDeveloper 等等,下面就列举了几种连接到 Oracle 的方式,本例中使用的是 SQL*…

jmeter无法释放oracle连接,jmeter 连接ORACLE数据库错误及解决方法

问题一:Response message: java.sql.SQLException:Cannot load JDBC driver class ‘oracle.jdbc.driver.OracleDriver‘未引入ojdbc14.jar包所致,2种解决方案,最好重启一下:1.在测试计划页面中,点击浏览,选…

oracle11g ora 12518,servlet执行update报错ORA-12518

ORA-12518: TNS:listener could not hand off client connection这种错误一般是在测试数据库并发性的,多个用户的,后台用servleORA-12518: TNS:listener could not hand off client connection这种错误一般是在测试数据库并发性的,多个用户的…

linux怎么添加头文件目录下,linux下编写c++,include的那些头文件在什么地方?

炎炎设计C/C程序在linux下被编译和连接时,GCC/G会查找系统默认的include和link的路径,以及自己在编译命令中指定的路径。自己指定的路径就不说了,这里说明一下系统自动搜索的路径。【1】include头文件路径除了默认的/usr/include, /usr/local…

linux内核调度 0号进程,Linux内核源代码情景分析---第四章 进程与进程调度

4.1 进程四要素什么是进程?1:有一段代码段供其执行,这代码段不一定是进程所专用,可以与其他进程公用。2:每个进程有其专用的系统空间的堆栈(栈)【这个栈是进程起码的“私有财产”】3:在内核中,要…

redhat linux 系统管理,红帽系统管理一 (RH124)

红帽系统管理一 (RH124)时间:2018-04-24 14:06:52第 1 部分 — 红帽企业 Linux 管理员所需掌握的核心系统管理任务本课程涉及使用红帽 企业 Linux 7。红帽系统管理一 (RH124) 专为之前没有 Linux 系统管理经验的 IT 专业人员设计。本课程侧重讲解 Linux 系统的核心管…

linux命令行聊天,Linux 下使用talk 进行聊天

Linux中talk命令参数程序用于Internet上两个用户之间进行“交谈”:通过键盘输入“说话”,通过看终端屏幕“聆听”。Linux中talk命令参数程序的使用很简单,只要知道交谈对象的地址,就可以邀请对方交谈。格式:talk usert…

linux重启切换内核,ubuntu更新内核切换内核启动

ubuntu更新内核切换内核启动1. 查看需要更新的内核命令:apt-cache search linux该命令将会显示所有可以获取的内核2. 安装内核,假设你要安装的内核为2.6.39-0,则使用下面的命令sudo apt-get install linux-headers-2.6.39-0-generic linux-im…

在linux中which命令,Linux 中 which 命令怎么用?

在Linux中which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果,其用法为“which [文件...]”,其参数有“-n”、“-p”、“-w”和“-V”。Linux which命令用于查找文件。which指令会在环境变量…

linux对硬盘进行分区吗,Linux下如何对硬盘进行分区

免费资源网,https://freexyz.cn/在linux系统下,如想使用一块新的硬盘,需要经历分区、格式化、挂载等操作,然后才能够使用该硬盘。如想学好如何进行分区,需要掌握好几个相关的命令才行。下面,我们来一起看看。查看硬盘使…

corssover linux运行无效,使用 CrossOver 在 Linux运行 Windows 软件(金测OK)

使用 CrossOver 在 Linux运行 Windows 软件即便是最忠实的 Linux 用户,有时候也需要运行一下 Windows 软件。有的用户为此保留了一台旧的 WindowsPC,有的使用双启动,有的使用虚拟机,而使用 CrossOver Linux 的用户则通通不需要这…

thrift linux java,Apache Thrift环境配置

安装Thrift的官方文档地址:当我看到windows安装需要Cygwin或MinGW时,我就直接放弃在windows中配置的想法了,直接打开虚拟机用CentOS进行安装,使用一堆命令安装毕竟比windows方便。CentOS安装Thrift官方文档地址:基本上按照官方的操…

linux流式访问日志,流式实时日志分析系统的实现原理

我们知道网站用户访问流量是不间断的,基于网站的访问日志,即 Web log 分析是典型的流式实时计算应用场景。比如百度统计,它可以做流量分析、来源分析、网站分析、转化分析。另外还有特定场景分析,比如安全分析,用来识别…

linux无法切换shell,linux shell的切换

查看系统可用shell种类:(一般是bash shell)➜ ~ chsh -l/bin/sh/bin/bash/sbin/nologin/bin/dash/bin/zsh修改当前的shell:[rootGIT ~]# chsh -l/bin/sh/bin/bash/sbin/nologin/bin/dash/bin/zsh[rootGIT ~]# chshChanging shell for root.New shell [/bin/bash]: /…

64位ubuntu arm-linux-gcc,在ubuntu 64位的机器上执行arm-linux-gcc提示 no such file or directory【转】...

解压好了arm-linuxg-gcc 放到了$PATH路径下, 无论怎么执行都提示说: no such file or directory,可明明有这个文件的.N遍之后, 执行了 file arm-Linux-gcc发现这个命令是32位的, 需要安装兼容包,于是apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386:ia32-libslibst…

c语言for循环26个英文字母,菜鸟求助,写一个随机输出26个英文字母的程序

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include #include // 用srand、rand函数了#include // 用time函数了#define LEN 32// 产生min~max的随机数 (包含min和max)// rand函数产生0 ~ RAND_MAX 的随机数// 一般上不同编译器要求 RAND_MAX 的值(至少)为 32767#define RAN…

C语言case字句有什么作用,switch case 语句的使用规则

【规则1-21】按字母或数字顺序排列各条case语句。如果所有的case语句没有明显的重要性差别,那就按A-B-C或1-2-3等顺序排列case语句。这样做的话,你可以很容易的找到某条case语句。比如:switch(variable){case A://program codebreak;case B:/…

c语言怎样用格式化文件存储,如何用格式化的方式读写文件

对格式会来说,C语言的格式读写文件是很有要求的,在前面我们已经讲解了如何去进行字符的输入输出,但事实真相,数据的类型是很丰富的,而且大家已经熟悉了用printf和scanf函数进行格式化的输入输出,他们是向终…

输出26个英文字母c语言,菜鸟求助,写一个随机输出26个英文字母的程序

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include #include // 用srand、rand函数了#include // 用time函数了#define LEN 32// 产生min~max的随机数 (包含min和max)// rand函数产生0 ~ RAND_MAX 的随机数// 一般上不同编译器要求 RAND_MAX 的值(至少)为 32767#define RAN…

二阶矩阵乘法C语言,c语言矩阵相乘

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼程序清单#include&nbspint&nbspmain(void){&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspchar&nbsp&nbsp&nbsp&nbspa[2][3];&nbsp&nbsp&nbsp&nbsp&nbsp…