ORACLE之 数据库启动三个状态
- 原创
- |
- 浏览:8018
- |
- 更新:
- |
- 标签:Oracle
Oracle数据库启动分为三个阶段:nomount、mount 和 open 阶段。nomount阶段需要一个参数文件;mount阶段需要读取到控制文件;open阶段则需要读到所有的数据文件和日志文件,并且保证所有的数据文件和日志文件与控制文件中记录的名称和位置一致。下面分别破坏参数文件、控制文件和数据文件,验证Oracle的启动过程。
方法/步骤
查看当前数据库状态、参数文件、控制文件和数据文件的位置。
当前状态:select status from v$instance;
参数文件(nomount):show parameter spfile
控制文件(mount):show parameter control
数据文件(open):select file_name from dba_data_files;
首先关闭数据库,然后打开数据库,此步骤保证数据库是可以正常open的。
最后再次关闭数据库。
shutdown immediate
startup
select status from v$instance;
shutdown immediate
将 C:\oracle\product\10.2.0\db_1\dbs\SPFILEORCL.ORA 改名为 SPFILEORCL.ORA.bak 以破坏参数文件
使用 startup nomount 启动数据库到nomount状态,失败!
将 C:\oracle\product\10.2.0\db_1\dbs\SPFILEORCL.ORA.bak 改名为正确的名称 SPFILEORCL.ORA
再次使用 startup nomount 启动数据库到nomount状态,成功!
将 C:\oracle\product\10.2.0\oradata\orcl\CONTROL01.CTL、CONTROL02.CTL 和 CONTROL03.CTL 分别加后缀 .bak,来破坏控制文件。
使用 alter database mount; 改变数据库状态。失败!
将 C:\oracle\product\10.2.0\oradata\orcl\CONTROL01.CTL.bak、CONTROL02.CTL.bak 和 CONTROL03.CTL.bak 分别去掉后面的.bak,即改回原有的正确名称。
再次使用 alter database mount; 改变数据库状态。成功!
- 此文章未经许可获取自百度经验
将 C:\oracle\product\10.2.0\oradata\orcl\SYSTEM01.DBF 改名为 SYSTEM01.DBF.bak,来破坏一个数据文件。
使用 alter database open; 改变数据库状态。失败!
将 C:\oracle\product\10.2.0\oradata\orcl\SYSTEM01.DBF.bak 改名为 SYSTEM01.DBF,即改回原有的正确名称。
再次使用 alter database open; 改变数据库状态。成功!
使用 select status from v$instance; 查看数据库当前状态为open。
END