Oracle数据库的启动和关闭

来源:互联网 发布:阿里云国际绑定信用卡 编辑:程序博客网 时间:2024/04/28 17:04

Oracle一、对于大多数Oracle DBA来说,启动和关闭Oracle数据库最常用的方式就是在命令行(windows)或终端方式(linux)

二、数据库的启动(startup

  1、 创建一个Oracle实例(非安装阶段)(命令:startup nomout)

  3、 打开数据库(打开阶段)(命令: startup)

nomount该命令创建实例并且安装数据库,但不打开数据库。Oracle系统读取控制文件中关于数据文件和重作日志文件的位置信息,但并不会打开该文件。这种打开方式常在数据库维护操作中使用,如对数据文件的更名、改变重作日志以及打开归档方式等。在这种打开方式下,除了可以看到SGA系统列表以外,系统还会给出"数据库装载完毕"的提示。 此阶段可执行的操作有“重建控制文件”,“重建数据库”。

n 以下是一种较好的重建控制文件的方法:

  2. sqlplus “/as sysdba”

5.  6.提取”实例名_ora_15269.trc”中有关控制文件生成的语句另存为creatctl.sql

  STARTUP NOMOUNT

  8.可按自己的需要编辑creatctl.sql中的参数,如maxdatafilesmaxinstances等。

  11. shutdown immediate

  13. alter database open;

重建数据库

对数据库进行冷备份(密码文件,初始化文件,数据文件,联机日志文件,控制文件)

密码文件存放位置(文件名中带有pw): $ORACLE_HOME/dbs/

初始化文件存放位置(ora结尾)$ORACLE_HOME/dbs/

数据文件存放位置(dbf结尾)$ORACLE_BASE/oradata/实例名/

联机日志文件存放位置(log结尾)$ORACLE_BASE/oradata/实例名/

控制文件存放位置(ctl结尾)$ORACLE_BASE/oradata/实例名/

以被恢复主机上建立与原数据库相同目录

还原初始化文件

还原密码文件

还原数据文件

还原联机日志文件

还原控制文件

手动增加服务(命令oradim –NEW –SID实例名 –STARTMODE a –PFILE 初始文件全路径)

启动数据库,收工

STARTUP MOUNT

该命令完成读取控制文件转换到MOUNT阶段,在数据库加载阶段,所有数据文件和联机日志文件的名称和位置都可以从控制文件中读取,但并不会打开这些文件,在此阶段,可以执行的操作有:“数据库日志归档”,“数据库介质恢复”,“使数据文件联机或脱机”,“重定向数据文件和联机日志”。

n 切换到归档模式:alter database archivelog;

数据库介质恢复

数据文件联机或脱机

联机:alter database datafile “全路径”online;

n 数据库OPEN状态下:

名称 offline;

全路径-原文件名“ to “全路径-新文件名”

名称 online;

数据库MOUNT状态下:

“全路径-原文件名“ to“全路径-新文件名”

STARTUP

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

  ALTER DATABASE MOUNT;

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

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

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

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

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

对于数据库的关闭,有四种不同的关闭选项,下面对其进行一一介绍。

SHUTDOWN NORMAL

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

SHUTDOWN IMMEDIATE

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

SHUTDOWN TRANSACTIONAL

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

、 数据库处于一种非正常工作状态,不能用shutdown normal或者shutdown immediate这样的命令关闭数据库;

、 需要立即关闭数据库;

、 在启动数据库实例时遇到问题;

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

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