我的编程空间,编程开发者的网络收藏夹
学习永远不晚

oracle数据库如何备份恢复

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

oracle数据库如何备份恢复

这篇文章给大家分享的是有关oracle数据库如何备份恢复的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

问题:

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;

}

感谢各位的阅读!关于“oracle数据库如何备份恢复”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

oracle数据库如何备份恢复

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何备份和恢复Oracle数据库

备份和恢复Oracle数据库是非常重要的,以防止数据丢失或损坏。以下是备份和恢复Oracle数据库的步骤:备份Oracle数据库:使用expdp命令导出数据库。可以使用以下命令:expdp username/password@datab
如何备份和恢复Oracle数据库
2024-04-09

如何在Oracle中备份和恢复数据库

在Oracle中备份和恢复数据库可以使用以下步骤:备份数据库:使用expdp工具进行全库备份:expdp system/password@SID full=y dumpfile=full_backup.dmp directory=bac
如何在Oracle中备份和恢复数据库
2024-04-09

如何备份和恢复MySQL数据库

备份和恢复MySQL数据库可以通过多种方式实现,以下是其中一种常用的方法:备份MySQL数据库:使用命令行工具备份数据库:mysqldump -u [用户名] -p [数据库名] > [备份文件路径]使用MySQL Workbench备份
如何备份和恢复MySQL数据库
2024-04-09

Oracle数据库怎么备份与恢复

本篇内容主要讲解“Oracle数据库怎么备份与恢复”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle数据库怎么备份与恢复”吧!在Oracle数据库的使用过程中,备份与恢复是经常遇到的操作
2023-06-21

如何备份和恢复SQLite数据库

要备份SQLite数据库,可以使用以下方法之一:使用SQLite的备份命令:sqlite3 your_database.db .dump > backup.sql使用SQLite的工具软件:可以使用SQLite的工具软件如DB Brows
如何备份和恢复SQLite数据库
2024-04-09

如何备份和恢复PostgreSQL数据库

备份和恢复PostgreSQL数据库可以通过以下步骤进行:备份数据库:使用pg_dump命令备份数据库,例如:pg_dump -U username -d dbname -f backup.sql如果想备份整个数据库集群,可以使用pg_
如何备份和恢复PostgreSQL数据库
2024-04-09

Oracle数据泵备份还原恢复库

select * from dba_directories;--创建数据泵路径create directory dump_dir as "/u01/app/oracle/admin/dump/dump";--授权路径给用户grant read,write on
Oracle数据泵备份还原恢复库
2017-01-23

SQLite中如何备份和恢复数据库

SQLite提供了两种备份和恢复数据库的方法:使用SQLite命令行工具和使用SQLite的API。使用SQLite命令行工具备份和恢复数据库:备份数据库:sqlite3 original.db .dump > backup.sql恢复数
SQLite中如何备份和恢复数据库
2024-04-09

数据库备份与恢复

数据库备份与恢复 一、物理备份和逻辑备份二、mysqldump实现逻辑备份2.1 备份一个数据库2.2 备份全部数据库2.3 备份部分数据库2.4 备份部分表2.5 备份单表的部分数据2.6 排除某些表的备份2.7 只备份结构或只备
2023-08-18

如何实现Oracle数据库的备份和恢复策略

要实现Oracle数据库的备份和恢复策略,可以遵循以下步骤:备份策略:定期进行完整数据库备份:使用Oracle提供的工具如RMAN(Recovery Manager)或第三方备份软件进行完整数据库备份,保留备份文件以便在需要时进行恢复操作
如何实现Oracle数据库的备份和恢复策略
2024-04-09

如何用PL/SQL备份与恢复数据库

备份数据库:创建一个脚本来执行备份操作,例如:CREATE OR REPLACE PROCEDURE backup_database ASBEGINEXECUTE IMMEDIATE ALTER DATABASE BEGIN BACKU
如何用PL/SQL备份与恢复数据库
2024-05-08

Oracle数据库备份与恢复操作指南

Oracle数据库备份与恢复操作指南一、备份使用RMAN备份整个数据库RMAN是Oracle提供的用于备份和恢复数据库的管理工具,使用RMAN可以备份整个数据库,包括数据文件、控制文件和归档日志。以下是一个备份整个数据库的示例:RMA
Oracle数据库备份与恢复操作指南
2024-03-02

《MySQL数据库》MySQL备份恢复

前言MySQL数据库最重要的部分就是数据,所以保证数据不被损坏尤为重要,大家都知道911事件,当时非常多的数据丢失,导致经济混乱。接下来我们就来讲讲MySQL是如何保障数据完整,应对特殊情况,如何恢复等。备份备份检查:保证备份没有问题,并且定期演练恢复数据。备
《MySQL数据库》MySQL备份恢复
2016-12-27

编程热搜

目录