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

Oracle 之数据库备份与恢复

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

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';

  启动 backup 于 03-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';

  启动 backup 于 03-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';

  启动 backup 于 03-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';

  启动 backup 于 03-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';

  启动 backup 于 03-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';

  启动 backup 于 03-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';

  启动 backup 于 03-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;

  启动 backup 于 03-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';

  启动 backup 于 03-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;

  启动 restore 于 03-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 成功。无锡×××医院 http://mobile.zzchnk.com/

  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

  Export: Release 11.2.0.1.0 - Production on 星期一 6月 3 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\

  Export: Release 11.2.0.1.0 - Production on 星期一 6月 3 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\

  Export: Release 11.2.0.1.0 - Production on 星期一 6月 3 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\

  Import: Release 11.2.0.1.0 - Production on 星期一 6月 3 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\

  Import: Release 11.2.0.1.0 - Production on 星期一 6月 3 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 无效

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


免责声明:

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

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

Oracle 之数据库备份与恢复

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

下载Word文档

猜你喜欢

Oracle数据库怎么备份与恢复

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

数据库备份与恢复

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

Sqlite—数据库备份与恢复

数据库备份例如:备份 /www/wwwroot 下面的 task.db 数据库1.进入数据库[root@localhost ~]# sqlite3 /www/wwwroot/task.db2.备份数据库sqlite> .output test.sqlsqlit
2016-10-11

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

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

SQLServer数据库之备份和恢复数据库

在一些对数据可靠性要求很高的行业,若发生意外停机或数据丢失,其损失是十分惨重的,因此,本文详细介绍了数据库备份和恢复数据库方法,感兴趣的同学可以借鉴一下
2023-03-23

Index函数与Oracle数据库的备份与恢复优化

Index函数是用来加速数据库查询的工具,它通过创建索引来优化查询性能。索引是一种特殊的数据结构,可以加快数据的查找速度,类似于书籍的目录。当我们需要查找某个数据时,数据库引擎会先查找索引,然后根据索引找到对应的数据,从而加快查询速度。在
Index函数与Oracle数据库的备份与恢复优化
2024-08-15

编程热搜

目录