ITPub博客

首页 > 数据库 > Oracle > oracle数据库的启动和关闭

oracle数据库的启动和关闭

原创 Oracle 作者:我是好贱 时间:2015-07-17 12:08:45 0 删除 编辑
启动数据库
oracle数据库的启动是分步骤进行的,其中涉及到实例的启动,数据库的加载和打开。
数据库启动到特殊状况:受限状态、只读状态、静默状态、挂起状态等。

在数据库能够被用户连接使用之前,必须先以一个具有SYSDBA权限的用户连接到oracle,通过startup语句启动数据库。
实例instance是oracle用来管理数据库的一个实体,由位于服务器中的内存结构和一系列进程组成。
启动数据库时将在内存中创建与该数据库对应的实例。
一个实例只能访问一个数据库,但一个数据库可以由多个实例同时访问(RAC)。

数据库启动的3个步骤:
1、创建并启动与数据库对应的实例。为实例分配SGA和后台进程。这个过程需要用到初始化参数文件。
2、加载数据库。实例打开数据库的控制文件,从控制文件中获取到数据库的名称,数据文件的名称和位置等一系列关于数据库物理结构的信息。这个过程需要用到控制文件。
3、打开数据库。实例检查并打开所有处于联机状态的数据文件和重做日志文件。
4、以上三步没有问题的话,数据库将处于正常打开运行状态,普通用户可以访问数据库。

DBA需要根据不同的情况决定以不同的方式启动数据库,还需要在各种启动状态之间进行切换。

启动数据库的工具:1、sql*plus   2、OEM  3、RMAN  

1、以不连接数据库的方式启动sql*plus       SQL>sqlplus  /nolog
2、使用SYSDBA的身份连接数据库             SQL>connect  / as  sysdba
3、打开数据库                                           SQL>startup  

初始化参数文件: PFILE  和 SPFILE  

startup  nomount状态:读取初始化参数文件、启动实例,不加载数据库。用于维护工作(重建控制文件,创建新数据库等)
startup mount状态:启动实例加载数据库,但不打开数据库。(重命名数据文件,添加删除重命名日志文件,执行数据库完全恢复操作,改变数据库的归档模式等)
startup  open状态:打开数据库。

转换模式:
在数据库的各种启动模式之间切换需要使用alert database  mount|nomount|open语句。
数据库的受限状态:在数据库open状态下,用startup  restrict命令设置数据库为受限。(执行数据的导入和导出,数据库的迁移和升级,SQL*loader提取外部数据,拒绝普通用户访问数据库等维护工作),
alter  system  disable  restricted  session   切换到受限
alter  system  enable  restricted  session    切换到非受限
数据库的只读状态:数据库只提供查询,不能对数据库对象进行修改。
alter database  open  read only;
alter database  open  read write;
强行启动数据库:startup  force;
-------------------------------------------
关闭数据库
关闭数据库---卸载数据库---终止实例
正常关闭:  SQL>shutdown  normal   阻止新的连接和新的事务、等待当前所有正在连接的用户主动退出。关闭数据库。
立即关闭:  SQL>shutdown immediate  阻止新的连接和新的事务,未提交的事务被回退,不等用户主动退出就直接关闭卸载数据库,终止实例。下次启动数据库需要恢复。
事务关闭:  SQL>shutdown  transactional  阻止新的连接和新的事务,等待未提交的事务提交完,关闭数据库。下次启动数据库不需要恢复工作。
终止关闭:  SQL>shutdown  abort    阻止所有新的连接,立即终止当前SQL语句,未提交的事务不被回退,立即关闭数据库。下次启动需要做恢复工作。

数据库静默状态的特点:在静默状态下,只有SYS权限的用户能够在数据库中执行查询,更新,运行PL/SQL等操作。其他人的操作都会被禁止。
alter  system  quiesce   restricted;    设置静默
alter  system   unquiesce ;   退出静默       所有之前被暂停的会话和挂起的SQL语句将继续执行。
SQL> select  active_state  from  v$instance;

数据库挂起状态:所有物理文件的I/O操作都被暂停。此时可以进行复制文件、分离硬盘镜像等操作。
SQL>alter  system  suspend;   挂起
SQL>alter  system   resume;    从挂起恢复正常
SQL> select database_status from v$instance;

使用OEM管理工具管理数据库的启动和关闭。











 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30352966/viewspace-1736083/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 安家在ITPUB
下一篇: oracle体系结构
请登录后发表评论 登录
全部评论

注册时间:2015-07-17

  • 博文量
    7
  • 访问量
    3950