问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

使用哪一条shutdown语句关闭数据库时,下次打开数据库是需要做恢复操作

发布网友 发布时间:2022-05-05 23:43

我来回答

2个回答

热心网友 时间:2022-05-06 01:12

1 数据库的启动(STARTUP)

在Startup命令中,可以通过不同的选项来控制数据库的不同启动步骤。

1、STARTUP NOMOUNT

NONOUNT选项仅仅创建一个Oracle实例。读取init.ora初始化参数文件、启动后台进程、初始化系统全局区(SGA)。Init.ora文件定义了实例的配置,包括内存结构的大小和启动后台进程的数量和类型等。实例名根据Oracle_SID设置,不一定要与打开的数据库名称相同。当实例打开后,系统将显示一个SGA内存结构和大小的列表,如下所示:

SQL> startup nomount
ORACLE instance started.
Total System Global Area 35431692 bytes
Fixed Size 70924 bytes
Variable Size 18505728 bytes
Database Buffers 16777216 bytes
Redo Buffers 77824 bytes

2、STARTUP MOUNT

该命令创建实例并且安装数据库,但没有打开数据库。Oracle系统读取控制文件中关于数据文件和redo log文件的内容,但并不打开这些文件。这种打开方式常在数据库维护操作时使用,如对数据文件的更名、改变redo log以及打开归档方式、执行数据库的full database recovery。在这种打开方式下,除了可以看到SGA系统列表以外,系统还会给出" Database mounted. "的提示。

3、STARTUP

该命令完成创建实例、安装实例和打开数据库的所有三个步骤。此时数据库使数据文件和redo log文件在线,通常还会请求一个或者是多个回滚段。这时系统除了可以看到前面Startup Mount方式下的所有提示外,还会给出一个" Database opened. "的提示。此时,数据库系统处于正常工作状态,可以接受用户请求。

如果采用STARTUP NOMOUNT或者是STARTUP MOUNT的数据库打开命令方式,必须采用ALTER DATABASE命令来执行打开数据库的操作。例如,如果你以STARTUP NOMOUNT方式打开数据库,也就是说实例已经创建,但是数据库没有安装和打开。这时必须运行下面的两条命令,数据库才能正确启动。
ALTER DATABASE MOUNT;
ALTER DATABASE OPEN;

而如果以STARTUP MOUNT方式启动数据库,则只需要运行下面一条命令即可以打开数据库:
ALTER DATABASE OPEN;

4、其他打开方式

除了前面介绍的三种数据库打开方式选项外,还有另外其他的一些选项。

(1) STARTUP RESTRICT

这种方式下,数据库将被成功打开,但仅仅允许一些特权用户(具有DBA角色的用户)才可以使用数据库。这种方式常用来对数据库进行维护,如数据的导入/导出操作时不希望有其他用户连接到数据库操作数据、数据装载、特定的迁移或者升级操作等。

(2) STARTUP FORCE

该命令其实是强行关闭数据库(shutdown abort)和启动数据库(startup)两条命令的一个综合。该命令仅在关闭数据库遇到问题不能关闭数据库时采用。

(3) ALTER DATABASE OPEN READ ONLY;

该命令在创建实例以及安装数据库后,以只读方式打开数据库。对于那些仅仅提供查询功能的产品数据库可以采用这种方式打开。

2 数据库的关闭(SHUTDOWN)

对于数据库的关闭,有四种不同的关闭选项。

1、SHUTDOWN NORMAL

这是数据库关闭SHUTDOWN命令的确省选项。也就是说如果输入SHUTDOWN这样的命令,也就是执行SHUTDOWN NORNAL命令。

发出该命令后,任何新的连接都将再不允许连接到数据库。在数据库关闭之前,Oracle将等待目前连接的所有用户都从数据库中退出后才开始关闭数据库。采用这种方式关闭数据库,在下一次启动时不需要进行任何的实例恢复。但需要注意的是,采用这种方式,也许关闭一个数据库需要几天时间,或者更长。

2、SHUTDOWN IMMEDIATE

