MEI SHENME
分类: Oracle
2006-09-05 15:11:35
ORACLE备份出错的解决办法
一、备份概述
1、采用热备份,需要运行在归档模式下,可以实现数据库的完全恢复,也就是说,从备份后到数据库崩溃时的数据都不会丢失;
2、可以采用全备份数据库的方式备份,对于特殊情况,也可以只备份特定的数据文件,如只备份用户表空间(一般情况下对于某些写特别频繁的数据文件,可以单独加大备份频率);
3、如果在恢复过程中,发现损坏的是多个数据文件,即可以采用一个一个数据文件的恢复方法,也可以采用整个数据库的恢复方法;
4、运行在归档模式下会产生很多归档日志,这些日志对数据库的恢复非常重要,只要有备份与归档存在,就可以实现数据库的完全恢复(不丢失数据);
5、恢复过程在mount下进行,如果恢复成功,再打开数据库
二、Oracle备份失败的原因
1、没有发现归档日志的存在(Oracle没有运行在归档模式下)
三、更改Oracle运行模式
1、$ mkdir /ora_arch1 #创建oracle归档日志的归档目录
2、$ sqlplus /nolog
SQL> conn / as sysdba;
Connected.
SQL> startup mount; #将数据库启动到mount状态
SQL> alter database archivelog; #改oracle为归档模式
SQL> archive log start; #启动归档模式
SQL> archive log list; #查看oracle归档情况
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /ora_arch1
Oldest online log sequence 565
Next log sequence to archive 567
Current log sequence 567
SQL> alter database open; #打开数据库
SQL>alter system set LOG_ARCHIVE_DEST_1=’LOCATION=/ora_arch
SQL> alter system set log_archive_start=true scope=spfile; #设置自动归档模式
重启数据库,使设置生效
SQL> shutdown immediate;
SQL> startup
SQL> archive log list; # 查看归档情况
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /ora_arch1
Oldest online log sequence 565
Next log sequence to archive 567
Current log sequence 567