ORA-00214-控制文件修改与备份

一、怎样添加和移动控制文件

1、利用数据字典v$controlfile获取现有控制文件名字;

2、使用show parameter pfile,确定是否使用了spfile;

3、使用了spfile的,按照以下的方式修改controlfile

alter system set control_files=

'D:\Disk1\CONTROL01.CTL',

'D:\Disk2\CONTROL02.CTL',

'D:\Disk3\CONTROL03.CTL' scopr=spfile;

未使用spfile的,将新的控制文件名添加到参数文件的CONTROL_FILES中。

control_files=("D:\Disk1\CONTROL01.CTL","D:\Disk2\CONTROL02.CTL",  "D:\Disk3\CONTROL03.CTL")

4、正常关闭数据库,shutdown immediate;

5、拷贝原来的控制文件到相应的位置;

6、重启Oracle数据库,startup;

7、查看v$controlfile中控制文件是否改变了,如果没有改变,按照步骤重新来。

 

二、控制文件备份

数据库的结构发生变化后,要立即备份控制文件

alter database backup controlfile to 'D:\backup\controlfile.bak'

 

三、控制文件创建

1、startup nomount;
2、alter database backup controlfile to trace;

   在ORA_HOME\admin\sample\udump\目录下生成SID_ora_*.trc文件,

   该文件包含重建控制文件所需的SQL语句,一般分为归档模式和非归档模式。
3、以非归档模式为例:

STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '/opt/oracle/oradata/orcl/redo01.log'  SIZE 50M,
  GROUP 2 '/opt/oracle/oradata/orcl/redo02.log'  SIZE 50M,
  GROUP 3 '/opt/oracle/oradata/orcl/redo03.log'  SIZE 50M
-- STANDBY LOGFILE
DATAFILE
  '/opt/oracle/oradata/orcl/system01.dbf',
  '/opt/oracle/oradata/orcl/undotbs01.dbf',
  '/opt/oracle/oradata/orcl/sysaux01.dbf',
  '/opt/oracle/oradata/orcl/users01.dbf',
  '/opt/oracle/oradata/orcl/example01.dbf'
CHARACTER SET WE8ISO8859P1;
4、startup nomount 启动数据库
5、在SQL模式下:执行如下命令。
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '/opt/oracle/oradata/orcl/redo01.log'  SIZE 50M,
  GROUP 2 '/opt/oracle/oradata/orcl/redo02.log'  SIZE 50M,
  GROUP 3 '/opt/oracle/oradata/orcl/redo03.log'  SIZE 50M
-- STANDBY LOGFILE
DATAFILE
  '/opt/oracle/oradata/orcl/system01.dbf',
  '/opt/oracle/oradata/orcl/undotbs01.dbf',
  '/opt/oracle/oradata/orcl/sysaux01.dbf',
  '/opt/oracle/oradata/orcl/users01.dbf',
  '/opt/oracle/oradata/orcl/example01.dbf'
CHARACTER SET WE8ISO8859P1

6、执行:SQL > RECOVER DATABASE
7、执行: SQL > ALTER DATABASE OPEN;
8、执行: SQL > ALTER TABLESPACE TEMP ADD TEMPFILE '/opt/oracle/oradata/orcl/temp01.dbf'
     SIZE 20971520  REUSE AUTOEXTEND OFF
9、问题解决,控制文件重建成功。
10、如果遇到失败情况,请按照上述步骤重新确认在执行。

11、重建好后,建议重新备份一次。

 

四、ORA-00214错误解决

SQL> conn sys as sysdba
SQL> startup nomount
SQL> alter system set control_files=
    'D:\ORACLE\ORADATA\ORA10\CONTROL02.CTL'
    scope=spfile;
SQL> alter database mount
SQL> alter database open

你可能感兴趣的:(ora)