Oracle数据库的启动与关闭
一、概述:
Oracle数据库的启动分为启动数据库实例、装载数据库和打开数据库3个过程,对应数据库的3种模式。
启动数据库实例:根据数据库初始化参数文件中参数设置,在内存中为数据库分配SGA、PGA等内存结构,在内存中为数据库分配SGA、PGA等内存结构,同时启动数据库的后台进程。在
此阶段不检查数据库(物理文件)是否存在。
装载数据库:根据初始化参数文件中的control_files参数的设置,将数据库的控制文件调入内存并打开,从中获取数据库所有数据库文件盒重做日志文件的位置、名称、
状态灯数据库结构信息,为打开数据库做准备。
打开数据库:根据控制文件中的信息,将数据库中所有处于联机状态的数据文件、重做日志文件调入内存中并打开。
数据库关闭的过程与数据库启动的过程是相反的
二、启动Oracle
1.启动数据库前的准备
(1)启动监听服务与数据库服务
在启动数据库之前应该先启动数据库服务器的监听服务以及数据库服务。如果监听服务没有启动,那么客户端无法连接到数据库服务器:如果数据库服务没启动,那么客户端就无法连接到数据库。
在windows下
启动监听服务:lsntctl start
打开数据库服务:Oracle orcl
(2)启动SQL*plus
设置环境变量oracle_sid
启动sql*plus
以sysdba登入
oracle 数据库启动模式数据库,对应数据库启动的第二个过程
open 启动实例、装载并打开数据库
open recover 启动数据库实例进行完全介质恢复操作
force 当数据库启动或关闭过程中出现故障时强制重启数据库
restrict 只有具有restrict session权限的用户可以连接到数据库
(1)startup nomount :根据数据库初始化参数文件中参数设置,在内存中为数据库分配SGA、PGA等内存结构,在内存中为数据库分配SGA、PGA等内存结构,同时启动数据库的后台进程
如果DBA要执行以下的操作,必须将数据库启动到nomount模式下进行
创建一个新的数据库
重建数据库的控制文件
(2)startup mount:根据初始化参数文件中的control_files参数找到数据库的控制文件,读取控制文件获取数据库的物理结构信息,包括数据库文件、重做日志文件等,实现数据库的装载。
如果DBA要执行以下的操作,必须将数据库启动到mount模式下进行
改变数据库的归档模式
执行数据库完全恢复操作
(3)startup open
(4)startup open recover:如果数据库处于归档模式,需要进行完全的介质恢复,可以采用这种启动模式。
(5)startup force:
(6 )start restrict:只有具有restrict session权限的用户可以连接到数据库
通常要执行下列操作时,可以采用startup restrict方式启动数据库
执行数据的导出或导入操作
执行数据装载操作
暂时阻止普通用户连接数据库
进行数据库移植或升级操作
改变数据库的状态
1.改变数据库的启动模式:
alter database open
2.数据库读写状态转换
alter database open read write;
3.数据库的受限与非受限状态转换
alter system enable restricted session;
alter system disable restricted session;
关闭数据库:
1.正常关闭数据库
shutdown normal;
oracle会执行以下操作
阻止任何用户建立新的数据库连接
等待当前所有正在连接数据库的用户主动断开连接
一旦所有用户断开连接,则关闭数据库
数据库下次启动时不需要恢复实例
2.事务关闭数据
shutdown transaction;
组织所有用户建立新的数据库连接,也不允许当前连接用户启动任何新的事务
等待用户回滚或提交任何当前未提交的事务,然后立即断开用户连接
所有用户连接都被断开后,关闭数据库
数据库下一次启动时不需要实例恢复
3.立即关闭数据库
shutdown immediate;
组织所有用户建立新的数据库连接,也不允许当前连接用户启动任何新的事务
回滚数据库中所有当前未提交的事务
终止当前数据库的所有的用户连接,直接关闭数据库
数据库下一次启动时不需要实例恢复
数据库的静默与挂起
1.数据库静默的概念
数据库静默只允许dba用户在数据库中执行查询、更新等事务操作,以及运行pl/sql程序,而其他用户都不能在数据库中执行任何操作。
2.进入静默状态: alter system quiesce restricted;
3.退出静默状态:alter system unquiesce;
数据库的挂起
Oracle数据库还有一个特殊的状态,称为挂起状态。当数据库处于挂起状态时,对数据库的数据文件和控制文件的I/O操作都被暂停。这样就可以保证在没有I/O冲突的状态下进行数据的备份操作。当数据库进入挂起挂起状态时,当前所有的
I/O操作可以继续完成,但是新的操作不会被执行,而是被放到等待队列中。只是暂时停止所有用户的I/O操作。
1.进入挂起状态
alter system suspend;
2.退出挂起状态
alter system resume;
Oracle数据库的启动与关闭的更多相关文章
- Oracle数据库的启动和关闭
深刻理解Oracle数据库的启动和关闭 Oracle数据库提供了几种不同的数据库启动和关闭方式,本文将详细介绍这些启动和关闭方式之间的区别以及它们各自不同的功能. 一.启动和关闭Oracle数据库 对 ...
- 深刻理解Oracle数据库的启动和关闭 .
Oracle数据库提供了几种不同的数据库启动和关闭方式,本文将详细介绍这些启动和关闭方式之间的区别以及它们各自不同的功能. 一.启动和关闭Oracle数据库 对于大多数Oracle DBA来说,启动和 ...
- Oracle数据库的启动和关闭实例
在开始了解oracle数据库的命令之前,先来看一个东西:SQL*PLUS(sqlplus) Oracle的sql*plus是与oracle进行交互的客户端工具.在sql*plus中,可以运行sql*p ...
- oracle数据库实例启动与关闭
区分数据库与实例:实例是指各种内存结构和服务进程,数据库是指基于磁盘存储的数据文件.控制文件.参数文件.日志文件和归档日志文件组成的物里文件集合. 数据库实例启动: startup [nomount ...
- oracle数据库的启动、关闭、连接
登陆数据库 方法一: $ sqlplus / as sysdba [oracle@dev /]$ sqlplus / as sysdba SQL*Plus: Release Production on ...
- Linux——oracle数据库实例启动关闭(转)
-->Oracle 数据库实例启动关闭过程 --================================ [root@robinson ~]# su - oracle --查看未启动实例 ...
- Oracle日常运维操作总结-数据库的启动和关闭
下面是工作中对Oracle日常管理操作的一些总结,都是一些基本的oracle操作和SQL语句写法,在此梳理成手册,希望能帮助到初学者(如有梳理不准确之处,希望指出). 一.数据库的启动和关闭 1.1 ...
- Oracle常用命令13(数据库的启动、关闭)
数据库的启动.关闭 数据库的启动:安装启动.非安装启动.共享启动.独占启动.约束启动.强制启动 --不登陆的方式进入 Sqlplus /nolog 安装启动: Startup {pfile=<f ...
- Oracle数据库的启动与停止
oracle linux下开启与关闭 .启动ORACLE监听 首先要登录用户oracle:su - oracle oracle@localhost bin]$ lsnrctl --启动oracle监听 ...
随机推荐
- DataUml Design 教程2-实体建模
DataUml Design 实体建模基于UML类图标准来设计,支持一对一.一对多.多对多关联.模型与开发语言和数据库绑定.1.新建数据模型 1).选择“数据模型” 节点,点击鼠标右键,在菜单中 ...
- 定时器(setTimeout/setInterval)调用带参函数失效解决方法
也许你曾碰到过这样的问题,不管是setInterval()还是setTimeout(),当code参数里放一个带参函数时,定时器都会失效,看下面这个例子: function test(str){ al ...
- if not aa 表示如果aa等于空就是true 相当于if not aa 相当于 if aa== 空
aa='tt' print(not aa) #表示 bb是空的 not 表示空 bb='' print(not bb)
- linux oracle sqlplus中文乱码解决
在oracle用户的~/.bash_profile中添加 NLS_LANG="SIMPLIFIED CHINESE"_CHINA.ZHS16GBKexport NLS_LANG 然 ...
- Android-ViewPagerIndicator框架使用——Circle
前言:Circle适用于应用新功能的展示页和商品的多张图片的展示功能. 1.定义布局文件:SampleCirclesDefault中添加了一个布局:simple_circles. 布局中定义一个Lin ...
- Laravel 5.1 数组帮助函数(随发现更新)
array_add 向一个数组中添加指定键值,如果键值不存在则添加,如果键本身就存在 那么就不添加: $test_array = ['name' => '大K', 'age' => 27] ...
- ScheduleFactory(不同scheduler name)
package com.unis.uvm.quartz; import java.util.Properties; import org.quartz.Scheduler; import org.qu ...
- eclipse4.2+安装modelgoon插件,该插件支持在eclipse直接依据java文件生产类图
安装条件: 1. 确保JDK环境OK 2.该插件安装是基于eclipse kepler(4.2) (并非表示其它版本号不能安装,仅仅是博主仅仅在4.2版本号上測试了.预计4.3版本号还是支持的,可是3 ...
- 47、ListView setSelection() 和 setSelectionFromTop()
http://blog.csdn.net/manoel/article/details/39183025 http://blog.csdn.net/a859522265/article/details ...
- 2、ACE-实用生活口语-介绍 Introductions
(1) (2) (3)认识你很荣幸,如何称呼您呢?It's a pleasure to meet you.I'm glad to meet you.May I have your name?How s ...