问题:

1.逻辑备份是否包含表结构

答案包含表结构

2.Rman是逻辑备份还是物理备份,属于也备份吗

答案物理备,属于热备份

3.热备份的方式是什么

答案:SQL下的命令备份或是Rman备份

4.热备份能备份哪些文件

5.联机重做文件有什么作用

答案:在Oracle数据库中,执行数据修改操作后,并不是马上写入数据文件,而是首先生成重做信息,并写入SGA中的一块叫LOG_BUFFER的固定区域,LOG_BUFFER有一定的触发条件,当满足触发条件后,会有相应进程将LOG_BUFFER中的内容写入数据块中。oracle联机日志作用:1、主要用来记录对数据库的改变,防止数据丢失。2、为了数据库操作快速反应。

备份的类型

按照备份方式的不同,可以把备份分为两类:

逻辑备份:指通过逻辑导出对数据进行备份。逻辑备份使用导入导出工具:EXPDP/IMPDP或EXP/IMP,逻辑备份是物理备份的方式的一种补充,由于逻辑备份具有平台无关性,逻辑备份被作为数据迁移及移动的主要手段。

物理备份: 指通过物理文件拷贝的方式对数据库进行备份,物理备份又可以分为冷备份和热备份。

冷备份:是指对数据库进行关闭后的拷贝备份,这样的备份具有一致和完整的时间点数据,恢复时只需要恢复所有文件就可以启动数据库。

热备份:在生产系统中最常见的备份方式是热备份,进行热备份的数据库需要运行在归档模式,热备份时不需要关闭数据库,从而能够保证系统的持续运行,在进行恢复时,通过备份的数据文件及归档日志文件,数据库可以进行完全恢复。热备份包括Rman备份,热备份也被称为联机备份。

逻辑备份:

导出

shell>exp 用户名/密码   file=/home/backup/ymq.dmp

导入

shell>imp 用户名/密码  full=y file=/home/backup/ymq.dmp ignore=y

物理备份

热备份

SQL下的命令备份

1.查看是否开启归档

ARCHIVE LOG LIST

2. 将需要备份的表空间(如user)设置为备份方式

shell>Alter tablespace user begin backup;

3.拷贝参数文件

shell>!cp /u01/oradata/prod/user01.ora /backup/prod/user01.ora

shell>cp /u01/oradata/prod/user01.ora /backup/prod/user01.ora

1.为目录创建一个单独的表空间

SQL>Create tablespace tools datafile ‘fielname’ size 50m;

2.创建RMAN用户

SQL>Create user RMAN identified by RMAN default tablespace tools temporary tablespace temp;

3.给RMAN授予权限

SQL>Grant connect , resource , recovery_catalog_owner to rman;

4.打开RMAN

$>RMAN

5.连接数据库

RMAN>connect catalog rman/rman

6.创建恢复目录

RMAN>Create catalog tablespace tools

注册目标数据库,恢复目录创建成功后,就可以注册目标数据库了,目标数据库就是需要备份的数据库,一个恢复目录可以注册多个目标数据库,注册目标数据库的命令为:

$>RMAN target internal/password catalog rman/rman@rcdb;

RMAN>Register database;

数据库注册完成,就可以用RMAN来进行备份了,更多命令请参考ORACLE联机手册或《ORACLE8i备份与恢复手册》。

注销数据库不是简单的在RMAN提示下反注册就可以了,需要运行一个程序包,过程如下:

1. 连接目标数据库,获得目标数据库ID

$> RMAN target internal/password catalog rman/rman@rcdb;

RMAN-06005: connected to target database: RMAN (DBID=1231209694)

2. 查询恢复目录,得到更详细的信息

SQL> SELECT db_key, db_id FROM db WHERE db_id = 1231209694;

DB_KEY     DB_ID

---------- ---------------

1 1237603294

1 row selected.

3. 运行过程dbms_rcvcat.unregisterdatabase注销数据库,如

SQL> EXECUTE dbms_rcvcat.unregisterdatabase(1 , 1237603294)

4.3.1.3 采用RMAN进行备份

