Oracle 数据备份和恢复及数据迁移

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Borntodieee/article/details/85222858

数据库备份及备份的方式

  • 物理备份
    冷备份
    热备份
  • 逻辑备份
    exp/imp
    expdp/impdp

Oracle的恢复

  • 实例恢复-Crash recovery
    当数据库库因非正常方式关闭后,再次打开时,需要进行实例恢复。
    – 服务器掉电
    – 操作系统死机
    – 实例异常终止
    – shutdown abort
  • 介质恢复

Oracle是如何开始恢复的–SCN

四个SCN

  • 系统SCN—system SCN
    select checkpoint_change# from v$database;
  • 控制文件记录的数据文件SCN–datafile SCN
    select name,checkpoint_change# from v$datafile;
  • 数据文件自己头部的SCN–start SCN
    select name,checkpoint_change# from v$datafile_header;
  • 控制文件中记录的数据文件结束的SCN–end SCN
    select name,last_change# from v$datafile;

无需恢复

  • 在数据库启动过程中,当System Checkpoint SCN、Datafile Checkpoint SCN 和Start SCN号都相同时,数据库可以正常启动,不需要做media recovery.

介质恢复–media recovery

  • 当System Checkpoint SCN、Datafile Checkpoint SCN和Start SCN三者当中有一个不同时,则需要做media recovery。

实例恢复-- instance recovery(crash recovery)

  • 当控制文件中记录的文件End SCN号为NULL时,则需要做instance recovery

数据库启动 – 一致性检查 – 非安全关闭


C:\Users>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期日 1223 13:19:28 2018

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> shutdown abort;
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。

Total System Global Area 3390558208 bytes
Fixed Size                  2180464 bytes
Variable Size            1862273680 bytes
Database Buffers         1509949440 bytes
Redo Buffers               16154624 bytes
数据库装载完毕。

SQL> set linesize 500;
SQL> set pagesize 500;

SQL> select checkpoint_change# from v$database;

CHECKPOINT_CHANGE#
------------------
           1180176

SQL> col name for a100;

SQL> select name,checkpoint_change# from v$datafile;

NAME                                                                                                 CHECKPOINT_CHANGE#
---------------------------------------------------------------------------------------------------- ------------------
E:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF                                                                     1180176
E:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF                                                                     1180176
E:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF                                                                    1180176
E:\ORACLE\ORADATA\ORCL\USERS01.DBF                                                                      1180176
E:\ORACLE\ORADATA\ORCL\TEST.DBF                                                                         1180176

SQL> select name,checkpoint_change# from v$datafile_header;

NAME                                                                                                 CHECKPOINT_CHANGE#
---------------------------------------------------------------------------------------------------- ------------------
E:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF                                                                     1180176
E:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF                                                                     1180176
E:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF                                                                    1180176
E:\ORACLE\ORADATA\ORCL\USERS01.DBF                                                                      1180176
E:\ORACLE\ORADATA\ORCL\TEST.DBF                                                                         1180176

SQL> select name,last_change# from v$datafile;

NAME                                                                                                 LAST_CHANGE#
---------------------------------------------------------------------------------------------------- ------------
E:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF
E:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF
E:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF
E:\ORACLE\ORADATA\ORCL\USERS01.DBF
E:\ORACLE\ORADATA\ORCL\TEST.DBF

SQL> alter database open;
数据库已更改。

数据库启动–一致性检查–安全关闭


C:\Users\lcx>sqlplus / as sysdba;

SQL*Plus: Release 11.2.0.1.0 Production on 星期日 1223 13:37:55 2018

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。

Total System Global Area 3390558208 bytes
Fixed Size                  2180464 bytes
Variable Size            1862273680 bytes
Database Buffers         1509949440 bytes
Redo Buffers               16154624 bytes
数据库装载完毕。
SQL> set pagesize 500;
SQL> set linesize 500;
SQL> col name for a100;
SQL> select checkpoint_change# from v$database;

CHECKPOINT_CHANGE#
------------------
           1201333

SQL> select name,checkpoint_change# from v$datafile;

NAME                                                                                                 CHECKPOINT_CHANGE#
---------------------------------------------------------------------------------------------------- ------------------
E:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF                                                                     1201333
E:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF                                                                     1201333
E:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF                                                                    1201333
E:\ORACLE\ORADATA\ORCL\USERS01.DBF                                                                      1201333
E:\ORACLE\ORADATA\ORCL\TEST.DBF                                                                         1201333

SQL> select name,checkpoint_change# from v$datafile_header;

NAME                                                                                                 CHECKPOINT_CHANGE#
---------------------------------------------------------------------------------------------------- ------------------
E:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF                                                                     1201333
E:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF                                                                     1201333
E:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF                                                                    1201333
E:\ORACLE\ORADATA\ORCL\USERS01.DBF                                                                      1201333
E:\ORACLE\ORADATA\ORCL\TEST.DBF                                                                         1201333

SQL> select name,last_change# from v$datafile;

NAME                                                                                                 LAST_CHANGE#
---------------------------------------------------------------------------------------------------- ------------
E:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF                                                                    1201333
E:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF                                                                    1201333
E:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF                                                                   1201333
E:\ORACLE\ORADATA\ORCL\USERS01.DBF                                                                     1201333
E:\ORACLE\ORADATA\ORCL\TEST.DBF                                                                        1201333

SQL> alter database open;

数据库已更改。

SQL>

数据库启动–一致性检查–实例恢复

在这里插入图片描述

数据库启动–一致性检查–介质恢复

在这里插入图片描述

数据库启动–一致性检查–只读表空间

在这里插入图片描述

数据迁移的方式

  • 逻辑迁移
    – dblink
    – exp/imp
    – expdp/impdp
  • 物理迁移
    – 备份/恢复(rman)
    – 传递表空间
    – Data guard
    – streams
    – Goldengate

猜你喜欢

转载自blog.csdn.net/Borntodieee/article/details/85222858