Oracle提供两种方式备份控制文件:
1.生成可以重建控制文件的脚本
2.备份二进制的控制文件
如何获得可以重建控制文件的脚本.在mount状态下获得trc文件
-
sql> alter database backup controlfile to trace as '/home/oracle/crontol_trace.trc';
-
[oracle@hbgf oracle]$ more /home/oracle/crontol_trace.trc
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
CREATE CONTROLFILE REUSE DATABASE "UNIGUARD" NORESETLOGS NOARCHIVELOG
-
MAXLOGFILES 16
-
MAXLOGMEMBERS 3
-
MAXDATAFILES 100
-
MAXINSTANCES 8
-
MAXLOGHISTORY 4672
-
LOGFILE
-
GROUP 1 '/product/app/oracle/oradata/uniguard/redo01.log' SIZE 50M,
-
GROUP 2 '/product/app/oracle/oradata/uniguard/redo02.log' SIZE 50M,
-
GROUP 3 '/product/app/oracle/oradata/uniguard/redo03.log' SIZE 50M
-
-
'/product/app/oracle/oradata/uniguard/system01.dbf',
-
'/product/app/oracle/oradata/uniguard/undotbs01.dbf',
-
'/product/app/oracle/oradata/uniguard/sysaux01.dbf',
-
'/product/app/oracle/oradata/uniguard/users01.dbf',
-
'/product/app/oracle/oradata/uniguard/info01.dbf',
-
'/product/app/oracle/oradata/uniguard/index01.dbf',
-
'/product/app/oracle/oradata/uniguard/dev01.dbf',
-
'/product/app/oracle/oradata/uniguard/index02.dbf',
-
'/product/app/oracle/oradata/uniguard/dev02.dbf',
-
'/product/app/oracle/oradata/uniguard/dev03.dbf',
-
'/product/app/oracle/oradata/uniguard/dev04.dbf'
-
CHARACTER SET ZHS16GBK;
-
-
-
-
-
-
-
-
-
RECOVER DATABASE
-
-
ALTER DATABASE OPEN;
-
-
-
-
ALTER TABLESPACE TEMP ADD TEMPFILE '/product/app/oracle/oradata/uniguard/temp01.dbf'
-
SIZE 737148928 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
-
-
-
-
-
编辑这个trace文件,我们就可以获得创建控制文件的sql.
-
sql>STARTUP NOMOUNT
-
sql>CREATE CONTROLFILE REUSE DATABASE "UNIGUARD" NORESETLOGS NOARCHIVELOG
-
MAXLOGFILES 16
-
MAXLOGMEMBERS 3
-
MAXDATAFILES 100
-
MAXINSTANCES 8
-
MAXLOGHISTORY 4672
-
LOGFILE
-
GROUP 1 '/product/app/oracle/oradata/uniguard/redo01.log' SIZE 50M,
-
GROUP 2 '/product/app/oracle/oradata/uniguard/redo02.log' SIZE 50M,
-
GROUP 3 '/product/app/oracle/oradata/uniguard/redo03.log' SIZE 50M
-
-- STANDBY LOGFILE
-
DATAFILE
-
'/product/app/oracle/oradata/uniguard/system01.dbf',
-
'/product/app/oracle/oradata/uniguard/undotbs01.dbf',
-
'/product/app/oracle/oradata/uniguard/sysaux01.dbf',
-
'/product/app/oracle/oradata/uniguard/users01.dbf',
-
'/product/app/oracle/oradata/uniguard/info01.dbf',
-
'/index/oradata/uniguard/index01.dbf',
-
'/devdata/oradata/uniguard/index01.dbf',
-
'/devdata/oradata/uniguard/indexdata02.dbf',
-
'/devdata/oradata/uniguard/dev01.dbf'
-
CHARACTER SET ZHS16GBK
-
;
-
sql>RECOVER DATABASE
-
sql>ALTER DATABASE OPEN;
-
sql>ALTER TABLESPACE TEMP ADD TEMPFILE '/product/app/oracle/oradata/uniguard/temp01.dbf'
-
SIZE 1244667904 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
-
以上给出生成创建控制文件脚本并重建控制文件的方法,但是具体恢复中遇到的问题可能需要具体对待,当得不到trace文件,可根据这个格式,查看数
据文件,更改相关内容再重建.这种方法通常是在没有控制文件(二进制文件)备份的情况下所采用的,如果存在备份应该使用备份的控制文件尝试恢复.
注:
-
SQL>alter database backup controlfile to '\home\oracle\backup\control.bkp'; //备份二进制控制文件
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30336782/viewspace-2112908/
,如需转载,请注明出处,否则将追究法律责任。