Oracle-Oracle数据库备份与恢复

Oracle-Oracle数据库备份与恢复Oracle数据库备份与恢复下面通过一些简单的例子来了解一下:Oracle数据库各种物理备份的方法。Oracle数据库各种物理恢复的方法利用RMAN工具进行数据库的备份与恢复。数据的导出与导入操作。(1)关闭BOOKSALES数据库,进行一次完全冷备份。selectfile_namefromdba_data_files;selectmemberfromv…

大家好,又见面了,我是你们的朋友全栈君。

Oracle数据库备份与恢复

下面通过一些简单的例子来了解一下:

  • Oracle数据库各种物理备份的方法。
  • Oracle数据库各种物理恢复的方法
  • 利用RMAN工具进行数据库的备份与恢复。
  • 数据的导出与导入操作。
  • (1)关闭BOOKSALES数据库,进行一次完全冷备份。
select file_name from dba_data_files;

在这里插入图片描述

select member from v$logfile;

在这里插入图片描述

select value from v$parameter where name='control_files';

在这里插入图片描述

shutdown immediate
//复制所有的数据文件、联机重做日志文件以及控制文件到备份磁盘
startup
  • (2)启动数据库后,在数据中创建一个名为cold表,并插入数据,以改变数据库的状态。
create table cold (id number(5,0) primary key);
Table COLD 已创建。
insert into cold values(1);
1行已插入。
select * from cold;

在这里插入图片描述

  • (3)利用数据库冷备份恢复BOOKSALES数据库到备份时刻的状态,并查看恢复后是否存在cold表。
//关闭数据库
shutdown immediate
//将备份的所有数据文件、控制文件、联机重做日志文件还原到原来所在的位置。
//重新启动数据库
startup
  • (4)将BOOKSALES数据库设置为归档模式。
//关闭数据库
shutdown immediate
//设置归档目的地
select name,value from v$parameter where name='db_recovery_file_dest';

在这里插入图片描述

alter system set log_archive_dest='D:\Oracle\backup\archive';
alter system set log_archive_duplex='D:\Oracle\backup\archive';
//将数据库启动到加载状态
startup mount
//改变数据库为归档模式
alter database archivelog;
//打开数据库
alter database open;
  • (5)对BOOKSALES数据库进行一次热备份。
select tablespace_name,file_name from dba_data_files order by tablespace_name;

在这里插入图片描述

alter tablespace users begin backup;
Tablespace USERS已变更。
//将表空间中所有的数据文件复制到备份磁盘
alter tablespace users end backup;
Tablespace USERS已变更。
  • (6) 在数据库中创建一个名为hot表,并插入数据,以改变数据库的状态。
create table hot (id number primary key, name varchar2(25)) tablespace users;
Table HOT 已创建。
insert into hot values(33, 'xushicheng');
1行已插入。
  • (7) 假设保存hot表的数据文件损坏,利用热备份进行数据库恢复。
shutdown abort
startup mount
recover datafile 'D:\Oracle\app\administrators\oradata\BOOKSALES\users002.dbf';
alter database datafile 'D:\Oracle\app\administrators\oradata\BOOKSALES\users002.dbf' online;
alter database open;
  • (8) 数据库恢复后,验证hot表的状态及其数据情况。
select * from hot;
  • (9) 利用数据库的热备份,分别进行基于时间,基于SCN和基于CANCEL的不完全恢复。
shutdown abort;
startup mount;
recover database until time '2019-6-1';

set time on
alter system switch logfile;
System SWITCH已变更。
alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
Session已变更。
select recid,stamp,sequence#,first_change#,first_time,next_change# from v$log_history;

在这里插入图片描述
在这里插入图片描述

shutdown abort;
startup mount;
recover database until change 1344396;
  • (10) 为了使用RMAN工具备份与恢复BOOKSALES数据库,配置RMAN的自动通道分配。
RMAN target sys/admin@BOOKSALES

在这里插入图片描述

RMAN> configure default device type to sbt;

使用目标数据库控制文件替代恢复目录
新的 RMAN 配置参数:
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
已成功存储新的 RMAN 配置参数

RMAN> configure device type disk parallelism 2;

新的 RMAN 配置参数:
CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;
已成功存储新的 RMAN 配置参数

RMAN> configure device type disk parallelism 3;

旧的 RMAN 配置参数:
CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;
新的 RMAN 配置参数:
CONFIGURE DEVICE TYPE DISK PARALLELISM 3 BACKUP TYPE TO BACKUPSET;
已成功存储新的 RMAN 配置参数
RMAN> configure channel 3 device type disk maxpiecesize=50m;

新的 RMAN 配置参数:
CONFIGURE CHANNEL 3 DEVICE TYPE DISK MAXPIECESIZE 50 M;
已成功存储新的 RMAN 配置参数
  • (11)利用RMAN工具完全备份BOOKSALES数据库。
shutdown immediate
alter system set log_archive_dest_1='location=D:\Oracle\backup\ARCHIVE MANDATORY';
System SET已变更。
startup mount
alter database archivelog;
RMAN> backup database format 'D:\Oracle\backup\%U.BKP';

