ORACLE之 数据库启动三个状态

  • 原创
  • |
  • 浏览:8018
  • |
  • 更新:
  • |
  • 标签:Oracle 

Oracle数据库启动分为三个阶段:nomount、mount 和 open 阶段。nomount阶段需要一个参数文件;mount阶段需要读取到控制文件;open阶段则需要读到所有的数据文件和日志文件,并且保证所有的数据文件和日志文件与控制文件中记录的名称和位置一致。下面分别破坏参数文件、控制文件和数据文件,验证Oracle的启动过程。

工具/原料

  • Oracle 10g R2

方法/步骤

  1. 1

    查看当前数据库状态、参数文件、控制文件和数据文件的位置。

    当前状态:select status from v$instance;

    参数文件(nomount):show parameter spfile

    控制文件(mount):show parameter control

    数据文件(open):select file_name from dba_data_files;

    ORACLE之 数据库启动三个状态
  2. 2

    首先关闭数据库,然后打开数据库,此步骤保证数据库是可以正常open的。

    最后再次关闭数据库。

    shutdown immediate

    startup

    select status from v$instance;

    shutdown immediate

    ORACLE之 数据库启动三个状态
  3. 3

    将 C:\oracle\product\10.2.0\db_1\dbs\SPFILEORCL.ORA 改名为 SPFILEORCL.ORA.bak 以破坏参数文件

    ORACLE之 数据库启动三个状态
  4. 4

    使用 startup nomount 启动数据库到nomount状态,失败!

    ORACLE之 数据库启动三个状态
  5. 5

    将 C:\oracle\product\10.2.0\db_1\dbs\SPFILEORCL.ORA.bak 改名为正确的名称 SPFILEORCL.ORA

    ORACLE之 数据库启动三个状态
  6. 6

    再次使用 startup nomount 启动数据库到nomount状态,成功!

    ORACLE之 数据库启动三个状态
  7. 7

    将 C:\oracle\product\10.2.0\oradata\orcl\CONTROL01.CTL、CONTROL02.CTL 和 CONTROL03.CTL 分别加后缀 .bak,来破坏控制文件。

    ORACLE之 数据库启动三个状态
  8. 8

    使用 alter database mount; 改变数据库状态。失败!

    ORACLE之 数据库启动三个状态
  9. 9

    将 C:\oracle\product\10.2.0\oradata\orcl\CONTROL01.CTL.bak、CONTROL02.CTL.bak 和 CONTROL03.CTL.bak 分别去掉后面的.bak,即改回原有的正确名称。

    ORACLE之 数据库启动三个状态
  10. 10

    再次使用 alter database mount; 改变数据库状态。成功!

    ORACLE之 数据库启动三个状态
  11. 10
    此文章未经许可获取自百度经验
  12. 11

    将 C:\oracle\product\10.2.0\oradata\orcl\SYSTEM01.DBF 改名为 SYSTEM01.DBF.bak,来破坏一个数据文件。

    ORACLE之 数据库启动三个状态
  13. 12

    使用 alter database open; 改变数据库状态。失败!

    ORACLE之 数据库启动三个状态
  14. 13

    将 C:\oracle\product\10.2.0\oradata\orcl\SYSTEM01.DBF.bak 改名为 SYSTEM01.DBF,即改回原有的正确名称。

    ORACLE之 数据库启动三个状态
  15. 14

    再次使用 alter database open; 改变数据库状态。成功!

    使用 select status from v$instance; 查看数据库当前状态为open。

    ORACLE之 数据库启动三个状态
    END

注意事项

  • 本次实验为连续执行。如果从关闭状态直接到mount状态命令为 startup mount。
  • 如果您喜欢,别忘了投票、分享、关注 支持我哈~~
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部
相关标签Oracle