ORACLE中shutdown命令和startup详解

本文转自:http://www.ej38.com/showinfo/Oracle-196402.html

shutdown有四个参数:normal、transactional、immediate、abort。缺省不带任何参数时表示是normal

一:

shutdown normal:

     不断开现在连接的用户,阻止任何用户建立新的连接,包括管理员在内。已经连接的用户能够继续他们当前的工作,如递交新的更新事务,直到此用户自行断开连接.这样需要等待的时间长,可以查出现连用户,再通知其自行断开.

所有的用户都断开连接,数据库才进行关闭操作,即关闭数据库、卸载数据库、终止例程。在这种情况下关闭的数据库在重新启动后,不会出现问题。启动时不需要实例恢复。

二:

shutdown transactional

     阻止任何用户建立新的连接。等待所有当前连接用户的未递交的活动事务提交完毕,然后立即断开用户的连接。所有的用户都断开连接则立即关闭数据库,进行关闭数据库、卸载数据库、终止进程等操作。这种方式,用户有可能正在算账,做复杂报表!一次数据库操作做不完的,在刚做了一次数据库操作后,将被断开,这样对用户有一定影响.启动时不需要实例恢复。

三:

shutdown immediate

      阻止任何用户新的连接,同时限制当前连接用户开始新的事务。如果已连接用户有未完成的事务,则数据库系统不会等待他们完成,而是直接把当前未递交的事务回退。数据库系统不再等待用户主动断开连接,当未递交的事务回退成功后,系统会直接关闭、卸载数据库,并终止数据库进程。启动时不需要实例恢复。

四:

shutdown abort

     当数据库出现故障时,可能以上三种方式都无法正常关闭数据库,则使用这种方法.强制结束当前正在执行的SQL语句;任何未递交的事务都不被回退!  这种方法基本上不会对控制文件或者参数文件造成破坏。这比强制关机要好一点(在无法正常关闭数据库的时候).启动时自动进行实例恢复。

对于normal、transactional、immediate,db bUFFER cACHE的内容写入了数据文件,没有提交的事务被回滚,所有的资源被释放,数据库被“干净”的关闭。 
对于abort,db bUFFER cACHE的内容没有写入数据文件,没有提交的事务也没有回滚。数据库没有DISMOUNT和关闭,数据文件也没有关闭。当数据库启动时,需要通过REDO LOG恢复数据,通过回滚段对事务回滚,对资源进行释放。

测试时发现如下问题(用sysdba登陆)

ORA-00106: 无法在连接到调度程序时启动/关闭数据库

解决方法

  TEST   =   
      (DESCRIPTION   =   
          (ADDRESS_LIST   =   
              (ADDRESS   =   (PROTOCOL   =   TCP)(HOST   =   RUSHLIGHT)(PORT   =   1521))   
          )   
          (CONNECT_DATA   =   
              (SERVICE_NAME   =   TEST)   
              (SERVER=DEDICATED)     
        )   
      )  

红色部分是需要添加的!添加后再测试即可(自我测试通过)

startup  命令

一:

startup nomount:仅仅通过初始化文件,分配出sga区,启动数据库后台进程,没有打开控制文件和数据文件。不能任何访问数据库。 
二:
startup mount:mount数据库,仅仅给dba进行管理操作,不允许数据库的用户访问。仅仅只是当前实例的控制文件被打开,数据文件未打开。 在这个模式下可以进行如下的某些操作:

    重命名数据文件
    添加取消或重命名重做日志文件
    允许和禁止重做日志存档选项
    执行完整的数据库恢复操作

三:
startup open:startup缺省的参数就是open,打开数据库,允许数据库的访问。当前实例的控制文件中所描述的所有文件都已经打开。

四:

startup pfile= FILENAME:以FILENAME为初始化文件启动数据库,不是采用缺省初始化文件。

五:
startup force:中止当前数据库的运行,并开始重新正常的启动数据库。


startup restrict:只允许具有restricted session权限的用户访问数据库。

这个模式下,登陆者可以:

      执行数据库数据的导出或导入操作
      执行数据装载操作用SQL*Loader
      暂时阻止一般的用户使用数据
      在某个移植过程和升级操作过程中

restricted session登陆后可使用ALTER SYSTEM 语句来禁止RESTRICTED SESSION 特性
ALTER SYSTEM DISABLE RESTRICTED SESSION;
如果是在非受限模式下打开的数据库,后来发现需要限制访问,此时可以使用带ENABLE RESTRICTED SESSION 子句的ALTER SYSTEM 语句来完成。
七:
startup recover:数据库启动,并开始介质恢复。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页