oracel 启动和关闭 DB

 

SYSDBA: 允许执行任何数据库管理任务。
SYSOPER: 能启动和关闭数据库,但限制其他管理性任务,如访问非管理性方案对象等。
初始化参数文件(一个操作系统文件)决定了数据库的物理结构内存、数据库的极限及系统的大部分默认值,
    是进行数据库设计与性能调整的重要文件。初始化参数文件保存了ORACLE启动例程时所要用到的初始化参数
    信息,即ORACLE通过读取初始化参数文件来获得应该怎样确定、配置ORACLE例程和数据库特征及限制信息(
    SGA的大小、数据库的名称、用户数和进程数的限制、指定撤销表空间等)。
   
STARTUP 执行顺序:先找SPFILE 服务器参数文件 ,如果没有SPFILE 则再找 PFILE 文本参数文件。
查找SPFILE、PFILE 位置方法: SHOW PARAMETERS SPFILE/PFILE
查看SPFILE、PFILE 参数文件中初始化参数文件内容:
SHOW PARAMETERS;
SELECT * FROM V$PARAMETER;
SELECT * FROM V$PARAMETER2;
SELECT * FROM V$SPPARAMETER;---显示服务器参数文件中的当前内容;
SPFILE和PFILE参数文件互相转换:
CREATE PFILE [='path'] FROM SPFILE [='path'];
CREATE SPFILE [='path'] FROM PFILE [='path'];
修改初始化参数文件中的参数:
ALTER SESSION --更改当前会话的参数设置,只对当前会话起作用。
ALTER SYSTEM   ---使用于所有的会话。
ALTER SYSTEM 的三种选项: SCOPE=[SPFILE | MEMORY | BOTH]
说明:SPFILE     只更改服务器参数文件中的参数。对于动态/静态参数,这种更改将在下一次启动时生效并一直保留;
                                 只有这种更改的SCOPE子句用于静态参数。
            MEMORY 只更改内存中的参数。对于动态参数,更改立即生效,但不永久保留;不允许对静态参数做修改。(文本参数文件默认)
            BOTH      既更改服务器参数文件中的参数,又更改内存中的参数。对于动态参数的更改会立即生效并永久保留;
                          但是不允许对静态参数的更改。(服务器参数文件默认)
                         
            如果没有使用服务器参数文件 则在指定 SPFILE 或 BOTH 时将报错;对于动态参数,在最后如果指定了DEFERRED ,则更改将只影响将来的会话。
            COMMENT 子句允许为参数的更新 添加相关的备注字符串信息,备注信息将被写到服务器参数文件中(当使用 SPFILE 和 BOTH ).
           
 查看数据库启动时使用的参数文件模式:
 SHOW PARAMETER SPFILE/PFILE;
 修改数据库启动为文本参数文件模式:
 CREATE PFILE FROM SPFILE;
 SHUTDOWN IMMEDIATE;
 STARTUP PFILE='PATH';
 STARTUP OPEN;
 
 
 启动数据库的步骤
 STARTUP  [NOMOUNT | MOUNT |OPEN |FORCE |] [RESTRICT ][PFILE='PATH']  ---   RESTRICT与MOUNT、NOMOUNT、OPEN 、FORCE可以相组合,并且没有顺序限制。
 
 STARTUP  NOMOUNT---启动例程但不装载数据库(通常用这种状态来创建数据库或创建一个新的控制文件)
 1、读取参数文件(spfile 或 pfile)
 2、根据参数文件,在内存中分配相应的空间信息(SGA等)
 3、根据参数文件,启动相应的后台进程。
 4、打开跟踪文件和警报文件。
      在该模式下只能访问与SGA区相关的数据字典视图(v$parameter、v$sga、v$option、v$process、v$session、v$version、v$instance等)
 STARTUP MOUNT    ----装载数据库 但不打开数据库
 1、根据参数文件,打开数据库的控制文件。
 2、从控制文件中获取数据库名称、物理文件(数据文件、重做日志文件)的位置和名称等。
      在本状态下方可实以下 任务:
        A、重命名、增加、删除数据文件和重做日志文件;
        B、执行数据库的完全恢复;
        C、改变数据库的归档模式;(ALTER DATABASE ARCHIVELOG/NOARCHIVELOG;查看是否为归档模式: ARCHIVE LOG LIST)
        D、改变数据库的运行读写方式;(ALTER DATABASE OPEN READ ONLY/WRITE;)
     在该模式下可以访问与SGA相关的数据字典还可以访问与控制文件相关的数据字典(V$THREAD、v$controlfile、v$database、v$datafile、v$logfile等)
 STARTUP OPEN;  ----打开数据库
1、例程将打开所有处于联机状态的数据文件和重做日志文件;