这是常用的一种关闭数据库的方式,想很快地关闭数据库,但又想让数据库干净的关闭,常采用这种方式。
当前正在被Oracle处理的SQL语句立即中断,系统中任何没有提交的事务全部回滚。如果系统中存在一个很长的未提交的事务,采用这种方式关闭数据库也需要一段时间(该事务回滚时间)。系统不等待连接到数据库的所有用户退出系统,强行回滚当前所有的活动事务,然后断开所有的连接用户。

3、SHUTDOWN TRANSACTIONAL

该选项仅在Oracle 8i后才可以使用。该命令常用来计划关闭数据库,它使当前连接到系统且正在活动的事务执行完毕,运行该命令后,任何新的连接和事务都是不允许的。在所有活动的事务完成后,数据库将和SHUTDOWN IMMEDIATE同样的方式关闭数据库。

4、SHUTDOWN ABORT

这是关闭数据库的最后一招,也是在没有任何办法关闭数据库的情况下才不得不采用的方式,一般不要采用。如果下列情况出现时可以考虑采用这种方式关闭数据库。

1、 数据库处于一种非正常工作状态,不能用shutdown normal或者shutdown immediate这样的命令关闭数据库;
2、 需要立即关闭数据库;
3、 在启动数据库实例时遇到问题;

所有正在运行的SQL语句都将立即中止。所有未提交的事务将不回滚。Oracle也不等待目前连接到数据库的用户退出系统。下一次启动数据库时需要进行实例恢复,因此,下一次启动可能比平时需要更多的时间。

下表为上述四种不同关闭数据库的区别和联系。
关闭方式 Abort Immediate Transaction Nornal
允许新的连接 × × × ×
等待直到当前会话中止 × × × √
等待直到当前事务中止 × × √ √
强制CheckPoint,关闭所有文件 × √ √ √
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
和平精英电脑版怎么下载和平精英电脑版哪里下载 绝地吃鸡电脑版怎么下我想问一下电脑版绝地求生怎么下载 绝地求生电脑版怎么下载免费怎么在电脑上下载绝地求生 从哪里下载电脑游戏绝地求生绝地求生电脑版哪儿可以下载 冒险岛战士加能力点 冒险岛战士怎么加能力值,我要转黑骑,怎么加技能?要清晰的,较详细的 冒险岛战士的能力值怎么加? LOVE TRAP~爱情陷阱~的歌词是什么? 珍珠鸟课文生字形近字 “担任副经理级别以上的职务”英语怎么说? QQ个人资料怎么编辑才能显示手机号 iphone手机qq个人资料中手机号码怎么设置显示 qq号怎么设置显示手机号 最刮油的减肥茶什么茶 windows7怎么找到兼容性 低危HPV11是什么意思 hpv11可以根治吗? QQ给别人手机发短信能显示我的手机号码吗 感染了HPV11,但是没有疣体,传染吗 我想了解男性hpv11阳性是什么意思 hpv11阳性什么意思,严重吗 ttp244pro打印机怎么调速度? 女人查出hpv11为阳性是什么意思 sc TTP-244条码打印机一行四列20*12怎么设置打印选项 HPV11低危型 hpv11是什么意思 HPV11阳性是什么意思?严重吗 hpv11感染是什么意思 TSC ttp244调码打印机怎么设置双排打印? 新开了一家工厂怎么选择空压机呢? 西安经济技术开发区租金 西安钟楼南边到体育场写字楼租金是多少 西安曲江望座写字楼多少钱一平方? 西安地区写字楼问题 写字楼现在多少钱一平?往外面出租吗?哪家的报价比较低 2017年西安市个人出租写字楼给单位办公,税率计算问题 租个适合创业的写字楼,小面积大概多少钱? 西安市雁塔区哪栋写字楼房租比较便宜? 前海人寿保险股份有限公司会倒闭吗? 这个小娱新闻也不知道绑哪个 软件真的很烦人求大神告知怎么山删除 - 信息提示 泰康健康一年交5000,十五年的保险,已经交了三年一万五,能退回来多少钱? 进出口报关单证一般需要哪些呢? 进出口货物报关单各联的用途是什么 一般进出口货物适用的具体货物有哪些? 知道地亩数和长度,怎样计算宽度 如何通过pfile创建spfile重新启动数据库 有亩数有长度怎样求宽度- 问一问 51聊怎么没有了.?是不是更换网址了。? 51聊进聊天网页自动退出