控制文件是非常重要的文件,实例读取控制文件才能到mount状态。DBA的一个原则就是多路控制文件,今天我就做了个实验,学习了一下这个。
代码如下:
--查看一下
select value from v$spparameter where name = 'control_files';
这个时候就会看到两条数据了。
然后正常的关掉数据库:
shutdown immediate;
之后复制一份控制文件,改成上面的名字。启动数据库,再查看控制文件:
sho parameter control_files;
这时看到的就是两个控制文件了。
刚才犯了一个很白痴的错误,不妨写出来,www.linuxidc.com让大家也笑一个。
step1
alter system set control_files='D:appwingsoradatatestdbCONTROL04.CTL' scope=spfile;
这样就更改了系统,启动的话会以04这个文件启动。
之后我关掉了数据库,复制了03这个文件,命名为04,启动数据库一切正常。之后我很2的做了下一步:
step 2
之后重启数据库,很不幸的报错了:ora-01219。也没有任何说明,后来百度了一下,这个错误说的是我只能查特定的视图和表。在EM上看了一下,我的数据库处于nomount,也就是说我的控制文件在加载的时候出了问题。处理方案也很简单:
alter system set control_files='D:appwingsoradatatestdbCONTROL04.CTL' scope=spfile;