启动 backup03-6-19
使用目标数据库控制文件替代恢复目录
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup 命令 (06/03/2019 00:21:49) 失败
ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
ORA-27211: 未能加载介质管理库
(12) 利用RMAN工具备份BOOKSALES数据库的初始化参数文件和控制文件。
RMAN> backup spfile format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%U';

启动 backup03-6-19
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup 命令 (06/03/2019 00:23:19) 失败
ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
ORA-27211: 未能加载介质管理库
RMAN> backup current controlfile format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%U.CTL';

启动 backup03-6-19
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup 命令 (06/03/2019 00:24:58) 失败
ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
ORA-27211: 未能加载介质管理库
  • (13)利用RMAN工具对USERS表空间、BOOKTBS1表空间进行备份。
RMAN> backup tablespace users,booktbs1 format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%U.BKP';

启动 backup03-6-19
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup 命令 (06/03/2019 00:26:39) 失败
ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
ORA-27211: 未能加载介质管理库
  • (14) 利用RMAN工具备份BOOKSALES数据库的数据文件users01.dbf、users02.dbf进行备份。
RMAN> backup datafile 'D:\Oracle\app\administrators\oradata\BOOKSALES\users01.dbf' format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%u';

启动 backup03-6-19
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup 命令 (06/03/2019 00:29:14) 失败
ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
ORA-27211: 未能加载介质管理库
RMAN> backup datafile 'D:\Oracle\app\administrators\oradata\BOOKSALES\users02.dbf' format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%u';

启动 backup03-6-19
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup 命令 (06/03/2019 00:30:49) 失败
ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
ORA-27211: 未能加载介质管理库
  • (15) 利用RMAN工具备份BOOKSALES数据库的控制文件。
RMAN> backup current controlfile format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%U.ctl';

启动 backup03-6-19
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup 命令 (06/03/2019 00:31:50) 失败
ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
ORA-27211: 未能加载介质管理库
(16) 利用RMAN工具备份BOOKSALES数据库的归档文件。
RMAN> backup archivelog all;

启动 backup03-6-19
当前日志已存档
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup 命令 (06/03/2019 00:32:37) 失败
ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
ORA-27211: 未能加载介质管理库

RMAN> backup database plus archivelog format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%u';


启动 backup03-6-19
当前日志已存档
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup plus archivelog 命令 (06/03/2019 00:33:14) 失败
ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
ORA-27211: 未能加载介质管理库
  • (17) 利用RMAN工具备份BOOKSALES数据库形成的备份集,恢复数据库。
 RMAN> shutdown immediate;

数据库已关闭
数据库已卸装
Oracle 实例已关闭

RMAN> startup mount;

已连接到目标数据库 (未启动)
Oracle 实例已启动
数据库已装载

系统全局区域总计    3373858816 字节

Fixed Size                     2180424 字节
Variable Size               1845496504 字节
Database Buffers            1509949440 字节
Redo Buffers                  16232448 字节

RMAN> restore database;

启动 restore03-6-19
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=191 设备类型=DISK
分配的通道: ORA_DISK_2
通道 ORA_DISK_2: SID=129 设备类型=DISK
分配的通道: ORA_DISK_3
通道 ORA_DISK_3: SID=192 设备类型=DISK

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 命令 (06/03/2019 00:34:44) 失败
RMAN-06026: 有些目标没有找到 - 终止还原
RMAN-06023: 没有找到数据文件4的副本来还原
RMAN-06023: 没有找到数据文件3的副本来还原
RMAN-06023: 没有找到数据文件2的副本来还原
RMAN-06023: 没有找到数据文件1的副本来还原
RMAN> recover database;

启动 recover 于 03-6-19
使用通道 ORA_DISK_1
使用通道 ORA_DISK_2
使用通道 ORA_DISK_3
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: recover 命令 (06/03/2019 00:35:37) 失败
RMAN-06094: 数据文件4必须重新存储

RMAN> alter database open;

数据库已打开

RMAN> alter database open resetlogs;

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: alter db 命令 (06/03/2019 00:36:19) 失败
ORA-01531: 实例已打开数据库

  • (18) 利用EXPDP工具导出BOOKSALES数据库的整个数据库。
create or replace directory dumpdir as 'D:\Oracle\backup';
Directory DUMPDIR 已创建。
grant read,write on directory dumpdir to system;
Grant 成功。
grant exp_full_database, imp_full_database to system;
Grant 成功。
expdp system/admin directory=dum_dir dumpfile=expfull.dmp full=yes nologfile=yes;
  • (19)利用EXPDP工具导出EXPDP数据库的USERS表空间。
C:\Users\徐仕成>expdp system/admin directory=dum_dir dumpfile=expfull.dmp full=yes nologfile=yes;

Export: Release 11.2.0.1.0 - Production on 星期一 63 00:49:22 2019

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39001: 参数值无效
ORA-39000: 转储文件说明错误
ORA-39087: 目录名 DUM_DIR 无效
  • (20)利用EXPDP工具导出BOOKSALES数据库publisher表和books表。
