一、备份概述
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 1 ’ # /ora_arhc1 必须和前面 mkdir /ora_arch1 操作建立的路径一模一样 ( 设置 oracle 归档路径 ) SQL> alter system set log_archive_format='%t_%s.dbf' scope=spfile; # 设置归档类型
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