Oracle数据库启动分为三个阶段:nomount、mount恽但炎杰和open阶段。nomount阶段需要一个参数文件;mount阶段需要读取到控制文件;open阶段则需要读到所有的数据揍茏壅混文件和日志文件,并且保证所有的数据文件和日志文件与控制文件中记录的名称和位置一致。下面分别破坏参数文件、控制文件和数据文件,验证Oracle的启动过程。
工具/原料
Oracle10gR2
方法/步骤
1、查看当前数据频骑夭挞库状态、参数文件、控制文件和数据文件的位置。当前状态:selectstatusfromv$instance;参数文件(nom泠贾高框ount):showparameterspfile控制文件(mount):showparametercontrol数据文件(open):selectfile_namefromdba_data_files;
2、首先关闭数据库水貔藻疽,然后打开数据库,此步骤保证数据库是可以正常open的。最后再次关闭数据库。shutdownimmediat髫潋啜缅estartupselectstatusfromv$instance;shutdownimmediate
3、将C:\oracle\product\10.2.0\db_1\dbs\SPFILEORCL.ORA改名为SPFILEORCL.ORA.bak以破坏参数文件
4、使用startupnomount启动数据库到nomount状态,失败!
5、将C:\oracle\product\10.2.0\db_1\dbs\SPFILEORCL.ORA.bak改名为正确的名称SPFILEORCL.ORA
6、再次使用startupnomount启动数据库到nomount状态,成功!
7、将C:\oracle\product\10.2.0\oradata\orcl\CONTROL01.CTL、CONTROL02.CTL和CONTROL03.CTL分别加后缀.bak,来破坏控制文件。
8、使用alterdatabasemount;改变数据库状态。失败!
9、将C:\oracle\product\10.2.0\oradata\orcl\觊皱筠桡CONTROL01.CTL.bak、CONTROL02.C皈其拄攥TL.bak和CONTROL03.CTL.bak分别去掉后面的.bak,即改回原有的正确名称。
10、再次使用alterdatabasemount;改变数据库状态。成功!
11、将C:\oracle\product\10.2.0\oradata\orcl\SYSTEM01.DBF改名为SYSTEM01.DBF.bak,来破坏一个数据文件。
12、使用alterdatabaseopen;改变数据库状态。失败!
13、将C:\oracle\product\10.2.0\oradata\orcl\SYSTEM01.DBF.bak改名为SYSTEM01.DBF,即改回原有的正确名称。
14、再次使用alterdatabaseopen;改变数据库状态。成功!使用selectstatusfromv$instance;查看数据库当前状态为open。