冷备:要求一致关闭数据库进行备份,要求备份数据库三大文件(数据文件、控制文件、日志文件)及参数文件、口令文件。
1.查看备份文件物理结构
SYS@PROD1>select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/PROD1/system01.dbf
/u01/app/oracle/oradata/PROD1/sysaux01.dbf
/u01/app/oracle/oradata/PROD1/undotbs01.dbf
/u01/app/oracle/oradata/PROD1/users01.dbf
/u01/app/oracle/oradata/PROD1/example01.dbf
SYS@PROD1>select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/PROD1/control01.ctl
/u01/app/oracle/fast_recovery_area/PROD1/control02.ctl
/u01/app/oracle/oradata/PROD1/control03.ctl
SYS@PROD1>select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/PROD1/redo03.log
/u01/app/oracle/oradata/PROD1/redo02.log
/u01/app/oracle/oradata/PROD1/redo01.log
2.一致性关闭数据库
SYS@PROD1>shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
3.操作系统目录拷贝数据文件、控制文件、日志文件
创建备份目录
[oracle@host01 files]$ mkdir cold_backup
[oracle@host01 files]$ cd /u01/app/oracle/oradata/PROD1/
[oracle@host01 PROD1]$ ls
control01.ctl example01.dbf redo02.log sysaux01.dbf temp01.dbf users01.dbf
control03.ctl redo01.log redo03.log system01.dbf undotbs01.dbf
[oracle@host01 PROD1]$ cp * /home/oracle/files/cold_backup/
拷贝完毕
[oracle@host01 ~]$ cd /home/oracle/files/cold_backup/
[oracle@host01 cold_backup]$ du -sh
1.9G .
备份参数文件及口令文件
[oracle@host01 dbs]$ cp orapwPROD1 spfilePROD1.ora /home/oracle/files/cold_backup/
[oracle@host01 cold_backup]$ ls
control01.ctl example01.dbf redo01.log redo03.log sysaux01.dbf temp01.dbf users01.dbf
control03.ctl orapwPROD1 redo02.log spfilePROD1.ora system01.dbf undotbs01.dbf
删除$ORACLE_HOME/oradata/PROD1/下所有文件,删除参数文件及密码文件
[oracle@host01 PROD1]$ ls
control01.ctl example01.dbf redo02.log sysaux01.dbf temp01.dbf users01.dbf
control03.ctl redo01.log redo03.log system01.dbf undotbs01.dbf
[oracle@host01 PROD1]$ rm *
[oracle@host01 PROD1]$ rm /u01/app/oracle/fast_recovery_area/PROD1/control02.ctl
[oracle@host01 PROD1]$ cd /u01/app/oracle/product/11.2.0/dbhome_1/dbs/
[oracle@host01 dbs]$ rm orapwPROD1 spfilePROD1.ora
5.启动实例到nomount
SYS@PROD1>startup nomount;
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initPROD1.ora'
提示没有参数文件,拷贝参数文件到dbs下
[oracle@host01 cold_backup]$ cp spfilePROD1.ora /u01/app/oracle/product/11.2.0/dbhome_1/dbs/
再次启动实例
SYS@PROD1>startup nomount;
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2257840 bytes
Variable Size 520096848 bytes
Database Buffers 310378496 bytes
Redo Buffers 2371584 bytes
6.启动到mount状态
SYS@PROD1>alter database mount;
alter database mount
*
ERROR at line 1:
ORA-00205: error in identifying control file, check alert log for more info
提示找不到控制文件,拷贝控制文件
[oracle@host01 cold_backup]$ cp control01.ctl /u01/app/oracle/oradata/PROD1/control01.ctl
[oracle@host01 cold_backup]$ cp control01.ctl /u01/app/oracle/oradata/PROD1/control03.ctl
[oracle@host01 cold_backup]$ cp control01.ctl /u01/app/oracle/fast_recovery_area/PROD1/control02.ctl
再次启动到mount
SYS@PROD1>alter database mount;
Database altered.
7.打开数据库
SYS@PROD1>alter database open;
alter database open
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
ORA-01110: data file 1: '/u01/app/oracle/oradata/PROD1/system01.dbf'
恢复数据文件及日志文件
[oracle@host01 cold_backup]$ cp *.dbf *.log /u01/app/oracle/oradata/PROD1/
SYS@PROD1>alter database open;
Database altered.
SYS@PROD1>select status from v$instance;
STATUS
------------
OPEN
数据库已打开,成功恢复。
总结:冷备是在一直性关闭数据库下做的,不需要做recovery。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31400681/viewspace-2130641/
,如需转载,请注明出处,否则将追究法律责任。