FORCE ;-----在数据库异常关闭,例如数据库服务器突然停电终止,使得数据库处于一个必须使用FORCE的状态。
    即FORCE首先异常关闭数据库,然后重新启动它,而不需要事先用SHUTDOWN 关闭数据库。
   
 RESTRICT ---启动数据库并把它置入OPEN模式,但此时只有拥有RESTRICTED SESSION 权限的用户才能访问数据库。
     要在OPEN模式下执行维和任务,又要保证此时其他用户不能在数据库上建立连接和执行任务,则必须使用 RESTRICT 选项
     该模式下可以执行的任务:
      A、执行数据库的导入或导出操作;
      B、执行数据装载操作(用SQL*Loader);
      C、暂时阻止一般的用户使用数据。
      D、进行数据库移植或升级;
     
 PFILE  ----只有PFILE选项没有SPFILE选项;
 
 
 关闭数据库操作:
 SHUTDOWN [NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT];  ---ABORT 选项下次启动数据库时需要进行数据库恢复操作。
  
   NORMAL
       关闭数据库没有时间限制,通常使用 NORMAL 关闭数据库。
        NORMAL 选项关闭数据库时,ORACLE将执行的操作:
         A、阻止任何用户建立新的连接;
         B、等待当前所有正在连接的用户主动断开连接。当前连接的用户可以继续当前的工作和提交新的事务;
         C、一旦所有的用户都断开连接,才进行关闭、卸载数据库,并终止例程;
             V$SESSION 、V$INSTANCE 视图能够有助于掌握哪些连接到数据库的每一个例程的基本情况;这样DBA就可以给这些用户发送关闭数据库信息;
             ALTER SYSTEM KILL SESSION 有助于删除会话。
            
  TRANSACTIONAL
      能在尽可能段的时间内关闭数据库。ORACLE  将等待所有当前未提交的事务完成后再关闭数据库。
      TRANSACTIONAL 选项关闭数据库时,ORACLE将执行的操作:
       A、阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务;
       B、等待当前未提交的事务提交完毕,然后立即断开用户的连接;
       C、一旦所有用户都断开连接,才关闭、卸载数据库,并终止例程;
      
  IMMEDIATE
      使用该选项关闭数据库的情况:
      A、即将启动自动数据库备份操作;
      B、即将发生电力供应中断;
      C、数据库本身或某个数据库应用程序发生异常,并且此时无法通知用户主动中断连接,或者用户根本无法执行断开操作;
      
      当使用 IMMEDIATE 选项关闭数据库时,ORACLE 将执行的操作:
      A、阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务;
      B、任何当前未提交的事务均被回退;
      C、ORACLE 不再等待用户主动断开连接,而是直接关闭、卸载数据库,并终止例程;
     
  ABORT  ---下次启动数据库需要执行数据库恢复
      如果以上方式都无法关闭数据库,则只能使用该选项来关闭数据库,ABORT 选项不会回退未完成的事务,所以会丢失一部分数据信息,
      并对数据库的完整性造成损害。
          如下特殊情况可以考虑使用 ABORT 选项来关闭数据库:
          A、数据库本身或某个数据库应用程序发生异常,并且使用其他选项关闭数据库均失败;
          B、出现紧急情况,需要立即关闭数据库;
          C、在启动数据库例程的过程中产生错误。
         
         当使用ABORT 选项关闭数据库时, ORACLE 将执行的操作:
          A、阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务;
          B、立即终止当前正在执行的SQL语句;
          C、任何未提交的事务均不被回退;
          D、立即断开所有用户的连接,关闭、卸载数据库,并终止例程;
         
   转换启动模式或修改数据库的状态
   在数据库中各种启动模式之间的切换需要使用 ALTER DATABASE 语句
       为例程卸载数据库:
       ALTER DATABASE NOMOUNT;
       为例程装载数据库:
       ALTER DATABASE MOUNT;
      
 暂停和重新开始数据库 
    执行数据库备份时,为了避免控制文件和数据文件之间的I/O冲突,
        可以使用 ALTER SYSTEM SUSPEND  语句来暂停
                使用 ALTER SYSTEM RESUME   语句来重新开始数据库;
  启用和禁用受限会话模式
     启用受限会话模式:   ALTER SYSTEM ENABLE RESTRICTED SESSION;
     禁用受限会话模式:   ALTER SYSTEM DISABLE RESTRICTED SESSION;
   
  查看所有会话信息 : SELECT * FROM V$SESSION (必须具备该权限)
  删除(中断会话) : ALTER SYSTEM KILL  SESSION 'SID,SERIAL#';
  允许某个会话先完成当前的事务,然后再中断会话则:
     ALTER SYSTEM DISCONNECT SESSION 'SID,SERIAL#' POST_TRANSACTION;
  如果  ALTER SYSTEM [DISCONNECT ] SESSION  'SID,SERIAL#' 后跟 IMMEDIATE 则ORACLE 立即回退正在执行的事务,释放会话的所有锁。
 
     
 
                         

 

你可能感兴趣的:(oracle,数据库,session,database,System)