全部博文(101)
分类: Oracle
2011-04-19 18:39:34
一.脱机备份的具体步骤
1.1使用oracle的数据字典找到所有需要备份的文件;
*使用v$controlfile找到所有的控制文件;
*使用v$logfile找到所有的重做日志文件;
*使用dba_data_files找到所有的数据文件;
*使用v$datafile和v$tablespace找到所有的临时文件,以及临时表空间的对应关系;
*使用show parameter pfile找到正文参数文件或者二进制参数文件。
1.2正常关闭数据库(使用shutdown immediate/transactional/normal)
1.3将所有的文件复制到备份硬盘或磁带上
1.4重启数据库。
二.脱机恢复的步骤
2.1如果数据库打开着,就关闭数据库;
2.2将所有的备份数据文件和备份控制文件复制到数据库中原来的位置。
2.3也可以将所有的备份重做日志文件,参数文件和口令文件复制到数据库中原来的位置(该步骤可以不做)
2.4重启数据库;重启后就恢复到这次备份的节点;
三.脱机备份应用示例
以下环境是在我的笔记本上实验的:
SQL> set line 200
SQL> set pagesize 50
SQL> --用数据字典查找控制文件的位置;
SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
----------------------------------------
E:/ORACLE/PRODUCT/10.2.0/ORADATA/JACKY/CONTROL01.CTL
C:/CONTROLFILEJACKY/CONTROL02.CTL
F:/CONTROLFILEJACKY/CONTROL03.CTL
SQL> --然后查找所有重做日志文件;
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
----------------------------------------
F:/REDOLOG/DISK03/REDO03A.LOG
F:/REDOLOG/DISK02/REDO02A.LOG
F:/REDOLOG/DISK01/REDO01A.LOG
F:/REDOLOG/DISK04/REDO04A.LOG
F:/REDOLOG/DISK04/REDO04B.LOG
F:/REDOLOG/DISK04/REDO04C.LOG
F:/REDOLOG/DISK05/REDO05A.LOG
F:/REDOLOG/DISK05/REDO05B.LOG
F:/REDOLOG/DISK05/REDO05C.LOG
F:/REDOLOG/DISK01/REDO01B.LOG
F:/REDOLOG/DISK01/REDO01C.LOG
F:/REDOLOG/DISK02/REDO02B.LOG
F:/REDOLOG/DISK02/REDO02C.LOG
F:/REDOLOG/DISK03/REDO03B.LOG
F:/REDOLOG/DISK03/REDO03C.LOG
已选择15行。
SQL> --然后查找所有数据文件的位置;
SQL> col file_name for a60
SQL> select file_name,tablespace_name from dba_data_files;
FILE_NAME TABLESPACE_NAME
------------------------------------------------------------ -------------------
-----------
E:/ORACLE/USERS01.DBF USERS
E:/ORACLE/PRODUCT/10.2.0/ORADATA/JACKY/SYSAUX01.DBF SYSAUX
E:/ORACLE/PRODUCT/10.2.0/ORADATA/JACKY/UNDOTBS01.DBF UNDOTBS1
E:/ORACLE/PRODUCT/10.2.0/ORADATA/JACKY/SYSTEM01.DBF SYSTEM
C:/JINLIAN01.DBF JINLIAN
C:/JINLIAN_UNDO01.DBF JINLIAN_UNDO
C:/JINLIAN_INDEX01.DBF JINLIAN_INDEX
C:/JINLIAN_UNDO001.DBF JINLIAN1_UNDO
已选择8行。
SQL> show parameter pfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string E:/ORACLE/PRODUCT/10.2.0/DB_1/
DBS/SPFILEJACKY.ORA
SQL> --可以看出数据库用的是二进制参数文件;
SQL> --下面正常关闭数据库;
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> --下面就是开始复制刚才查到的文件;
SQL> --为了示范一下,减少博客的啰嗦性,我就复制一个给大家看;
SQL> host copy E:/ORACLE/PRODUCT/10.2.0/DB_1/DBS/SPFILEJACKY.ORA c:/backup330/
Microsoft Windows XP
欢迎来到Jacky的工作室!!!
今天是2011-03-30 星期三
现在已经是22:36:10.87
已复制 1 个文件。
SQL>--成功复制,其它文件类似。