ORACLE-备份与恢复-UMAN下的热备

热备模式 recover datafile (database status  open)

先创建一个表空间进行实验
SYS@ prod>create tablespace test01 datafile '/u01/oradata/prod/test01.dbf' size 10M ;

表空间已创建。

修改表空间为热备模式
SYS@ prod>alter tablespace test01 begin backup;

表空间已更改。

操作系统层面执行cp命令拷贝数据文件test01.dbf

我都备份在了统一路径下


SYS@ prod>
开启热备模式后检查SCN号 校验一致性


SYS@ prod>select file#,checkpoint_change#,name from v$datafile_header;

     FILE# CHECKPOINT_CHANGE#
---------- ------------------
NAME
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
         1            1446473
/u01/oradata/prod/system01.dbf

         2            1446473
/u01/oradata/prod/sysaux01.dbf

         3            1446473
/u01/oradata/prod/undotbs01.dbf

         4            1446473
/u01/oradata/prod/users01.dbf

         5            1446473
/u01/oradata/prod/example01.dbf

         6            1446473
/u01/oradata/prod/tbsttt.dbf

         7            1451521
/u01/oradata/prod/test01.dbf
已选择7行。

注意看一下哈! SCN号不一致 原因是在开启热备后 SCN号将被冻结 我标了黄涩
备份完数据文件后就可以重新关闭热备模式了


此时备份完成,关闭热备模式


SYS@ prod>alter tablespace test01 end backup;

表空间已更改。

 

status状态是not ACTIVE 开启backup时状态是acitve
SYS@ prod>select * from v$backup;

     FILE# STATUS                                                    CHANGE# TIME
---------- ------------------------------------------------------ ---------- -------------------
         1 NOT ACTIVE                                                      0
         2 NOT ACTIVE                                                      0
         3 NOT ACTIVE                                                      0
         4 NOT ACTIVE                                                      0
         5 NOT ACTIVE                                                      0
         6 NOT ACTIVE                                                      0
         7 NOT ACTIVE                                                1451521 2021-03-16 13:36:07

已选择7行。

一系列操作,不做解释

SYS@ prod>alter user tony default tablespace test01;

用户已更改。

SYS@ prod>create table tony.emp01 as select * from scott.emp;

表已创建。

SYS@ prod>insert  into tony.emp01(empno) values (7000);

已创建 1 行。

SYS@ prod>commit;

提交完成。


SYS@ prod>select * from tony.emp01;

     EMPNO ENAME                          JOB                                MGR HIREDATE                   SAL       COMM     DEPTNO
---------- ------------------------------ --------------------------- ---------- ------------------- ---------- ---------- ----------
      7369 SMITH                          CLERK                             7902 1980-12-17 00:00:00        800                    20
      7499 ALLEN                          SALESMAN                          7698 1981-02-20 00:00:00       1600        300         30
      7521 WARD                           SALESMAN                          7698 1981-02-22 00:00:00       1250        500         30
      7566 JONES                          MANAGER                           7839 1981-04-02 00:00:00       2975                    20
      7654 MARTIN                         SALESMAN                          7698 1981-09-28 00:00:00       1250       1400         30
      7698 BLAKE                          MANAGER                           7839 1981-05-01 00:00:00       2850                    30
      7782 CLARK                          MANAGER                           7839 1981-06-09 00:00:00       2450                    10
      7788 SCOTT                          ANALYST                           7566 1987-04-19 00:00:00       3000                    20
      7839 KING                           PRESIDENT                              1981-11-17 00:00:00       5000                    10
      7844 TURNER                         SALESMAN                          7698 1981-09-08 00:00:00       1500          0         30
      7876 ADAMS                          CLERK                             7788 1987-05-23 00:00:00       1100                    20
      7900 JAMES                          CLERK                             7698 1981-12-03 00:00:00        950                    30
      7902 FORD                           ANALYST                           7566 1981-12-03 00:00:00       3000                    20
      7934 MILLER                         CLERK                             7782 1982-01-23 00:00:00       1300                    10
      7000

已选择15行。

SYS@ prod>insert  into tony.emp01(empno) values (7001);

已创建 1 行。

**********************注意 注意我没有进行提交!!!!!!!!!!***************************

新开个session删除test01表空间


SYS@ prod>
SYS@ prod>select file#,checkpoint_change#,name from v$datafile_header;

     FILE# CHECKPOINT_CHANGE#
---------- ------------------
NAME
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
         1            1446473
/u01/oradata/prod/system01.dbf

         2            1446473
/u01/oradata/prod/sysaux01.dbf

         3            1446473
/u01/oradata/prod/undotbs01.dbf

         4            1446473
/u01/oradata/prod/users01.dbf

         5            1446473
/u01/oradata/prod/example01.dbf

         6            1446473
/u01/oradata/prod/tbsttt.dbf

         7            1451521
/u01/oradata/prod/test01.dbf


已选择7行。

SYS@ prod>select file#,checkpoint_change#,name from v$datafile;

     FILE# CHECKPOINT_CHANGE#