RMAN使用脚本来备份数据库,以下是RMAN进行备份的几个例子。

1.备份整个数据库

backup full tag ‘basicdb’ format ‘/bak/oradata/full_%u_%s_%p’ database;

2.备份一个表空间

backup tag ‘tsuser’ format ‘/bak/oradata/tsuser_%u_%s_%p’ tablespace users;

3.备份归档日志

backup tag ‘alog’ format ‘/bak/archivebak/arcbak_%u_%s_%p’ archivelog all delete input;

4.3.2 维护RMAN
4.3.2.1 查看RMAN的信息

检查现有备份

RMAN>list backup

列出过期备份

RMAN>report obsolete

删除过期的备份

RMAN>allocate channel for maintenance type disk;

RMAN>change backupset id delete;

RMAN>release channel;

同步或重置Rman

如果目标数据库物理对象发生了变化,如添加了一个数据文件,需要用如下命令同步:

RMAN>resync catalog;

如果目标数据库reset了数据库,需要用如下命令同步

RMAN>reset database;

当手工删除了数据库的归档文件后,要执行以下脚本同步

RMAN>allocate channel for maintenance type disk;

RMAN> change archivelog all crosscheck;

RMAN>release channel;

当手工删除了数据库的RMAN备份后,要执行以下脚本来同步

RMAN>allocate channel for maintenance type disk;

RMAN>crosscheck backup;

RMAN>delete expire backup;

RMAN>release channel;

定制恰当的备份策略

定制正确的策略

每半年做一个数据库的全备份(包括所有的数据和只读表空间)

每一个月做一次零级备份(不包含只读表空间)

每个星期做一次一级备份

每天做一次二级备份

任何数据库的更改需要重新同步CATALOG目录并重新备份(如添加数据文件)或重新备份(如修改表空间为只读)

每次备份后都可以备份归档日志或定期备份归档日志。

如果可能,可以直接备份到磁带上。

数据库全备份的脚本

run{

allocate channel c1 type disk;

allocate channel c2 type disk;

allocate channel c3 type disk;

backup full tag ‘dbfull’ format ‘/u01/oradata/backup/full%u_%s_%p’ database

include current controlfile;

sql ‘alter system archive log current’;

backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’

archivelog all delete input;   #备份归档可选,可以单独定期备份

release channel c1;

release channel c2;

release channel c3;

}

零级备份的脚本

run{

allocate channel c1 type disk;

allocate channel c2 type disk;

allocate channel c3 type disk;

backup incremental level 0 tag ‘db0’ format ‘/u01/oradata/backup/db0%u_%s_%p’

database skip readonly;

sql ‘alter system archive log current’;

backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’

archivelog all delete input;   #备份归档可选,可以单独定期备份

release channel c1;

release channel c2;

release channel c3;

}

同理,我们可以得到一级备份,二级备份的脚本,如一级备份的脚本

run{

allocate channel c1 type disk;

allocate channel c2 type disk;

allocate channel c3 type disk;

backup incremental level 1 tag ‘db1’ format ‘/u01/oradata/backup/db1%u_%s_%p’

database skip readonly;

sql ‘alter system archive log current’;

backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’

archivelog all delete input;   #备份归档可选,可以单独定期备份

release channel c1;

release channel c2;

release channel c3;

}

转载于:https://blog.51cto.com/jinkaiye/2146904

