现在的位置: 首页 > 综合 > 正文

非归档数据库备份实践

2013年08月14日 ⁄ 综合 ⁄ 共 1439字 ⁄ 字号 评论关闭

数据库在运行的过处程中,必须要做好备份,如果没有做好备份,那么,如果数据库出现故障,就只有等死一条路了。因为将会丢失部分或全部数据,另外对OLTP系统来说,数据是实时在变化,丢数据的可能性就越高。

      对于归档数据库,有很多的种的备份方法,但对于非归档的数据库来说,只能作关闭数据库的冷备。 

    对于Windows系统,数据库运行时是不能复制文件的,所以:

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

数据库关闭后,开始复制文件。复制完成后,再启动数据库:

SQL> startup
ORACLE 例程已经启动。

Total System Global Area   85006980 bytes
Fixed Size                   453252 bytes
Variable Size              58720256 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
数据库已经打开。

对于非归档的数据库备份,需要备份的文件如下:

(1)控制文件:这是必须要备份的。如果这个文件损坏了,数据库就再也启不来了。

SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------
D:/ORACLE/ORADATA/ORA92/CONTROL01.CTL
D:/ORACLE/ORADATA/ORA92/CONTROL02.CTL
D:/ORACLE/ORADATA/ORA92/CONTROL03.CTL

(2)数据文件:保存用户数据文件,必须备份:

SQL> select name from v$datafile;

NAME
----------------------------------------------------
D:/ORACLE/ORADATA/ORA92/SYSTEM01.DBF
D:/ORACLE/ORADATA/ORA92/UNDOTBS01.DBF
D:/ORACLE/ORADATA/ORA92/INDX01.DBF
D:/ORACLE/ORADATA/ORA92/TOOLS01.DBF
D:/ORACLE/ORADATA/ORA92/USERS01.DBF
D:/ORACLE/ORADATA/ORA92/SP01.DBF

(3)日志文件,非归档要求必须备:

SQL> select member from v$logfile;

MEMBER
------------------------------------------------
D:/ORACLE/ORADATA/ORA92/REDO01.LOG
D:/ORACLE/ORADATA/ORA92/REDO02.LOG
D:/ORACLE/ORADATA/ORA92/REDO03.LOG

另外,参数文件可以不备份,但是一般的,该文件存放我们已经配好的参数,最好也备,

D:/oracle/ora92/database/SPFILEORA92.ORA

口令文件可以不备,如果丢失,可以直接用Oracle提供的工具创建:

Orapwd.exe 来创建口令文件。

 

如果数据库需要恢复,直接将上面的文件复制到指定文件,再重启数据库即可。

抱歉!评论已关闭.