最新文章:

首页 数据库

oracle数据库的启动和关闭

发布时间:2017年10月27日 评论数:抢沙发 阅读数:4168


    启动数据库

    启动数据库其实很简单,只需要用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.
二维码加载中...
本文作者:Mr.linus      文章标题: oracle数据库的启动和关闭
本文地址:http://www.90qj.com/441.html  本文已经被百度收录,点击查看详情
版权声明:若无注明,本文皆为“挨踢 Blog”原创,转载请保留文章出处。
挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论

清空信息
关闭评论