oracle 数据库备份恢复相关推荐

  1. Oracle数据库备份恢复,巡检须要关注的对象设置以及相关恢复概述

    数据库备份恢复.巡检须要关注的对象设置: 1.数据库名称,以及DBID:  --dbid在v$database中     SYS@ORCL>select dbid,name from v$dat ...

  2. oracle数据库备份恢复篇(一)

    如果数据库控制文件做过镜像,比如一个数据库有3个控制文件,丢失一个控制文件的恢复非常的容易,如果所有控制文件的丢失,那么恢复起来就要相对的麻烦一些. 如果注意观察我下面的例子你会发现,即使没有控制文件 ...

  3. oracle数据库备份恢复后乱码,RMAN做数据文件恢复后,查询表中数据出现乱码

    今天在学习RMAN恢复数据库时,恢复后的数据库查询表出现乱码: 1:完全备份数据库 MAN>backup database format 'd:\orabackup\%u.bak'; 启动 ba ...

  4. 备份数据库的expdp语句_Oracle数据库备份恢复Data Pump Expdp/Impdp参数详解与案例介绍...

    oracle数据库备份恢复Data Pump Expdp/Impdp参数详解与案例介绍 目 录 1 Oracle数据泵的介绍 3 2 Oracle expdp/impdp参数使用介绍 3 2.1 Or ...

  5. ORACLE数据库备份

    ORACLE数据库备份 一.意义: 当我们使用一个数据库时,总希望数据库的内容是可靠的.正确的,但由于计算机系统的 故障(硬件故障.网络故障.进程故障和系统故障)影响数据库系统的操作,影响数据库中数 ...

  6. oracle数据库硬恢复,ORACLE数据库恢复技术

    一.恢复的意义 当我们使用一个数据库时,总希望数据库的内容是可靠的.正确的,但由于计算机系统的故障(硬件故障.网络故障.进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据 ...

  7. MySQL用户管理、常用SQL语句、MySQL数据库备份恢复

    mysql用户管理 1.创建一个普通用户并授权 [root@gary-tao ~]# mysql -uroot -p'szyino-123' Warning: Using a password on ...

  8. 记录——oracle数据库备份

    oracle数据库备份 Oracle数据库的三种标准的备份方法: 1.导出/导入(EXP/IMP). 2.热备份. 3.冷备份. 注释:导出备件是一种逻辑备份,冷备份和热备份是物理备份. 一.导出/导 ...

  9. 资源放送丨《Oracle DataGuard 备份恢复最佳实践 》PPT视频

    前段时间,墨天轮邀请到墨天轮MVP,鼎甲科技高级技术顾问,姚远分享了直播<Oracle DataGuard 备份恢复最佳实践>,在这里小编跟大家共享一下PPT和视频,供大家参考学习. 提到 ...

最新文章

  1. ubuntu切换python3_Ubuntu 18.04 切换使用Python3
  2. C++利用访函数进行选择排序
  3. 【论文解读】用Dropout思想做特征选择保证效果,还兼顾了线上性能?
  4. .NET 6新特性试用 | PeriodicTimer
  5. Linux全攻略--DHCP服务器配置与管理
  6. 编译安装ccache
  7. Spring Bean的生命周期(一图看懂bean生命周期)
  8. 基于Visual C++2010与windows SDK fo windows7开发windows7平台的tabletpc应用(2)-轨迹多文档手写轨迹输入多语言识别范例
  9. 敏捷开发-Scrum
  10. html菜鸟教程之HTML新手如何快速入门及HTML类的概述[图]
  11. JAVA WEB 复习资料
  12. win10隐藏登入界面时的administrator账户
  13. 保存SVM模型并调用
  14. android inflate 方法,Android LayoutInflater中 Inflate()方法应用
  15. C++中atan()与atan2()的区别和用法
  16. vue中使用第三方阿里巴巴矢量图标库,并修改图标大小
  17. 计算机开机出现alert,开机提示alert! cover was previously removed(主机盖被移动)
  18. 概率论与数理统计-----随机试验与随机事件、样本空间、事件集合表示
  19. 【Windows 问题系列第 8 篇】如何查看电脑磁盘属于固态盘还是机械硬盘?
  20. 人工智能、机器学习与深度学习的区别与联系

热门文章

  1. 全球及中国农业保险市场营销状况与运营价值分析报告2022版
  2. 中国茶叶行业投资策略分析预测及发展发展规划咨询报告2022年版
  3. HTTP代理如何正确处理Cookie
  4. mac打开class文件
  5. GPU Gems 3
  6. Linux 设备 eth0 似乎不存在, 初始化操作将被延迟
  7. springmvc 文件上传和拦截器
  8. noip2016考前模板
  9. Tensorflow学习笔记2:About Session, Graph, Operation and Tensor
  10. 关于comparable与comparator的用法(即自定义集合框架用法 )