网站首页 > 技术文章 正文
Oracle数据库使用RMAN备份,需要把数据库的非归档模式改成归档模式,启动控制文件的自动备份,全库备份。
1、改变数据库为归档模式
SQL>alter database archivelog;(归档改为非归档语句为alter database noarchivelog;)
2、启动控制文件的自动备份
RMAN>configure controlfile autobackup on;
3、全库备份
3.1最简单的全库备份
RMAN>backup database;
Oracle数据库的恢复(三)
前面有两篇文章写了恢复,这次恢复是丢失数据文件、控制文件、重做日志、初始化文件的恢复。
恢复的顺序是,初始化文件—控制文件—恢复数据库—重做日志文件
一、恢复前检查
1.1、进入数据库的rman环境
[oracle@shell orcl]$ rman target/
1.2、查看备份文件情况
RMAN> list backup;
1.3、删除文件
删除初始化文件spfileorcl.ora
位置/usr/local/oracle/product/11.2.0/db_1/dbs
[oracle@shell dbs]$ rm spfileorcl.ora
删除控制文件、数据文件、重做日志文件,
在目录
/usr/local/oradata/orcl
[oracle@shell orcl]$ rm *.*
二、恢复
2.1以oracle用户(linux)的sys用户登录数据库
[oracle@shell orcl]$ sqlplus / as sysdba
2.1.1查询emp表
SQL> select count(*) from bankuser.emp;
上图显示由于找不到数据库的数据文件而报错
2.1.2强制关闭数据库
SQL>shutdown abort
2.1.3重新启动,由于找不到初始化文件而报错
SQL>startup
2.1.4查看数据库实例
SQL> select instance_name,status from v$instance;
由上图知悉,数据库实例没有启动
2.2恢复初始化文件
2.2.1借用初始化文件启动
[oracle@shell orcl]$ rman target/
先从备份中恢复初始化文件spfile,现在需要一个初始化文件来启动数据库到nomount状态。可以在/usr/local/oracle/admin/orcl/pfile目录下找到一个安装数据库时所产生的pfile文件。
由上图知悉,一个名为init.ora.910202014321的文件,可以修改该文件生成一个数据库的初始化文件pfile。如果该文件中控制文件和其他参数都一致,可以使用该文件来启动数据库到nomount状态。
SQL> startup pfile='/usr/local/oracle/admin/orcl/pfile/init.ora.910202014321';
由上图可知,找不到控制文件而报错。
2.2.2查看实例状态
SQL> select instance_name,status from v$instance;
由上图可知数据库为nomount状态。
2.2.3从原来的的数据库备份中恢复原来的数据库初始化文件spfile。
[oracle@shell pfile]$ rman target/
RMAN> restore spfile from autobackup;
由上图知悉成功恢复了spfile文件,在/usr/local/oracle/product/11.2.0/db_1/dbs中查看
2.2.4接下来关闭数据库,用恢复出来的初始化文件spfile启动数据库到nomount状态
[oracle@shell RmanBackup]$ sqlplus / as sysdba
SQL> shutdown immediate;
SQL> startup nomount
2.2.5查看当前数据库初始化文件spfile的位置
SQL> show parameter spfile;
2.3恢复数据库的控制文件
2.3.1进入rman并恢复
[oracle@shell RmanBackup]$ rman target/
RMAN> restore controlfile from autobackup;
由上图知悉,恢复了一个控制文件
2.3.2验证
在/usr/local/oradata/orcl目录中也能看到
2.4恢复数据库文件
2.4.1先设置数据库到mount状态,
RMAN> alter database mount;
2.4.2从原来的备份中还原数据库文件
RMAN> restore database;
2.4.3在目录下查看
/usr/local/oradata/orcl
由上图知悉,恢复了存在的数据文件。
2.5恢复数据库
SQL> recover database using backup controlfile until cancel;
2.6恢复重做日志文件
重做日志文件不能恢复,只能使用resetlog重新创建,并且用archive验证
2.6.1重新创建日志文件并验证
SQL> alter database open resetlogs;
SQL> archive log list;
2.7验证数据库
SQL> select instance_name,status from v$instance;
SQL> select count(*) from bankuser.emp;
至此,数据库恢复成功
猜你喜欢
- 2024-10-19 一文总结postgresql wal日志参数、归档、清理及常用命令
- 2024-10-19 Oracle数据库redo日志暴增,怎么查出是哪些sql语句影响导致?
- 2024-10-19 Oracle总体架构 oracle体系结构详解
- 2024-10-19 使用易备数据备份软件,简单快速地备份 Oracle 数据库
- 2024-10-19 分享一个定时清除前5天归档的脚本
- 2024-10-19 数据库容灾——Oracle DataGuard原理介绍
- 2024-10-19 Oracle Rman概述及最佳备份策略 oracle rman catalog
- 2024-10-19 RMAN-08137 主库无法删除归档文件
- 2024-10-19 详解mysql数据库binlog--机制、格式、相关参数等
- 2024-10-19 oracle体系结构概述 oracle 体系
你 发表评论:
欢迎- 593℃几个Oracle空值处理函数 oracle处理null值的函数
- 586℃Oracle分析函数之Lag和Lead()使用
- 574℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 571℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 567℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 559℃【数据统计分析】详解Oracle分组函数之CUBE
- 546℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 540℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端懒加载 (49)
- 前端获取当前时间 (50)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)