Oracle数据库的启动和关闭

要启动和关闭数据库,必须要以具有Oracle 管理员权限的用户登陆,通常也就是以具有SYSDBA权限的用户登陆,启动一个数据库需要三个步骤:

1、 创建一个Oracle实例(非安装阶段)

2、 由实例安装数据库(安装阶段)

3、 打开数据库(打开阶段)

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

1、STARTUP NOMOUNT

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

SQL> startup nomount

ORACLE 例程已经启动。

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系统读取控制文件中关于数据文件和重作日志文件的内容,但并不打开该文件。这种打开方式常在数据库维护操作中使用,如对数据文件的更名、改变重作日志以及打开归档方式等。在这种打开方式下,除了可以看到SGA系统列表以外,系统还会给出"数据库装载完毕"的提示。

在此期间可以:

重命名数据文件;

添加、撤消或重命名重做日志文件;

启动和禁止重做日志归档;

执行全部的数据库恢复。

3、STARTUP

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

如果采用STARTUP NOMOUNT或者是STARTUP MOUNT的数据库打开命令方式,必须采用ALTERDATABASE命令来执行打开数据库的操作。例如,如果你以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;

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

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

1、SHUTDOWN NORMAL

这是数据库关闭SHUTDOWN命令的确省选项。也就是说如果你发出SHUTDOWN这样的命令,也即是SHUTDOWN NORMAL的意思。

发出该命令后,任何新的连接都将再不允许连接到数据库。在数据库关闭之前,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也不等待目前连接到数据库的用户退出系统。下一次启动数据库时需要实例恢复,因此,下一次启动可能比平时需要更多的时间。

表1可以清楚地看到上述四种不同关闭数据库的区别和联系。

表1 Shutdown数据库不同方式对比表

关闭方式

A

I

T

N

允许新的连接

×

×

×

×

等待直到当前会话中止

×

×

×

等待直到当前事务中止

×

×

强制CheckPoint,关闭所有文件

×

其中:A-Abort I-Immediate T-Transaction N-Nornal

oracle立即关闭数据库,Oracle数据库的起步和关闭相关推荐

  1. oracle 10g 关库,Oracle Db10g 启动和关闭数据库

    启动数据库的步骤: 1.创建并启动例程 当例程启动时,根据参数文件给内存结构和服务进程分配.初始化和启动.此时,用户可以与数据库通信.但是,不能访问数据库中任何对像(如表.视图等等),原因是例程还没有 ...

  2. oracle数据库实例关闭步骤,Oracle 数据库实例起动关闭过程

    当前位置:我的异常网» 数据库 » Oracle 数据库实例起动关闭过程 Oracle 数据库实例起动关闭过程 www.myexceptions.net  网友分享于:2015-08-26  浏览:7 ...

  3. 查看oracle关闭重启,oracle 数据库关闭重启

    Oracle 11G DataGuard重启详细过程 场景,重启数据库,不重启linux系统,所以不用考虑监听程序, #linux输入lsnrctl start 1 数据库关闭1.1 关闭主库 SHU ...

  4. oracle表启用online,Oracle数据库启动与关闭

    C:\app\Administrator\virtual\product\12.2.0\dbhome_2\bin>dir oracle.exe 驱动器 C 中的卷没有标签. 卷的序列号是 7E6 ...

  5. oracle不一致性关闭下次,Oracle数据库基础题库含答案.doc

    判断题,正确请写写"T",错误请写写"F", 1.oracle数据库系统中,启动数据库的第一步是启动一个数据库实例.( T )2.Oracle服务器端的监听程序 ...

  6. 数据太大导致oracle数据库连接关闭,ORACLE异常关闭后导致数据库报错无法连接问题解决办法-Oracle...

    1.首先kill掉所有oracle相关的进程 [oracle@oracle11g db_1]$ps -ef|grep $ORACLE_SID [oracle@oracle11g db_1]$kill ...

  7. 在oracle的安全策略中,Oracle数据库的安全策略(转)

    Oracle数据库的安全策略(转)[@more@]Oracle是关系型数据库管理系统,它功能强大.性能卓越,在当今大型数据库管理系统中占有重要地位.在我们开发的一MIS系统中,选用了Oracle7.3 ...

  8. oracle rac启停数据库,Oracle rac 启动停止操作文档 PDF 下载

    一.ORACLE 正常启动/关闭操作步骤 1.启动OS操作系统集群 当RAC的两台机器操作系统正常启动后,首先启动OS操作系统的集群,命令如下: cmruncl –v (root 权限下)(启动系统集 ...

  9. oracle 12c安装psu,Oracle 12C数据库PSU补丁安装方式的变化---新增datapatch

    需求:安装Oracle 12.1.0.2数据库的PSU 20160719补丁 一.安装步骤: 1.补丁下载 将/usr/ccs/bin和OPatch路径加到$PATH中: csssit@msuu335 ...

最新文章

  1. Mysql sq优化(二)
  2. mysql 忽略语法错误_MYSQL语句中易忽略的语法错误 | 学步园
  3. python中对数组合并的方法
  4. golang 包含文本_Golang教程之Web篇(七)
  5. 养成一个习惯有多难?不如先从一个小目标开始
  6. php清空dns缓存文件,怎么清除DNS缓存
  7. 跟谁学上市未满1年遭4家机构6轮做空,市值一周缩水近20亿美元
  8. text 热敏打印机_ESC/POS热敏打印机示例
  9. 超赞!UX写手必备技能
  10. 【codeforces 709C】Letters Cyclic Shift
  11. CS academy Binary Flips(dp)
  12. SIGIR 2022 | 港大等提出超图对比学习在推荐系统中的应用
  13. Mac下使用虚拟专用网络
  14. 实验室无人机平台 Pixhawk 2.4.8 / PX4 v1.9.2
  15. 统计方形(NOIP1997)
  16. 计算机辅助设计 王茹,《计算机辅助设计》王茹.pdf
  17. 《和平精英》玩腻了?今年最火的吃鸡游戏《永劫无间》正式上线!
  18. win10下vs2013配置opencv2.4.11+测试代码
  19. 怎么利用群控解决问题
  20. 19年一些微小的计划

热门文章

  1. MaxCompute - ODPS重装上阵 第一弹 - 善用MaxCompute编译器的错误和警告
  2. 《天际友盟DRP数字风险防护报告(2021年上半年)》重磅发布
  3. 腾讯车联发布TAI3.0:三步实现汽车智能进化,2个月快速上车
  4. 面试时遇到「看门狗」脖子上挂着「时间轮」,我就问你怕不怕?
  5. 华南地区最大数据中心上线 阿里云河源数据中心正式开服
  6. OpenStack入门科普,看这一篇就够啦!
  7. 华为发布基于第二代英特尔®至强®可扩展处理器家族的新一代服务器
  8. 如何系统学习领域驱动设计?
  9. VS Code 中的文件添加图标的插件vscode-icons
  10. linux上java解加密(AES/CBC)异常:java.lang.SecurityException: JCE cannot authenticate the provider BC办法