第12章数据库的启动与关闭
- 格式:docx
- 大小:15.54 KB
- 文档页数:2
Oracle数据库启动与关闭各种⽅式详解整理概述只有具备sysdba和sysoper特权的⽤户才能启动和关闭。
在启动数据库之前应该启动监听程序,否则就不能利⽤命令⽅式来管理数据库,包括启动和关闭数据库。
虽然数据库正常运⾏,但如果没有启动监听程序,客户端就不能连接到数据库。
在oracle⽤户下:启动监听程序 lsnrctl start 关闭监听程序lsnrctl stop查询监听程序状态lsnrctl statusstartup⽀持参数STARTUP options | upgrade_optionsoptions为:[FORCE] [RESTRICT] [PFILE=filename] [QUIET] [ MOUNT [dbname]| [ OPEN [open_options] [dbname] ] | NOMOUNT ],NOMOUNT、MOUNT、OPEN为startup的三个阶段,不能在命令中同时存在。
其中,open_options为:READ {ONLY| WRITE [RECOVER]} | RECOVER。
upgrade_options为:[PFILE=filename] {UPGRADE | DOWNGRADE} [QUIET]的完整启动过程包含以下3个步骤:简单地说,就是:启动实例-->加载数据库-->打开数据库.------------------------------------------------------------------------------------------------------------------1.创建并启动与数据库对应的实例。
在启动实例时,将为实例创建⼀系列后台进程和服务进程,并且在内存中创建SGA区等内存结构。
在实例启动的过程中只会使⽤到初始化参数⽂件,数据库是否存在对实例的启动没有影响。
如果初化参数设置有误,实例将⽆法启动。
让知识带有温度。
如何启动和关闭Oracle数据库整理如何启动和关闭Oracle数据库对于一个oracle数据库新手来说,怎么样进行管理oracle数据库呢?首先从最简洁的启动和关闭数据库来说,下面简洁的介绍一下Oracle数据库的.启动和关闭挨次实例讲解。
一、oralce的启动挨次:1、先启动监听程序(对应端口1521) :[]#lsnrctl start2、启动oracle实例:[]#sqlplus / as sysdba(回车)SQLstartup--启动的是环境变量中的默认数据库实例$ORACLE_SID--假如启动多个实例:export ORACLE_SID=ctaudit[]#sqlplus / as sysdba(回车)SQLstartup3、启动em(对应端口1158),isqlplus(对应端口5560):[]#emctl start dbconsole第1页/共2页千里之行,始于足下。
[]#isqlplusctl start二、oracle的关闭挨次1、先关闭em,isqlplus:[]#emctl stop dbconsole[]#isqlplusctl stop2、关闭监听:[]#lsnrctl stop3、关闭oracle实例:[]#sqlplus / as sysdba(回车)SQLshutdown immediate以上所述是我给大家介绍的Oracle数据库的启动和关闭挨次实例讲解,假如大家有任何疑问请给我们留言,我会准时回复大家的。
在此也特别感谢大家对的支持!文档内容到此结束,欢迎大家下载、修改、丰富并分享给更多有需要的人。
第2页/共2页。
请阐述打开数据库,读取数据库和关闭数据库的方法。
打开数据库是指建立数据库连接,使得应用程序能够与数据库进行交互。
读取数据库是指从数据库中获取数据。
关闭数据库是指断开数据库连接,释放资源。
在大多数编程语言中,打开数据库的方法通常涉及以下几个步骤:
1. 导入数据库相关的库或模块。
2. 使用合适的函数或方法建立数据库连接。
这通常需要提供数
据库的连接参数,如数据库类型、主机名、用户名、密码等。
3. 尝试建立连接并处理可能的异常情况,如连接超时、无法连
接等。
4. 如果连接成功,则可以进行数据库操作,如查询、插入、更
新或删除数据。
读取数据库的方法可根据具体的需求和数据库类型有所不同。
一般来说,读取数据库的方法包括以下几个步骤:
1. 构造SQL查询语句,包括选择要查询的表、字段和条件等。
2. 使用合适的函数或方法执行SQL查询,并返回结果集。
3. 遍历结果集,逐行读取数据。
关闭数据库的方法也可以根据具体的编程语言和数据库类型有
所不同,但一般需要执行以下步骤:
1. 使用合适的函数或方法关闭数据库连接。
2. 处理可能的异常情况,如关闭连接失败等。
3. 释放相关资源,如关闭打开的文件、释放内存等。
需要注意的是,在操作数据库时,应该确保数据库连接的正确关闭,以免造成资源泄露或数据库连接池满载的问题。
此外,在进行数据库操作时,还需要注意安全性和性能等方面的考虑,如防止SQL注入、使用索引优化查询等。
第十二章数据库和实例启动和关闭12、数据库和实例启动和关闭这一章解释了启动和关闭Oracle实例和数据库的过程。
这一章包含下列主题:◆ Oracle实例介绍◆ 实例和数据库启动概述◆ 数据库和实例管理概述Oracle实例介绍每个运行着的Oracle数据库和一个Oracle实例关联。
当一个数据库在数据库服务器(不论计算机类型如何)上启动时,Oracle分配一个叫系统全局区(SGA)的内存区域和启动一个或多个Oracle进程。
SGA和Oracle进程的合集叫做一个Oracle实例。
实例的内存和进程高效的管理相关的数据库数据,为数据库的一个或多个用户服务。
图12-1显示一个Oracle实例图12-1 一个Oracle实例实例和数据库启动一个实例之后,Oracle将一个实例和特定数据库关联。
这是一个挂接(mounted)数据库。
数据库然后准备被打开,这样就可以允许认证客户访问。
多个实例可以同时运行在一台机器上,每个访问它们自己的物理数据库。
在大规模的集群系统中,真正应用集群(RAC)可以让多个实例访问单个数据库。
只有数据库管理员可以启动一个实例和打开数据库。
如果数据是开放状态,那么数据库管理员可以关闭数据库,所以数据库就处于关闭状态。
当一个数据库被关闭,用户不能访问它包含的任何信息。
使用管理员权限连接Oracle能启动和关闭数据库。
通常用户不能控制当前数据库的状态。
使用管理员权限连接数据库启动和关闭是权力很大的管理员选项,只能由使用管理权限连接Oracle的用户操作。
依赖于操作系统的不同,一个用户可以在下列情况之一构建管理员权限:◆ 用户的操作系统权限允许他或者她使用管理权限连接(操作系统验证)◆ 被赋予SYSDBA或者SYSOPER权限的用户和数据库密码文件确认拥有数据库管理员权限的用户当你以SYSDBA权限连接,你处于SYS用户的模式下。
当你以SYSOPER权限连接,你处于公共模式下。
SYSOPER权限是SYSDBA权限的子集。
一、在sql * plus 中启动数据库在数据库能够被用户连接并使用之前,必须启动数据库。
每一个启动的数据库至少对应有一个例程。
例程是oracle用来管理数据库的一个实体,它在服务器中,由一组逻辑内存结构和一系列后台服务进程组成。
当启动数据库时,这些内存结构和服务进程得到分配、初始化和启动,以便用户能够与数据库进行通信。
一个例程只能访问一个数据库,而一个数据库可以有多个例程同时访问。
例程是oracle 数据库在运行时位于系统内存中的部分,而数据库在运行时位于硬盘中的部分。
启动数据库的步骤:Step 1. 创建并启动例程例程由一组逻辑内存结构和一系列后台服务进程组成。
当启动例程时,这些内存结构和服务进程得到分配、初始化和和启动,以便用户能够与数据库进行通信。
但是,此时的例程还没有与一个确定的数据库相联系,或者说数据库是否存在对例程的启动并没有影响。
在启动例程的过程中只会使用startup 语句中指定的(或使用默认的)初始化参数文件。
如果初始化参数文件或参数设置有误,则无法启动例程。
参数文件-- 内存结构-- 后台服务(由参数文件初始化参数决定如何启动例程)Step 2. 装载数据库装载数据库时,例程将打开数据库的控制文件,根据初始化参数control_files 的设置找到指定的文件,并从中获取数据库名称、数据文件的位置和名称等关于数据库物理结构的信息,为下一步打开数据库做好准备。
在装载阶段,例程并不会打开数据库的物理文件,即数据文件和重做日志文件,所以数据库是处于关闭状态的。
参数文件-- 控制文件(由参数文件找到控制文件,以便装载数据库)Step 3. 打开数据库只有将数据库设置为打开状态后,数据库才处于正常运行状态,这时用户才能够与数据库连接或会话,以存取数据中的信息。
打开数据库时,例程将打开所有处于联机状态的数据文件和重做日志文件。
如果在控制文件中列出的任何一个数据文件或重做日志文件无法正常打开(如位置或文件名出错),数据库将返回错误信息,这时需要进行数据库恢复。
启动和关闭数据库1.1启动和关闭监听程序在启动数据库之前应该启动监听程序,否则就不能利用命令行方式来管理数据库,包括启动和关闭数据库。
如果没有启动监听程序,客户端就不能连接到数据库,在服务器段就不能使用OEM和Isql*Plus工具1.1.1命令行启动监听程序Lsnrctl start -启动监听Lsnrctl stop -在命令行停止监听服务Lsnrctl status -查看监听的状态1.2在SQL*PLUS中启动数据库启动一个oracle数据库,都是按步骤进行的,每完成一个步骤,就进入一个模式,以便保证数据库处于某种一致性的操作状态。
一个例程只能访问一个数据库,而一个数据库可以由多个流程同时访问。
1.2.1启动数据库的步骤1.2.1.1创建并启动例程流程是由一组逻辑内存结构和一系列后台服务进程组成。
当启动例程时,这些内存结构和服务进程得到分配、初始化和启动,以便用户能够与数据库进行通讯。
但是,此时的例程还没有与一个确定的数据库相联系,或者说数据库是否存在对例程的启动并没有影响。
在启动例程的过程中只会使用startup语句中指定的初始化参数文件。
1.2.1.2装载数据库装载数据库时,例程将打开数据库的控制文件,根据初始化参数control_files的设置找到控制文件,并从中获取数据库名称、数据文件的位置和名称等数据库物理结构的信息,为下一步打开数据库准备。
这时数控还处于关闭状态。
因此,如果控制文件损坏,那么将例程将无法装载数据库1.2.1.3打开数据库只有将数据库设置为打开状态后,数据库才能运行使用。
流程将所有处于联机状态的数据文件和重做日志文件打开综述,启动数据库的过程中,文件使用的顺序是:初始化参数文件->控制文件->数据文件、重做日志文件1.2.2启动模式与启动选项数据库有3种启动模式:Nomount模式、mount模式、open模式启动语法Starup [nomount | mount | open | force] [restrict][pfile=filename];1.Nomount:启动创建例程,但不装载数据库。
数据库的启动与关闭1 .数据库启动与关闭概述数据库启动步骤创建并启动实例 (初始化参数文件) 装载数据库 (操纵文件)打开数据库 (数据文件与重做日记文件)创建并启动实例装载数据库打开数据库NOMOUNTMOUNT OPEN数据库启动过程创建并启动实例依照数据库初始化参数文件,为数据库创建实例,启动一系列后台进程和效劳进程,并创建SGA 区等内存结构。
装载数据库实例打开数据库的操纵文件,从中获取数据库名称、数据文件和重做日记文件的位置、名称等数据库物理结构信息,为打开数据库做好预备。
若是操纵文件损坏,实例将无法装载数据库。
打开数据库在现在期,实例将打开所有处于联机状态的数据文件和重做日记文件。
若是任何一个数据文件或重做日记文件无法正常打开,数据库将返回错误信息,这时数据库需要恢复。
数据库关闭步骤关闭数据库 (关闭数据文件与重做日记文件) 卸载数据库 (关闭操纵文件)关闭实例 (释放内存、停止后台进程和效劳器进程)数据库关闭过程关闭实例卸载数据库关闭数据库2 .启动与关闭数据库经常使用工具SQL*Plus在SQL*Plus 环境中,用户以SYSDBA 身份连接到Oracle 后,能够通过命令行方式启动或关闭数据库。
OEM (企业治理器)利用OEM 数据库操纵台,能够完成数据库的启动与关闭操作。
RMAN在Recovery Manager(RMAN)环境中能够通过命令行方式启动或关闭数据库。
3 .数据库启动的预备命令行方式:启动监听效劳C:\>LSNRCTL START启动数据库效劳C:\> oradim -startup -sid orcl -starttype srvcC:\> NET START OracleServiceORCL (ORCL为数据库名称)注意:利用net命令可否启动数据库,还受到一个注册表参数的阻碍,那个参数是ORA__AUTOSTART(位于HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1)。
数据库启动和关闭的⼏种⽅式数据库启动的三个步骤: 数据库关闭的三个步骤:1.创建⼀个Oracle实例 1.关闭数据库2.由实例安装数据库(即装载数据库) 2.卸载数据库3.打开数据库 3. 关闭实例启动数据库: 关闭数据库:(1)启动PL/SQL: sqlplus /nolog (1)启动PL/SQL: sqlplus /nolog(2)连接到系统⽤户: conn sys/sys@ora125 as sysdba; (2)连接到系统⽤户: conn sys/sys@ora125 as sysdba;(3)启动数据库: startup (3)启动数据库: shutdown immediate启动数据库信息如下: 关闭数据库信息如下:Oracle例程已经启动。
数据库已经关闭。
数据库已经装载完毕已经卸载数据库。
数据库已经打开。
Oracle例程已经关闭。
启动数据库的⼏种⽅式:1.只启动⼀个实例:startup nomount2.startup mount3.startup open dbname4.约束启动(只允许具有某些特权的⽤户访问) startup restrict5.startup 等价于三个命令startup nomount 创建⼀个实例alter database mount 装载数据库alter database open 打开数据库关闭数据库的⼏种⽅式: shutdown [normal | transactional| immediate | abort]1.normal(默认)---正常关闭,等待断开所有客户2.transactional---等待正在执⾏事务操作且尚未提交的客户,直到客户结束事务后才会关闭数据库3.immediate---⽴即关闭,⾃动回退所有未完成事务、断开会话、关闭数据库。
4.abort---终⽌OracleServer,但不会关闭数据库⽂件,下次启动时,会调⽤SMON执⾏例程恢复。
数据库启动和关闭的⼏种⽅式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 NOMOUNTNONOUNT选项仅仅创建⼀个Oracle实例。
读取init.ora初始化参数⽂档、启动后台进程、初始化系统全局区(SGA)。
Init.ora⽂档定义了实例的配置,包括内存结构的⼤⼩和启动后台进程的数量和类型等。
实例名根据Oracle_SID配置,不⼀定要和打开的数据库名称相同。
数据库的启动与关闭一、数据库的启动1.1 数据库的概念数据库是指按照数据结构来组织、存储和管理数据的仓库。
在计算机系统中,数据库是存储、管理和检索数据的重要组成部分。
1.2 数据库管理系统(DBMS)数据库管理系统是指用于管理数据库的软件系统,它提供了对数据库的访问、操作和控制的功能。
常见的数据库管理系统有MySQL、Oracle、SQL Server等。
1.3 数据库的启动过程数据库的启动是指将数据库管理系统加载到内存中,并开始对数据库进行管理和操作的过程。
1.3.1 初始化数据库管理系统在启动数据库之前,需要先进行数据库管理系统的初始化工作。
这包括设置数据库的参数、创建数据库实例等操作。
1.3.2 加载数据库管理系统初始化完成后,数据库管理系统的程序文件将被加载到内存中。
这样,数据库管理系统就可以在内存中运行,并提供对数据库的操作和管理功能。
1.3.3 打开数据库一旦数据库管理系统加载到内存中,就可以打开数据库。
打开数据库是指将数据库文件加载到内存中,并建立与数据库的连接。
1.3.4 启动数据库服务数据库启动后,数据库管理系统将开始提供对数据库的服务。
这包括处理用户的请求、执行数据库操作等功能。
1.4 数据库的启动方式数据库的启动方式可以分为手动启动和自动启动两种。
1.4.1 手动启动手动启动是指通过手动操作来启动数据库。
一般情况下,手动启动需要执行一系列命令或操作,例如启动数据库管理系统的程序、加载数据库文件等。
1.4.2 自动启动自动启动是指在系统启动时自动启动数据库。
这需要在系统配置文件中设置数据库的启动选项,以便在系统启动时自动加载数据库管理系统并启动数据库服务。
二、数据库的关闭2.1 数据库的关闭概念数据库的关闭是指停止数据库管理系统对数据库的操作和管理,并将数据库从内存中卸载的过程。
2.2 数据库的关闭方式数据库的关闭方式可以分为正常关闭和强制关闭两种。
2.2.1 正常关闭正常关闭是指通过数据库管理系统提供的关闭命令或操作来关闭数据库。
第十二章一、填空题1.systemctl start mysqld.service2.[mysqld]3.character_set_server4.max_connections5.log-bin二、判断题1.错2.错3.对4.错5.对三、选择题1. C2. B3.C、D4. B5.A、B、C四、简答题1.请简述常规日志和二进制日志的区别。
答:常规日志用于记录MySQL服务运行信息和SQL语句,二进制日志用于记录MySQL数据库的变化。
二进制日志可以用于多服务器复制、数据恢复,常规日志则不能。
2.请简述备份MySQL数据库有几种方案,优缺点是什么。
答:方案1:直接备份data目录。
优点:操作简单。
缺点:不支持热备,可移植性差。
方案2:使用mysqldump。
优点:使用方便。
缺点:备份速度慢,不灵活。
方案3:使用二进制日志。
优点:备份更灵活,支持增量备份。
缺点:对存储引擎等有要求。
五、实训题1.请动手实现,利用二进制日志备份和恢复数据。
# 在f的[mysqld]中开启二进制日志log-bin=binlogserver-id=1# 使用二进制日志恢复数据./mysqlbinlog /var/lib/mysql/binlog.000001 | mysql -uroot -p12345612.请动手实现,将sh_goods表中的数据导出成XML格式。
mysql -X -uroot -p123456 -e "USE shop; SELECT * FROM sh_goods;" > goods.xml2。
三、启动\关闭数据库启动和关闭oracle有很多种方法。
这里只给出3种方法:l Sql*plusl OEM控制台l Windows 控制台1.以sql*plus为例:a.准备首先我们用sql*plus来连接到OracleSqlplus /nolog 是以不连接数据库的方式启动sql*plus Connect /as sysdba 是以DBA身份连接到oracleb.启动启动还是比较简单的Startup就OK了。
不过oracle启动模式有3种:l Startup nomount (nomount模式)启动实例不加载数据库。
l Startup mount (mount模式)启动实例加载数据库但不打开数据库l Startup (open 模式)启动实例加载并打开数据库,就是我们上面所用的命令Nomount模式中oracle仅为实例创建各种内存结构和服务进程,不会打开任何数据库文件,所以说:1)创建新数据库2)重建控制文件这2种操作都必须在这个模式下进行。
Mount模式中oracle只装载数据库但不打开数据库,所以说:1)重命名数据文件2)添加、删除和重命名重做日子文件3)执行数据库完全恢复操作4)改变数据库的归档模式这4种操作都必须在这个模式下进行Open模式(就是我们上面的startup不带任何参数的)呵呵就不多说了,正常启动。
当然这3种模式之间可以转换:Alter database mount(nomount模式)—〉alter database open(mount 模式)—〉(open模式)当然还有其它一些情况,在我们open模式下可以将数据库设置为非受限状态和受限状态在受限状态下,只有DBA才能访问数据库,所以说:1)执行数据导入导出2)使用sql*loader提取外部数据3)需要暂时拒绝普通用户访问数据库4)进行数据库移植或者升级操作这4种操作都必须在这个状态下进行在打开数据库时使用startup restrict命令即进入受限状态。
数据库的启动与关闭讲稿
一、数据库启动
数据库启动是指通过一定的操作,使得数据库系统开始运行并提供服务。
通常来说,我们使用数据库管理系统(DBMS)来管理数据库。
在启动数据库之前,我们需要确定数据库管理系统的软件已经安装到了本地服务器上,数据库实例也已经创建成功。
下面是在Oracle数据库管理系统中启动数据库的具体步骤:
1.进入Oracle数据库实例所在的目录,通过命令行窗口启动Oracle服务:
net start OracleService<服务名>
2.在命令行窗口中登录到Oracle数据库实例:
sqlplus / as sysdba
3.在SQL*Plus中使用startup命令启动数据库实例:
startup
此时Oracle数据库实例已经成功启动,并且可以提供服务。
二、数据库关闭
数据库关闭是指通过一定的操作,使得数据库停止运行并终止服务。
在关闭数据库之前,我们需要确定在该时刻没有用户在访问数据库,并且所有的事务已经提交或回滚。
否则,强制关闭数据库可能会导致数据的丢失或损坏。
下面是在Oracle数据库管理系统中关闭数据库的具体步骤:
1.在SQL*Plus中使用shutdown命令关闭数据库实例:
shutdown immediate
2.在命令行窗口中断开Oracle服务:
net stop OracleService<服务名>
此时Oracle数据库实例已经成功关闭,不再提供服务。
为保证数据库的安全性,我们建议及时备份数据库,以避免数据丢失或损坏。
第12章数据库的启动与关闭
数据库启动时会首先启动数据库实例(instance),在这个过程中数据库获得一些内存空间,并启动了必须的后台进程,而后会读取控制文件再进一步打开各种数据文件,最后完成数据库的启动任务。
在启动数据库时,涉及三种状态:nomount,mount,open,通常使用startup指令选择不同的参数就可以启动数据库到不同的状态来满足不同的业务需要。
关闭数据库和启动数据库正好相反,也涉及三个过程:close,dismount,shutdown。
用户可以选择使用不同的参数normal,immediate,transactional,abort.在关闭数据库时,最好使用shutdown immediate方式,这种方式安全且相对较快。
12.1启动数据库
启动数据库需要以DBA用户的身份登录。
12.1数据库的启动过程
数据库的启动过程涉及到三个状态。
NOMOUNT状态:只打开了数据库实例。
NOUNT状态:打开控制文件。
OPEN状态:打开数据文件、日志文件等各类必须的数据库文件。
12.1数据库启动到NOMOUNT状态
搜索参数文件,如数据库缓冲区大小、重做日志缓冲区大小等。
根据这些参数分配内存,即SGA,然后启动必须的五个后台进程。
数据库的启动过程记录在告警追踪文件中,存放在BACKGROUND_DUMP_DEST 定义的目录下,名字为aler_orcl.log。
SQL>show parameter background_dump_dest;
SQL>select *
SQL>from v$controlfile;_________会发现此时控制文件没有打开。
SQL>show parameter control_files;
12.1.3数据库启动到MOUNT状态
有两种方式,一是可以直接启动数据库到MOUNT状态;二是如果数据库已经启动到NOMOUNT状态,使用指令ALTER DATABASE MOUNT把数据库切换到MOUNT 状态。
SQL>select *
SQL>from scott.dept;__________会发现些时数据文件没有打开。
12.1.4数据库启动到OPEN状态
ORACLE需要检验数据文件的头信息,进行点计数器检查和SCN检查来完成实例恢复。
数据库启动到OPEN状态,有两种方式,一是直接启动到OPEN状态,使用指令startup open或startup来实现。
二是如果数据库处于NOMOUNT或MOUNT状态,可以使用指令alter database open切换到OPEN状态。
12.2关闭数据库
也涉及到三个过程:CLOSE,DISMOUNT,SHUTDOWN。
SQL>Alter database close;
SQL>Alter database dismount;
SQL> shutdown;
关闭数据库时的重要参数解析
1.SHUTDOWN NORMAL
这种方式是SHUTDOWN数据库的默认方式,不允许新的数据库连接,只有当前的所有连接都退出时才会关闭数据库,这是一种安全地关闭数据库的方式,但是如果有大量用户连接,则需要较长时间关闭数据库。
2.SHUTDOWN IMMEDIATE
这种方式是可以较快且安全地关闭数据库,是经常采用的一种方式,些时数据库会做一些操作,如中断当前事务、回滚未提交的事务、强制断开所有用户连接、执行检查点把脏数据写到数据文件中等。
3.SHUTDOWN TRANSACTIONAL
数据库当前的连接继续执行,但不允许新的连接,一旦当前的所有事务执行完毕,则关闭数据库。
如果当前的某些事务一直执行,或许会用几天时间关闭数据库。
4.SHUTDOWN ABORT
这是一种不安全地关闭数据库的方法。
数据库会断开当前的所有用户连接,拒绝新的连接,断开当前的所有执行事务,立即关闭数据库。
当数据库重启时需要进行数据库恢复,因为它不会对未完成事务回滚,也不会执行检查点操作。