---------- ------------------
NAME
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
         1            1446473
/u01/oradata/prod/system01.dbf

         2            1446473
/u01/oradata/prod/sysaux01.dbf

         3            1446473
/u01/oradata/prod/undotbs01.dbf

         4            1446473
/u01/oradata/prod/users01.dbf

         5            1446473
/u01/oradata/prod/example01.dbf

         6            1446473
/u01/oradata/prod/tbsttt.dbf

         7            1451521
/u01/oradata/prod/test01.dbf


已选择7行。

offline数据文件

SYS@ prod>alter database  datafile 7 offline;

数据库已更改。

离线之后拷贝文件回到/u01/oradata/prod/

SYS@ prod>select * from tony.emp01;
select * from tony.emp01
                   *
第 1 行出现错误:
ORA-00376: 此时无法读取文件 7
ORA-01110: 数据文件 7: '/u01/oradata/prod/test01.dbf'


SYS@ prod>alter database  datafile 7 online;
alter database  datafile 7 online
*
第 1 行出现错误:
ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件 ORA-01110:
数据文件 7: '/u01/oradata/prod/test01.dbf'


拷贝文件回到/u01/oradata/prod/
因为我将test01删除了  所以无法读取了,同时也不能online。

想要online必须要找回备份test01.dbf

操作系统层执行:
#cp /data/database/backup/test01.dbf  ./

SYS@ prod>
SYS@ prod>alter database  datafile 7 online;
alter database  datafile 7 online
*
第 1 行出现错误:
ORA-01113: 文件 7 需要介质恢复
ORA-01110: 数据文件 7: '/u01/oradata/prod/test01.dbf'

需要介质恢复  所以recover


SYS@ prod>recover datafile 7;  
完成介质恢复。
SYS@ prod>alter database  datafile 7 online;

数据库已更改。

SYS@ prod>select * from tony.emp01;

     EMPNO ENAME                          JOB                                MGR HIREDATE                   SAL       COMM     DEPTNO
---------- ------------------------------ --------------------------- ---------- ------------------- ---------- ---------- ----------
      7369 SMITH                          CLERK                             7902 1980-12-17 00:00:00        800                    20
      7499 ALLEN                          SALESMAN                          7698 1981-02-20 00:00:00       1600        300         30
      7521 WARD                           SALESMAN                          7698 1981-02-22 00:00:00       1250        500         30
      7566 JONES                          MANAGER                           7839 1981-04-02 00:00:00       2975                    20
      7654 MARTIN                         SALESMAN                          7698 1981-09-28 00:00:00       1250       1400         30
      7698 BLAKE                          MANAGER                           7839 1981-05-01 00:00:00       2850                    30
      7782 CLARK                          MANAGER                           7839 1981-06-09 00:00:00       2450                    10
      7788 SCOTT                          ANALYST                           7566 1987-04-19 00:00:00       3000                    20
      7839 KING                           PRESIDENT                              1981-11-17 00:00:00       5000                    10
      7844 TURNER                         SALESMAN                          7698 1981-09-08 00:00:00       1500          0         30
      7876 ADAMS                          CLERK                             7788 1987-05-23 00:00:00       1100                    20
      7900 JAMES                          CLERK                             7698 1981-12-03 00:00:00        950                    30
      7902 FORD                           ANALYST                           7566 1981-12-03 00:00:00       3000                    20
      7934 MILLER                         CLERK                             7782 1982-01-23 00:00:00       1300                    10
      7000
      7001

已选择16行。

SYS@ prod>rollback;

回退已完成。

SYS@ prod>select * from tony.emp01;

     EMPNO ENAME                          JOB                                MGR HIREDATE                   SAL       COMM     DEPTNO
---------- ------------------------------ --------------------------- ---------- ------------------- ---------- ---------- ----------
      7369 SMITH                          CLERK                             7902 1980-12-17 00:00:00        800                    20
      7499 ALLEN                          SALESMAN                          7698 1981-02-20 00:00:00       1600        300         30
      7521 WARD                           SALESMAN                          7698 1981-02-22 00:00:00       1250        500         30
      7566 JONES                          MANAGER                           7839 1981-04-02 00:00:00       2975                    20
      7654 MARTIN                         SALESMAN                          7698 1981-09-28 00:00:00       1250       1400         30
      7698 BLAKE                          MANAGER                           7839 1981-05-01 00:00:00       2850                    30
      7782 CLARK                          MANAGER                           7839 1981-06-09 00:00:00       2450                    10
      7788 SCOTT                          ANALYST                           7566 1987-04-19 00:00:00       3000                    20
      7839 KING                           PRESIDENT                              1981-11-17 00:00:00       5000                    10
      7844 TURNER                         SALESMAN                          7698 1981-09-08 00:00:00       1500          0         30
      7876 ADAMS                          CLERK                             7788 1987-05-23 00:00:00       1100                    20
      7900 JAMES                          CLERK                             7698 1981-12-03 00:00:00        950                    30
      7902 FORD                           ANALYST                           7566 1981-12-03 00:00:00       3000                    20
      7934 MILLER                         CLERK                             7782 1982-01-23 00:00:00       1300                    10
      7000
      7001

