控制文件除了包括数据文件、日志文件信息外,还包含一些与实例密切相关的参数,如maxlogfiles、maxlogmembers、maxloghistory等等。如果在开始创建实例时,这些参数大小设置不是很合理的话,则可能会导致实例的不可用,比如maxdatafiles表示实例中所有数据文件的总数,如果目前所创建的数据文件已经达到这个值,则不能再创建新的数据文件。
创建控制文件的详细步骤:(1)先进行准备工作控制文件必须包含数据文件和日志文件的路径和文件名,所以必须先查询数据文件(查dba_data_files数据字典)和日志文件(查V$logfile数据字典)的详细信息:select member from v$logfile;select name from v$datafile;select value from v$parameter where name='control_files';(2)关闭数据库用immediate或abort关闭数据库sql>connect as sysdbasql>shutdown immediate;(3)备份所有数据文件和重做日志文件当数据库发生变化时,一般情况都要进行备份工作,最好采用操作系统的冷备份对所有数据文件、日志文件及控制文件进行备份。(4)用nomount选项启动数据库sql>startup mount(5)用create controlfile建立控制文件。(6)用脱机方式备份新的控制文件到设备。(7)修改服务参数文件路径spfile.(8)如果丢失联机或归档日志或数据文件,则恢复数据库。否则执行第(9)步骤。(9)使用alter database open命令打开数据库。(10)关闭数据库并备份数据库