Oracle 离线备份(Off-Line Backup) 与 完全恢复(Completely Recovery)

来源:互联网 发布:直排式刀库编程 编辑:程序博客网 时间:2024/05/13 00:30

执行备份的方式是使用操作系统复制的方法

1.在E盘的根目录下建立backup文件夹,将文件备份至此文件夹.

2.编辑SQL程序代码: close_db_backup.sql

connect / as sysdba
set feedback off -- 设置反馈信息关闭
set head off -- 报头输出关闭
set termout off -- SQL执行结果提示关闭
spool close_db_backup.bat
select' copy ' | |name| |' e:\backup'from v$datafile
union
select' copy ' | |name| |' e:\backup'from v$controlfile
union
select' copy ' | |member| |' e:\backup'from v$logfile
/
spool off
set feedback on
set head on
set termout on
shutdown immediate -- 数据库立刻关闭
host close_db_backup.bat -- 执行批处理备份文件
connect /as sysdba -- 启动数据库
startup
exit

3.以system角色进入SQL*Plus,执行@'e:\backup\close_db_backup.sql'.

完全恢复用于数据文件或控制文件毁损或丢失,不能恢复Control Files, Redo Log Files, Password Files, Parameter Files.
进行恢复操作时,Datafile是离线的,而且所有Archived Log Files必须都是好的.

1.登陆SQL*Plus
sqlplus /nolog
connect sysdba/sysdba as sysdba;

2.查看数据库状态
select status from v$instance;

3.查看文件状态
col name for a52
col error for a12
select name, error, status, recover from v$datafile_header;

4.查看dba的文件代号,文件名和表空间名
col file_name for a52
col tablespace_name for a16
select file_id, file_name, tablespace_name from dba_data_files;

5.将有问题的文件Off-Line
alter database datafile "文件编号" offline;

6.将先前备份好的文件copy到毁损或丢失处.

7.执行介质恢复文件
recover datafile "文件编号";

8.将数据文件变更为Online状态
alter database datafile "文件编号" Online;

原创粉丝点击