联机备份与恢复
2013-06-04 18:26
85 查看
热备份是当数据库已经启动并且运行的时候进行的一种备份。整个数据库可以被备份,表空间或者数据文件的子集可以在一次被备份,当执行热备份的时候,最终用户可以继续进行他们所有的正常操作。为此,数据库必须运行在归档日志模式。一旦备份完成,需要确认所有在备份操作期间被建立的日志记录在随后已经被归档。
联机备份一般备份数据文件、控制文件和日志文件。
– 可在表空间或数据文件级备份,备份时间短。
– 备份时数据库仍可使用。
– 可达到秒级恢复(恢复到某一时间点上)。
– 可对几乎所有数据库实体作恢复。
– 恢复快速,大多数情况下恢复不需要关闭数据库。
缺点:
– 不能出错,否则后果严重。
– 若联机备份不成功,所得结果不可用于时间点的恢复。
– 因难于维护,所以要特别小心,不允许“以失败而告终”。
实验案例:
1.联机备份的前提是数据库必须为归档模式
a.如何查看是否归档
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 21
Next log sequence to archive 23
Current log sequence 23
b.如果为非归档模式,则需要开启
首先关闭数据库,SQL>shutdown immediate
a.装载但不打开数据库:startup mount;
b.修改为归档模式:alter database archivelog;
c.打开并访问数据库:alter database open;
开始实验:
1.创建表空间
SQL> create tablespace data01 datafile '/u01/app/oracle/oradata/orcl/data01.dbf' size 10m;
Tablespace created.
2.在该表空间上面创建表
SQL> create table score(name varchar2(20),id int) tablespace data01;
Table created.
3.确认是否在对应表空间创建表
SQL> select tablespace_name from tabs where table_name='SCORE';
TABLESPACE_NAME
------------------------------
DATA01
4.开始插入数据
SQL> insert into score values('chinese',50);
1 row created.
SQL> insert into score values('Math',60);
1 row created.
SQL> commit;
Commit complete.
5.开始联机备份
SQL> alter tablespace data01 begin backup;
Tablespace altered.
6.物理复制表空间文件
SQL> host cp '/u01/app/oracle/oradata/orcl/data01.dbf' '/u01/app/oracle/oradata/orcl/bak';
SQL> alter tablespace data01 end backup;
Tablespace altered.
7.使表空间脱机,然后删除数据文件
SQL> alter tablespace data01 offline;
Tablespace altered.
SQL> host rm -rf /u01/app/oracle/oradata/orcl/data01.dbf
8.尝试使表空间联机
SQL> alter tablespace data01 online;
alter tablespace data01 online
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
ORA-01110: data file 6: '/u01/app/oracle/oradata/orcl/data01.dbf'
9.物理拷贝表空间数据文件
SQL> host cp /u01/app/oracle/oradata/orcl/bak/data01.dbf /u01/app/oracle/oradata/orcl/
SQL> alter tablespace data01 online;
alter tablespace data01 online
*
ERROR at line 1:
ORA-01113: file 6 needs media recovery
ORA-01110: data file 6: '/u01/app/oracle/oradata/orcl/data01.dbf'
10.开始恢复
SQL> recover datafile 6;
Media recovery complete.
11.使表空间联机
SQL> alter tablespace data01 online;
Tablespace altered.
12.查询数据,恢复完成
SQL> select * from score;
联机备份一般备份数据文件、控制文件和日志文件。
联机备份优缺点:
优点:– 可在表空间或数据文件级备份,备份时间短。
– 备份时数据库仍可使用。
– 可达到秒级恢复(恢复到某一时间点上)。
– 可对几乎所有数据库实体作恢复。
– 恢复快速,大多数情况下恢复不需要关闭数据库。
缺点:
– 不能出错,否则后果严重。
– 若联机备份不成功,所得结果不可用于时间点的恢复。
– 因难于维护,所以要特别小心,不允许“以失败而告终”。
实验案例:
1.联机备份的前提是数据库必须为归档模式
a.如何查看是否归档
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 21
Next log sequence to archive 23
Current log sequence 23
b.如果为非归档模式,则需要开启
首先关闭数据库,SQL>shutdown immediate
a.装载但不打开数据库:startup mount;
b.修改为归档模式:alter database archivelog;
c.打开并访问数据库:alter database open;
开始实验:
1.创建表空间
SQL> create tablespace data01 datafile '/u01/app/oracle/oradata/orcl/data01.dbf' size 10m;
Tablespace created.
2.在该表空间上面创建表
SQL> create table score(name varchar2(20),id int) tablespace data01;
Table created.
3.确认是否在对应表空间创建表
SQL> select tablespace_name from tabs where table_name='SCORE';
TABLESPACE_NAME
------------------------------
DATA01
4.开始插入数据
SQL> insert into score values('chinese',50);
1 row created.
SQL> insert into score values('Math',60);
1 row created.
SQL> commit;
Commit complete.
5.开始联机备份
SQL> alter tablespace data01 begin backup;
Tablespace altered.
6.物理复制表空间文件
SQL> host cp '/u01/app/oracle/oradata/orcl/data01.dbf' '/u01/app/oracle/oradata/orcl/bak';
SQL> alter tablespace data01 end backup;
Tablespace altered.
7.使表空间脱机,然后删除数据文件
SQL> alter tablespace data01 offline;
Tablespace altered.
SQL> host rm -rf /u01/app/oracle/oradata/orcl/data01.dbf
8.尝试使表空间联机
SQL> alter tablespace data01 online;
alter tablespace data01 online
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
ORA-01110: data file 6: '/u01/app/oracle/oradata/orcl/data01.dbf'
9.物理拷贝表空间数据文件
SQL> host cp /u01/app/oracle/oradata/orcl/bak/data01.dbf /u01/app/oracle/oradata/orcl/
SQL> alter tablespace data01 online;
alter tablespace data01 online
*
ERROR at line 1:
ORA-01113: file 6 needs media recovery
ORA-01110: data file 6: '/u01/app/oracle/oradata/orcl/data01.dbf'
10.开始恢复
SQL> recover datafile 6;
Media recovery complete.
11.使表空间联机
SQL> alter tablespace data01 online;
Tablespace altered.
12.查询数据,恢复完成
SQL> select * from score;
相关文章推荐
- ORA-01123:无法启动联机备份;未启用介质恢复(错误分析)
- oracle10G联机备份与恢复(11G类似)
- ORA-01123:无法启动联机备份;未启用介质恢复(错误分析)
- ORA-01123:无法启动联机备份;未启用介质恢复.
- Oracle 联机备份 脱机备份 物理备份 恢复
- 备份与恢复: 部分数据库联机备份
- ORA-01123:无法启动联机备份;未启用介质恢复(错误分析)
- ORA-01123:无法启动联机备份;未启用介质恢复(错误分析)
- ORA-01123:无法启动联机备份;未启用介质恢复
- 备份和恢复概念+逻辑备份+脱机备份(冷备份)+联机备份(热备份)+物理备份概念+完全数据库脱机备份+部分数据库脱机备份+部分数据库联机备份+逻辑备份概念
- ORA-01123:无法启动联机备份;未启用介质恢复(错误分析)
- rman实验之归档模式无备份,正常关机丢失当前联机重做日志文件的恢复
- Azure恢复服务-DPM联机备份SQL数据库
- ORA-01123:无法启动联机备份;未启用介质恢复(错误分析)
- Oracle数据库热备份与恢复(联机备份)示例
- oracle用户管理的完全恢复2:在NOARCHIVELOG 模式下执行恢复(无联机日志的备份)
- ORA-01123: 无法启动联机备份; 未启用介质恢复
- ORA-01123:无法启动联机备份;未启用介质恢复(错误分析)
- Oracle数据库的备份与恢复
- 恢复云数据库MySQL的备份文件到自建数据库