版权声明:本文为博主原创文章,未经博主允许不得转载。 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 星期日 12月 23 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 星期日 12月 23 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