千家信息网

oracle数据库如何备份恢复

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家分享的是有关oracle数据库如何备份恢复的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。问题:1.逻辑备份是否包含表结构答案包含表结构2.Rman是逻辑备份还
千家信息网最后更新 2026年11月01日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数据库如何备份恢复"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

备份 数据 数据库 文件 目标 逻辑 物理 脚本 命令 方式 目录 空间 同步 日志 答案 运行 信息 内容 拷贝 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 天津市摩尔互联网科技 互联网科技网 互联网科技有限公司经营范围 高科技与互联网 紫鲸互联网科技 互联网与未来科技 世界互联网领先科技成果 互联网高科技股票 衡水科技产业互联网平台 山东吉时兔互联网科技有限公司 阿里巴巴算科技企业还是互联网 常德市电业局互联网科技部 青海科技产业互联网发展 互联网公司黑科技创始人 上海互联网科技公司ppt 卡尔迅互联网科技有限公司 广东鹅鹅鹅互联网科技有限公司 云鲸互联网络科技有限公司 长沙渺峰互联网科技有限公司 黑龙江互联网科技公司 科技金融是不是互联网金融 互联网属科技 以房互联网科技 鑫亿盛互联网科技 四个字互联网科技公司取名 中国航天科技大学国际工业互联网 乌鲁木齐新华智原互联网科技学校 伍佰万互联网科技怎么赚钱 互联网科技手抄报图片 深圳互联网科技园地址
0