已选择16行。

 

************到这里一定要注意  我之前的7001是未进行提交的,但是恢复后表里居然有此数据,说明!!!!!!!!!隐式提交?????******

我需要有人帮我解答一下这个问题,为此我重新做了一次实验如下,得到的结果一致!!!!!

欢迎各位大佬们给我留言评论  让我彻底清晰这个地方  不胜感激

 

SYS@ prod>
SYS@ prod>delete from tony.emp01 where empno=7000
  2  ;

已删除 1 行。

SYS@ prod>commit;

提交完成。

SYS@ prod>insert  into tony.emp01(empno) values (7002);

已创建 1 行。

SYS@ prod>alter database  datafile 7 offline;

数据库已更改。

SYS@ prod>alter database  datafile 7 online;
alter database  datafile 7 online
*
第 1 行出现错误:
ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件 ORA-01110:
数据文件 7: '/u01/oradata/prod/test01.dbf'


SYS@ prod>
SYS@ prod>
SYS@ prod>
SYS@ prod>alter database  datafile 7 online;
alter database  datafile 7 online
*
第 1 行出现错误:
ORA-01113: 文件 7 需要介质恢复
ORA-01110: 数据文件 7: '/u01/oradata/prod/test01.dbf'


SYS@ prod>recover datafile 7;
完成介质恢复。
SYS@ prod>alter database  datafile 7 online;

数据库已更改。

SYS@ prod>select * from tony.emp01;

     EMPNO ENAME                          JOB                                MGR HIREDATE                   SAL       COMM     DEPTNO
---------- ------------------------------ --------------------------- ---------- ------------------- ---------- ---------- ----------
      7369 SMITH                          CLERK                             7902 1980-12-17 00:00:00        800                    20
      7499 ALLEN                          SALESMAN                          7698 1981-02-20 00:00:00       1600        300         30
      7521 WARD                           SALESMAN                          7698 1981-02-22 00:00:00       1250        500         30
      7566 JONES                          MANAGER                           7839 1981-04-02 00:00:00       2975                    20
      7654 MARTIN                         SALESMAN                          7698 1981-09-28 00:00:00       1250       1400         30
      7698 BLAKE                          MANAGER                           7839 1981-05-01 00:00:00       2850                    30
      7782 CLARK                          MANAGER                           7839 1981-06-09 00:00:00       2450                    10
      7788 SCOTT                          ANALYST                           7566 1987-04-19 00:00:00       3000                    20
      7839 KING                           PRESIDENT                              1981-11-17 00:00:00       5000                    10
      7844 TURNER                         SALESMAN                          7698 1981-09-08 00:00:00       1500          0         30
      7876 ADAMS                          CLERK                             7788 1987-05-23 00:00:00       1100                    20
      7900 JAMES                          CLERK                             7698 1981-12-03 00:00:00        950                    30
      7902 FORD                           ANALYST                           7566 1981-12-03 00:00:00       3000                    20
      7934 MILLER                         CLERK                             7782 1982-01-23 00:00:00       1300                    10
      7001
      7002

已选择16行。

SYS@ prod>offline真的会伴随着隐式的提交?


SYS@ prod>rollback;

回退已完成。

SYS@ prod>select * from tony.emp01;

     EMPNO ENAME                          JOB                                MGR HIREDATE                   SAL       COMM     DEPTNO
---------- ------------------------------ --------------------------- ---------- ------------------- ---------- ---------- ----------
      7369 SMITH                          CLERK                             7902 1980-12-17 00:00:00        800                    20
      7499 ALLEN                          SALESMAN                          7698 1981-02-20 00:00:00       1600        300         30
      7521 WARD                           SALESMAN                          7698 1981-02-22 00:00:00       1250        500         30
      7566 JONES                          MANAGER                           7839 1981-04-02 00:00:00       2975                    20
      7654 MARTIN                         SALESMAN                          7698 1981-09-28 00:00:00       1250       1400         30
      7698 BLAKE                          MANAGER                           7839 1981-05-01 00:00:00       2850                    30
      7782 CLARK                          MANAGER                           7839 1981-06-09 00:00:00       2450                    10
      7788 SCOTT                          ANALYST                           7566 1987-04-19 00:00:00       3000                    20
      7839 KING                           PRESIDENT                              1981-11-17 00:00:00       5000                    10
      7844 TURNER                         SALESMAN                          7698 1981-09-08 00:00:00       1500          0         30
      7876 ADAMS                          CLERK                             7788 1987-05-23 00:00:00       1100                    20
      7900 JAMES                          CLERK                             7698 1981-12-03 00:00:00        950                    30
      7902 FORD                           ANALYST                           7566 1981-12-03 00:00:00       3000                    20
      7934 MILLER                         CLERK                             7782 1982-01-23 00:00:00       1300                    10
      7001
      7002

已选择16行。

 

 

Jrojyun

2021-03-15

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值