很多的应用场景下,为了防止灾难的发生,防范重要数据的丢失,异地容灾解决方案层次不穷。那么数据库无疑成为厂家重点保护的对象,那么来一起学习一下Oracle的备份机制。
Oracle备可以分为逻辑导出/导入和物理备份/恢复
逻辑备份:其实就是利用exp/imp命令来实现表库的数据信息
导出:
CMD命令模式下exp -? 查看帮助,简单介绍两个参数和使用格式
1)owner users to export: format is '(user1, user2, .., userN)'指定导出那些用户的表,如果一个用户不存在会出警告不会影响另一个用户表导出
格式如下:exp system/system owner=(user1,user2) file=D:/path ------->file为保存路径 ------------>owner等于多个参数时候要用括号括起来
2)tables tables to export: format is '(table1, table2, ..., tableN)'指定导出那些表,一次可以灵活选择多个表备份
格式如下:exp system/system tables=(tables1,tables2) file=D:/path.dmp
基本格式大同小异 希望大家多多看帮助手册(参考必须)
导入:
sql*plus中通过host 指令来调用DOS命令,注意Oracle 9i命令增量导出inctype已经废弃,导入使用imp命令 imp -? SQL*PLUS下要先打上 host
导入格式:imp system/system file=D:/path.dmp 带上参数 tables=(user1,user2) 该命令只导入user1,user2这两张表。
SQL>host imp system/system file=D:/path.dmp tables=(user1,user2); 在SQL*PLUS中使用方式
不论导入还是导出在没有指定参数的情况下将使用ORACLE_SID默认的环境变量库,前面已经涉及SID知识。
物理备份/恢复
分为两大类:冷备份和热备份
什么是冷备份,简单粗暴来说关闭数据库,复制库文件,这些文件有数据文件,控制文件,日志文件,联机的BEDOLOG和Init.org(可选)。
冷备份步骤
1)关闭数据库 shutdown normal(正常关闭)
2)当前在SQL*PLUS环境下 SQL>host copy D:\oracle\product\...\oradata\test(原库的路径) E:\Backup(备份位置的路径)
解析:其实就是将以文件(块)存储在磁盘的数据库复制到另一个文件夹内保存
恢复更简易,只要保证数据库关闭状态,把备份的库复制到老的库位置即可
什么是热备份:有人也叫平滑升级,在启动状态的数据库下进行数据库备份,因为很多场合应用场景绝不可能让你把某一台数据库关闭,高可用集群除外,所以掌握热备份非常必要(数据库一定是归档模式)
什么是归档模式:当我们启动数据库的时候,会有很多初始化信息,其中就会有Redo Buffer重做缓冲区大小,那么我们数据库有联机重做日志,这个日志是记录增删改查等等操作记录,一个Oracle的数据库有至少有两个归档重做日志,在非归档模式下,那么当第一个归档日志写满之后切换第二个联机重做日志,当第二个归档日志写满以后切换写第一个联机重做日志,新内容将老的日志记录覆盖,那么会导致内容丢失。如果在归档模式下,在一个联机重做日志写满之后切换时候将会归档,并复制到其他目录,这样会相对了避免了数据丢失。
热备份步骤
1)首先我们把数据库进入mount阶段,修改归档模式,命令如下
SQL>alter database mount
SQL>alter database archivelog;
2)那么我们打开数据,便于对数据库操作
SQL>alter database open;
3)查看是否开启归档模式
SQL>archive log list;
4)开启表空间备份模式
SQL>alter tablespace users begin backup;
5)备份表空间
SQL>host copy D:\app\....\oradate\xx.dbf D:\Backup
6)关闭表空间备份
SQL>alter tablespace users end backup;
7)备份控制文件
SQL>alter database backup controlfile to '' reuse;
8)备份控制文件脚本
SQL>alter database backup controllfile to trace;
在Oracle_home\intsance_name\udump控制的跟踪文件,复制文件到备份目录下,热备份完成,详细的知识点会继续完善。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。