启动数据库

启动数据库

  启动数据库时,选择启动状态。下面将说明启动例程的各个阶段的情况。

  启动例程(NOMOUNT):

  仅在创建数据库或重新创建控制文件过程中,例程才会在nomount阶段启动。

  启动例程包括下列任务:

    ·按以下顺序从$ORACLE_HOME/dbs读取初始化文件:

      首先读取spfileSID.ora

      如果找不到,则读取spfile.ora

      如果仍然找不到,则读取initSID.ora

      使用startup指定pfile参数已覆盖缺省行为。

    ·分配SGA

    ·启动后台进程

    ·打开alertSID.log文件和跟踪文件

  必须在初始化文件中使用DB_NAME参数对数据库命名,或使用STARTUP命令命名。

  加载数据库(MOUNT):

  若要执行特定的维护操作,可启动例程并加载数据库,但不要打开数据库。

  例如,在以下任务中必须加载数据库但不要打开数据库:

    ·重命名数据文件

    ·启动和禁用重做日志归档选项

    ·执行完全数据库恢复

  加载数据库包括以下任务:

    ·使数据库与以前启动的例程关联

    ·定位并打开参数文件中指定的控制文件

    ·读取控制文件以获取数据文件和重做日志文件的名称和状态。但是在此时不进行数据文件和联机重做日志文件是否存在的检查。

  打开数据库(OPEN):

  正常的数据库操作指启动例程、加载数据库和打开数据库。通过正常的数据库操作,任何有效用户都可以连接到数据库并执行一般的数据库访问操作。

  打开数据库包括以下任务:

    ·打开联机数据文件

    ·打开联机重做日志文件

  如果在尝试打开数据库时由任何数据文件或联机重做日志文件不存在,oracle服务器将返回错误消息。

  在这个最后阶段中,oracle服务器验证所有数据文件和联机重做日志文件是否可以打开,并检查数据库的一致性。如果需要,系统监视(SMON)后台进程将启动例程恢复操作。

  自动启动数据库:

  在unix上:自动启动和关闭数据库可由特定的操作系统文件进行控制,例如,/var/opt/oracle目录下的oratab。

  ALTER DATABASE 命令:

  要将数据库从nomount更改为mount阶段或者从mount更改为open阶段,请使用alter database命令:alter database {mount | open}

  若要防止数据被用户事务修改,可以以只读模式打开数据库。alter database open [READ WRITE | READ ONLY]

  其中:

    ·READ WRITE :以读写模式打开数据库,以便用户生成重做日志。

    ·READ ONLY:将用户限制为只能执行只读事务,以防止用户生成重做日志信息。

  以受限模式打开数据库

   受限会话十分有用,例如,当执行结构维护或数据库导出和导入时。以受限模式启动数据库,这样,只有具有RESTRICTED SESSION权限的用户才可以使用该数据库。ALTER SYSTEM [{ENABLE|DISABLE} RESTRICTED SESSION]

     其中:

     ·enable restricted session: 仅允许具有restricted session权限的用户在以后登录

     ·disable restricted session:禁用restricted session以允许没有该权限的用户可以登录

  终止会话:

  将例程置于受限模式后,在执行管理任务前可能想终止所有当前用户会话。此操作可通过以下命令来实现:

    ALTER SYSTEM KILL SESSION 'integer1,integer2'

    其中:

      ·integer1:v$session视图中的SID列的值

      ·integer2: v$session视图中的serial#列的值

    alter system kill session 命令一执行,将使后台进程PMON立即执行以下步骤:

      ·回退用户的当前事务

      ·释放所有当前持有的表或行锁定

      ·释放用户当前保留的所有资源

  

posted @ 2011-07-12 11:20  leanman  阅读(530)  评论(0)    收藏  举报