C:\Users\徐仕成>expdp system/admin directory=dump_dir dumpfile=publishers_books.dmp logfile=publishers_books.log tables=scott.emp, scott.dept parallel=3

Export: Release 11.2.0.1.0 - Production on 星期一 63 00:50:14 2019

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39002: 操作无效
ORA-39070: 无法打开日志文件。
ORA-39087: 目录名 DUMP_DIR 无效
  • (21)利用EXPDP工具导出BOOKSALES数据库中bs模式下的所有数据库对象及数据。
C:\Users\徐仕成>expdp bs/bs directory=dump_dir dumpfile=exfull.dmp full=yes nologfile=yes

Export: Release 11.2.0.1.0 - Production on 星期一 63 00:51:05 2019

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39006: 内部错误
ORA-39068: 在 PROCESS_ORDER=-3 的行中主表数据无效
ORA-01658: 无法为表空间 USERS 中的段创建 INITIAL 区

ORA-39097: 数据泵作业出现意外的错误 -1658
  • (22)删除BOOKSALES数据库中的orderitem表和order表,使用转储文件,利用IMPDP工具进行恢复。
drop table orderitem;
drop table order;
C:\Users\徐仕成>impdp scott/admin directory=dpump_dir dumpfile=emp_deptdmp tables=detp,emp nologfile=yes

Import: Release 11.2.0.1.0 - Production on 星期一 63 00:54:29 2019

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

UDI-28000: 操作产生了 ORACLE 错误 28000
ORA-28000: the account is locked

用户名: sys as sysdba
口令:

连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39001: 参数值无效
ORA-39000: 转储文件说明错误
ORA-39087: 目录名 DPUMP_DIR 无效
  • (23)删除BOOKSALES数据库中的USERS表空间,使用转储文件,利用IMPDP工具进行恢复。
drop users;
C:\Users\徐仕成>impdp scott/admin directory=dpump_dir dumpfile=emp_deptdmp tables=detp,emp nologfile=yes

Import: Release 11.2.0.1.0 - Production on 星期一 63 00:56:42 2019

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

UDI-28000: 操作产生了 ORACLE 错误 28000
ORA-28000: the account is locked

用户名: sys as sysdba
口令:

连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39001: 参数值无效
ORA-39000: 转储文件说明错误
ORA-39087: 目录名 DPUMP_DIR 无效

上面有很多操作其实都失败了,具体原因我也不清楚,也一直没有解决,但是相关的命令应该都是正确的。

创作不易,喜欢的话加个关注点个赞,蟹蟹蟹蟹

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/146429.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • MPLS 虚拟专用网络 Hub and Spoke实验

    MPLS 虚拟专用网络 Hub and Spoke实验

  • strtok函数与函数用法实例

    strtok函数与函数用法实例strtok函数简介及运用实例(利用strtok函数分割字符串及单词逆序)

    2022年10月24日
  • idea激活码在线生成【2022最新】2022.02.08

    (idea激活码在线生成)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html4KDDGND3CI-eyJsaWN…

  • IDEA怎么生成UML类图

    IDEA怎么生成UML类图最近在开发的过程当中,对于已有的代码,想将相关类绘制成UML类图,虽然现在有很多UML类图的优秀软件,比如ProcessOn(可视化编辑)、draw.io(可视化编辑)、PlantUML(代码生成),其实看到这里我就想IDEA中有没有像PlantUML一样的自动生成的插件,本着怀疑的态度百度了一下,果然IDEA还是很强大的,这个插件都是自带的,接下稍微讲述如何利用IDEA生成UML类图的教程。…

  • 解析offsetHeight,clientHeight,scrollHeight之间的区别「建议收藏」

    解析offsetHeight,clientHeight,scrollHeight之间的区别「建议收藏」在网上搜了一下,结论非常笼统,讲IE从不讲版本,因此自己做了测试并上传结论。以下结论皆是在标准模式下测试通过的,没有测试quirk模式。clientHeight大部分浏览器对clientHeight都没有什么异议,都认为是内容可视区域的高度,也就是说页面浏览器中可以看到内容的这个区域的高度,即然是指可看到内容的区域,滚动条不算在内。但要注意padding是算在内。其计算方式为clien…

  • 恢复服务器安装信息被破坏了,服务器存储瘫痪数据恢复成功案例-服务器数据恢复…

    恢复服务器安装信息被破坏了,服务器存储瘫痪数据恢复成功案例-服务器数据恢复…一、服务器数据恢复故障描述机房突然断电导致整个存储瘫痪,加电后存储依然无法使用。经过用户方工程师诊断后认为是断电导致存储阵列损坏。整个存储是由12块日立硬盘(3TSAS硬盘)组成的RAID-6磁盘阵列,被分成一个卷,分配给几台Vmware的ESXI主机做共享存储。整个卷中存放了大量的Windows虚拟机,虚拟机基本都是模板创建的,因此系统盘都统一为160G。数据盘大小不确定,并且数据盘都是精简模…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号