十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
备份与恢复存在的意义只有一个就是保护数据库(保护数据还有本身),防止由于设备故障或者人为误操作而导致数据库损坏或数据的丢失。即便无法找回已经丢失的数据也可以根据备份信息重建丢失的数据。在某种需求下备份和恢复操作也是一种数据迁移的形式。
创新互联是一家专注于成都网站制作、成都网站建设与策划设计,庆元网站建设哪家好?创新互联做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:庆元等地区。庆元做网站价格咨询:18980820575
按照备份形式的不同可以将备份分为物理备份和逻辑备份。物理备份根据数据库的状态又可以分为冷备和热备。
物理备份:物理备份就是将数据库的物理文件拷贝到别的地方来保存数据文件的方式。
逻辑备份:逻辑备份只针对数据库内的数据,通过数据库导入导出工具来完成。是物理备份的一种补充形式。
System Change Numbers (SCNs)&System Commit Numbers。系统改变号和系统提交号。SCN是Oracle数据库内部所使用的逻辑的时间戳。SCN的产生,系统产生一个新的SCN是根据当时的时间戳timestamp转换而来,每当需要产生一个最新的SCN到redo记录中时,系统都会获取当时的timestamp将其转换成数字作为SCN。
SCN本身也是一种时间,它是从建库开始就单调递增的序列,一次性最大可以增加32000个。SCN号是有上限的,当SCN号被使用完,数据库便不能够运行,但是几百年内是不会用完的。SCN是一个很重要的机制,在数据恢复,DG,RAC节点间同步等各个功能中起着重要的作用。
SYS@proe>select current_scn from v$database;
CURRENT_SCN
-----------
2128297
SYS@proe>select checkpoint_change#,current_scn from v$database;
CHECKPOINT_CHANGE# CURRENT_SCN
------------------ -----------
2127934 2128360
SYS@proe>select file#,checkpoint_change# from v$datafile order by 1;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 2127934
2 2127934
3 2127934
4 2127934
5 2127934
6 2127934
7 1728568
7 rows selected.
SYS@proe>select file#,checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 2127934
2 2127934
3 2127934
4 2127934
5 2127934
6 2127934
7 1728568
7 rows selected.
#如果出现数据文件头部为0的情况则说明数据文件已经离线,没有读取这个数据文件。
SYS@proe>select file#,checkpoint_change#,last_change# from v$datafile;
FILE# CHECKPOINT_CHANGE# LAST_CHANGE#
---------- ------------------ ------------
1 2127934 (null)
2 2127934 (null)
3 2127934 (null)
4 2127934 (null)
5 2127934 (null)
6 2127934 (null)
7 1728568 1728568
7 rows selected.
注意:正在运行的文件是没有last_change#的,只有readonly,offline才会有。
以上两个值在一致性关闭后数值相同才正常。
SYS@proe>select scn_to_timestamp(2127934) from dual;
SCN_TO_TIMESTAMP(2127934)
---------------------------------------------------------------------------
15-JUL-20 07.14.57.000000000 PM
SYS@proe>select timestamp_to_scn(to_timestamp('2020-07-13 07:15:24','yyyy-mm-dd hh34:mi:ss')) from dual;
TIMESTAMP_TO_SCN(TO_TIMESTAMP('2020-07-1307:15:24','YYYY-MM-DDHH24:MI:SS'))
---------------------------------------------------------------------------
1993469