当前位置: 首页 > 数据库 > 正文

oracle数据库的启动和关闭

Mr.linus 发表于2017年10月27日 14:50


启动数据库

启动数据库其实很简单,只需要用SYSDBA身份进入后,执行一个命令:STARTUP,直接执行STARTUP即可启动数据库,如果数据库已经启动,那么会报 ORA-01081错误,例如:

SQL> STARTUP
ORA-01081: cannot start already-running ORACLE - shut it down first

STARTUP命令只有几个选项,组合使用可实现不同的功能:

NOMOUNT :只启动数据库实例

MOUNT:启动实例并加载数据文件

OPEN:启动实例,加载数据文件并打开(默认情况下,如果不加任何参数即是启动到open状态)

       OPEN也有两个选项:
       OPEN READ ONLY: 只读模式打开数据库

       OPEN  READ WRITE:读写模式打开数据库(默认是 READ WRITE)

FORCE:启动数据库,与OPNE选项的区别是:用FORCE选项启动,如果当前数据库已经启动不会报错,而是自动SHUTDOWN ABORT当前数据库,然后再启动,可以简单的理解成RESTART

RESTART:启动数据库,与OPEN选项的区别是,以这种方式启动后,只拥有RESTARCTED SESSION权限用户才能登陆数据库

PFILE:指定PFILE初始化参数文件启动数据库(9I 之后默认是SPFILE,PFILE应用已极有限)

启动数据库实际分多个步骤,前面列表中的前三种选项是数据库实际启动顺序,如启动到NOMOUNT状态后,再通过ALTER DATABASE命令一步步打开数据库,例如:

SQL> STARTUP NOMOUNT;
ORACLE instance started.
Total System Global Area  776646656 bytes
Fixed Size		    2232392 bytes
Variable Size		  503320504 bytes
Database Buffers	  264241152 bytes
Redo Buffers		    6852608 bytes
SQL> ALTER DATABASE MOUNT;
Database altered.
SQL> ALTER DATABASE OPEN;
Database altered.

注意:数据库加载到OPEN状态前。除了拥有SYSDBA/SYSOPER权限的账号,或者以操作系统认证方式登录外,其他用户均无法登录;

停止数据库

即使是windows环境的oracle数据库,我们也不建议以停止服务的方式停止数据库,推荐使用命令的方式手动停止,停止数据库只需要用一个命令---SHUTDOWN,改命令也有几个参数选项

NORMAL:正常方式关闭数据库,在执行SHUTDOWN命令不指定任何选项的情况下,默认应用该选项,这种方式关闭数据库会执行以下操作:

         禁止用户创建新连接;

         等待当前正在连接的用户断开连接(如果用户不主动断开,SHUTDOWN命令会一直等待,当然如果用户服务器断电,也算主动断开)

        关闭数据库、卸载数据库、关闭实例;

这种方式关闭数据库非常被动,因此实际应用非常低。

IMMEDIATE:立即执行关闭,以这种方式关闭会执行以下操作:

         所有未提交的事务全部回滚;

         不允许创建新连接;

         已经创建的连接,如果正在执行SQL语句,则等待完成,如果没有则立即断开该连接。

        关闭数据库、卸载数据库、关闭实例;

TEANSACTIONAL:以实物为准的数据库关闭方式,介于上面两种中间,这种操作方式会执行一下操作:

        不允许创建新连接;

        已经创建的连接不允许产生新的事物;

        等待未提交的事物提交,然后断开连接;

        关闭数据库、卸载数据库、关闭实例;

这种方式在实际中也很少用。

ABORT:中止数据库,以这种方式关闭数据库会执行下列操作:

      中止当前所有SQL;

       所有连接断开;

       未提交的事务不进行回滚(等到下次启动时,进行实例恢复)

       关闭数据库、卸载数据库、关闭实例;

 这种方式是最快速的数据库关闭方法,但是由于是中止数据库的方式进行关闭,下线启动数据库必须进行恢复实例,因此虽然中止快了,但是下次启动时会变慢。而且,由于回滚段数据与数据文件中可能不一致,增加了出问题的机率,因此这是一种不得已的关闭方式;

下面演示SHUTDOWN IMMEDIATE方式关闭,操作如下:

SQL> SHUTDOWN IMMEDIATE
Database closed.
Database dismounted.
ORACLE instance shut down.
全文完
本文标签: 数据库oracle
本文标题: oracle数据库的启动和关闭
本文链接: http://www.90qj.com/m/?post=441

〓 随机文章推荐

共有3743阅 / 0我要评论
  1. 还没有评论呢,快抢沙发~

发表你的评论吧返回顶部

!评论内容需包含中文


请勾选本项再提交评论