分享更有价值
被信任是一种快乐

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 LIST2. 将需要备份的表空间(如user)设置为备免费主机域名份方式shell>Alter tablespace user begin backup;3.拷贝参数文件shell>!cp /u01/oradata/prod/user01.ora /backup/prod/user01.orashell>cp /u01/oradata/prod/user01.ora /backup/prod/user01.ora1.为目录创建一个单独的表空间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$>RMAN5.连接数据库RMAN>connect catalog rman/rman6.创建恢复目录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 12376032941 row selected.3. 运行过程dbms_rcvcat.unregisterdatabase注销数据库,如SQL> EXECUTE dbms_rcvcat.unregisterdatabase(1 , 1237603294)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;检查现有备份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’ databaseinclude current controlfile;sql ‘alter system archive log current’;backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’archi免费主机域名velog 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数据库如何备份恢复”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

相关推荐: 如何处理oracle中出现的坏块

这篇文章主要为大家展示了“如何处理oracle中出现的坏块”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何处理oracle中出现的坏块”这篇文章吧。在oracle数据文件中出现一个或多个数据块坏块时的处理方法.当…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册