oracle的控制文件备份是一个很重要的工作,控制文件的损坏和丢失,对于oracle数据库的来说是一件“灾难”一点也不为过,所以需要经常性的备份控制文件。
一、控制文件的备份
1,冷备份的方式,将oracle shutdown之后,然后将控制文件、匹配的数据文件、日志文件拷贝到某个物理磁盘的位置。需要主要是不单单拷贝控制文件,还需要将控制文件、匹配的数据文件、日志文件一起拷贝。因为控制文件中的scn需要和数据文件、日志文件的scn一致。
2,将控制文件备份成文本文件的方式,执行alter database backup controlfile to trace,然后在trc文件目录下面能够找到对应的控制文件。目录如 OracleHome$/admin/orcl/udump/ orcl_ora_3216.trc,里面有重新创建控制文件的SQL,如:
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO01.LOG' SIZE 50M,
GROUP 2 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO02.LOG' SIZE 50M,
GROUP 3 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO03.LOG' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/SYSTEM01.DBF',
'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/UNDOTBS01.DBF',
'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/SYSAUX01.DBF',
'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/USERS01.DBF',
'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/SDE.DBF',
'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/DCCP.ORA',
'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/JCDL.ORA',
'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/JSYDSP.ORA',
'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/CITY.ORA',
'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/METADATA',
'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/SPMBK.ORA',
'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/DTLXH.ORA',
'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/YTZT.ORA',
'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/PPP.ORA',
'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/KHTPOR.ORA',
'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/RMAN',
'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/HNTDLY.DBF',
'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/JSYDSPGB.ORA',
'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/JSYDSYCG1.ORA'
CHARACTER SET ZHS16GBK
3,将控制文件备份成二进制文件(控制文件本来是二进制形式的),执行:alter database backup contorlfile to ‘c:/testluowj/contorlfile.bak’,备份完后,如果某个控制文件已经损坏,可以将备份文件改名然后覆盖(前提是该备份文件和数据文件、log文件的scn一致)。