当前位置:网站首页>数据库实验五 备份与恢复
数据库实验五 备份与恢复
2022-08-05 05:13:00 【长路漫漫 大佬为伴】
实验五 备份与恢复
- 一.实验目的
- 二.实验内容
- 三. 实验过程
- 1.对orcl数据库进行一次完全冷备份。
- 2.对orcl数据库的所有表空间进行热备份。
- 3.在数据库中创建一张表t1,表结构自定。在表中插入若干数据。破坏表t1所在的数据文件,使用热备份对其进行恢复。恢复后,查看表t1的状态。(请给出操作的全过程)
- 4.使用expdp导出users表空间中的所有数据。使用expdp导出scott用户的dept表。
- 5.删除scott用户的dept表,并用impdp进行恢复。
- 6.实现教材151页, 9.2.5节, 3 数据库不完全恢复的示例。
- 7.查询orcl数据库的所有控制文件。假定控制文件全部丢失且无备份,其它文件完好。试恢复数据库。(请给出故障模拟和恢复的全过程)
- 8.查询orcl数据库的联机日志文件。假定状态为inactive的日志文件(任选一个)损坏,其它文件完好。试恢复数据库。(请给出故障模拟和恢复的全过程)
实验五 备份与恢复
一.实验目的
掌握Oracle数据库备份和恢复的基本方法
二.实验内容
登录orcl数据库,完成以下实验:
- 对orcl数据库进行一次完全冷备份。
- 对orcl数据库的所有表空间进行热备份。
- 在数据库中创建一张表t1,表结构自定。在表中插入若干数据。破坏表t1所在的数据文件,使用热备份对其进行恢复。恢复后,查看表t1的状态。(请给出操作的全过程)
- 使用expdp导出users表空间中的所有数据。使用expdp导出scott用户的dept表。
- 删除scott用户的dept表,并用impdp进行恢复。
- 实现教材151页, 9.2.5节, 3 数据库不完全恢复的示例。
- 查询orcl数据库的所有控制文件。假定控制文件全部丢失且无备份,其它文件完好。试恢复数据库。(请给出故障模拟和恢复的全过程)
- 查询orcl数据库的联机日志文件。假定状态为inactive的日志文件(任选一个)损坏,其它文件完好。试恢复数据库。(请给出故障模拟和恢复的全过程)
三. 实验过程
1.对orcl数据库进行一次完全冷备份。
C:\Users\Administrator>sqlplus
SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 4月 25 08:20:26 2021
Copyright (c) 1982, 2005, Oracle. All rights reserved.
请输入用户名: sys
输入口令:
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
SQL> select value from v$parameter where name='control_files';
VALUE
--------------------------------------------------------------------------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL, C:\ORACLE\PRODUCT\10.
ADATA\ORCL\CONTROL02.CTL, C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 293601280 bytes
Fixed Size 1248600 bytes
Variable Size 117441192 bytes
Database Buffers 167772160 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
数据库已经打开。
2.对orcl数据库的所有表空间进行热备份。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 293601280 bytes
Fixed Size 1248600 bytes
Variable Size 121635496 bytes
Database Buffers 163577856 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
SQL> alter database archivelog;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> select tablespace_name,file_name from dba_data_files order by tablespace_na
me;
TABLESPACE_NAME
------------------------------
FILE_NAME
--------------------------------------------------------------------------------
EXAMPLE
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
SYSAUX
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
SYSTEM
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
TABLESPACE_NAME
------------------------------
FILE_NAME
--------------------------------------------------------------------------------
UNDOTBS1
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
USERS
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
SQL> alter tablespace EXAMPLE begin backup;
表空间已更改。
SQL> alter tablespace SYSAUX begin backup;
表空间已更改。
SQL> alter tablespace SYSTEM begin backup;
表空间已更改。
SQL> alter tablespace UNDOTBS1 begin backup;
表空间已更改。
SQL> alter tablespace USERS begin backup;
表空间已更改。
SQL> host copy C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL02\
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
已复制 12 个文件。
SQL> alter tablespace EXAMPLE end backup;
表空间已更改。
SQL> alter tablespace SYSAUX end backup;
表空间已更改。
SQL> alter tablespace SYSTEM end backup;
表空间已更改。
SQL> alter tablespace UNDOTBS1 end backup;
表空间已更改。
SQL> alter tablespace USERS end backup;
表空间已更改。
3.在数据库中创建一张表t1,表结构自定。在表中插入若干数据。破坏表t1所在的数据文件,使用热备份对其进行恢复。恢复后,查看表t1的状态。(请给出操作的全过程)
SQL> create table t1( classno CHAR(15) not null,classname VARCHAR2(20) not null
,headteacher VARCHAR2(20),primary key (classno)) tablespace users;
表已创建。
SQL> ALTER TABLE t1 ADD address varchar2(40);
表已更改。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 293601280 bytes
Fixed Size 1248600 bytes
Variable Size 117441192 bytes
Database Buffers 167772160 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
SQL> alter database archivelog;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> alter tablespace users begin backup;
表空间已更改。
SQL> host copy C:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF C:\oracle\produ
ct\10.2.0\oradata\orcl03
已复制 1 个文件。
SQL> shutdown abort;
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 293601280 bytes
Fixed Size 1248600 bytes
Variable Size 117441192 bytes
Database Buffers 167772160 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
SQL> recover database;
完成介质恢复。
SQL> alter database open;
数据库已更改。
4.使用expdp导出users表空间中的所有数据。使用expdp导出scott用户的dept表。
- 修改Scott密码并解锁
SQL> alter user scott identified by tiger account unlock;
- 操作系统中创建文件夹
D:\oracle\backup
- 命令行中创建目录及dumpdir对象,并且对scott用户授权
SQL> create or replace directory dumpdir as ‘d:\oracle\backup’;
目录已创建。
SQL> grant read,write on directory dumpdir to scott;
授权成功。
C:\Users\Administrator> expdp scott/tiger directory=dumpdir dumpfile=tsp.dmp tablespaces=users
C:\Users\Administrator>expdp scott/tiger directory=dumpdir dumpfile=emp_.dept.dm
p logfile=emp_dept.log tables=dept job_name=emp_dept_job parallel=3
C:\Users\Administrator>expdp scott/tiger directory=dumpdir dumpfile=tsp.dmp tablespaces=users
5.删除scott用户的dept表,并用impdp进行恢复。
SQL> drop table dept cascade constraints;
注意,退出数据库,在磁盘运行
C:\Users\Administrator>impdp scott/tiger directory=dumpdir dumpfile=emp_.dept.dmp tables=dept nologfile=yes content=data_only
6.实现教材151页, 9.2.5节, 3 数据库不完全恢复的示例。
6.1按照第2小题,对数据库进行一次归档模式下的完全备份
6.2创建表并进行删除操作,来模拟损坏文件
SQL> CREATE TABLE scott.test (ID NUMBER PRIMARY KEY, NAME CHAR(10));
表已创建。
SQL> set time on;
16:42:02 SQL> INSERT INTO scott.test VALUES(1, 'WANG');
已创建 1 行。
16:42:18 SQL> COMMIT;
提交完成。
16:42:28 SQL> ALTER SYSTEM SWITCH LOGFILE;
系统已更改。
16:42:36 SQL> INSERT INTO scott.test VALUES (2, 'ZHANG');
已创建 1 行。
16:42:42 SQL> COMMIT;
提交完成。
16:42:48 SQL> ALTER SYSTEM SWITCH LOGFILE;
系统已更改。
16:43:03 SQL> INSERT INTO scott.test VALUES(3, 'LI');
已创建 1 行。
16:43:15 SQL> COMMIT;
提交完成。
16:43:29 SQL> ALTER SYSTEM SWITCH LOGFILE;
系统已更改。
16:43:40 SQL> DELETE FROM scott.test WHERE id=2;
已删除 1 行。
16:43:46 SQL> COMMIT;
提交完成。
16:43:53 SQL> ALTER SYSTEM SWITCH LOGFILE;
系统已更改。
16:44:13 SQL> SELECT * FROM scott.test;
ID NAME
---------- ----------
1 WANG
3 LI
6.3采取不完全恢复,备份还原当前数据库所有数据文件
10:47:03 SQL> shutdown abort
ORACLE 例程已经关闭。
(在shutdown abort之后,在操作系统上面将之前备份的文件orcl02覆盖到orcl文件,再进行startup mount以及recover)
10:47:14 SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 293601280 bytes
Fixed Size 1248600 bytes
Variable Size 117441192 bytes
Database Buffers 167772160 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
10:48:22 SQL> recover database until time '2021-02-26 10:46:47';
ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误
ORA-01195: 文件 1 的联机备份需要更多的恢复来保持一致性
ORA-01110: 数据文件 1: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF'
10:48:43 SQL> recover database until time '2021-04-26 10:46:47';
完成介质恢复。
7.查询orcl数据库的所有控制文件。假定控制文件全部丢失且无备份,其它文件完好。试恢复数据库。(请给出故障模拟和恢复的全过程)
8.查询orcl数据库的联机日志文件。假定状态为inactive的日志文件(任选一个)损坏,其它文件完好。试恢复数据库。(请给出故障模拟和恢复的全过程)
SQL> select group#,sequence#,status,first_change# from v$log;
GROUP# SEQUENCE# STATUS FIRST_CHANGE#
---------- ---------- ---------------- -------------
1 11 INACTIVE 783074
2 12 CURRENT 805673
3 10 INACTIVE 763011
SQL> col member for a50;
SQL> select * from v$logfile;
GROUP# STATUS TYPE MEMBER
---------- ------- ------- --------------------------------------------------
IS_
---
3 STALE ONLINE C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
NO
2 ONLINE C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
NO
1 STALE ONLINE C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
NO
SQL> select group#,member from v$logfile where group#=1;
GROUP# MEMBER
---------- --------------------------------------------------
1 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 293601280 bytes
Fixed Size 1248600 bytes
Variable Size 100663976 bytes
Database Buffers 184549376 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
数据库已经打开。
SQL> select group#,sequence#,status from v$log where group#=1;
GROUP# SEQUENCE# STATUS
---------- ---------- ----------------
1 11 INACTIVE
SQL> alter database clear logfile group 1;
数据库已更改。
SQL> select group#,sequence#,status,first_change# from v$log;
GROUP# SEQUENCE# STATUS FIRST_CHANGE#
---------- ---------- ---------------- -------------
1 0 UNUSED 783074
2 12 CURRENT 805673
3 10 INACTIVE 763011
边栏推荐
猜你喜欢
数据库 单表查询
多线程查询结果,添加List集合
OFDM Lecture 16 5 -Discrete Convolution, ISI and ICI on DMT/OFDM Systems
雷克萨斯lm的安全性到底体现在哪里?一起来看看吧
【cesium】3D Tileset 模型加载并与模型树关联
Structured Light 3D Reconstruction (2) Line Structured Light 3D Reconstruction
Flutter learning three-Flutter basic structure and principle
【过一下8】全连接神经网络 视频 笔记
结构光三维重建(一)条纹结构光三维重建
【Transfer】What is etcd
随机推荐
【cesium】Load and locate 3D Tileset
The difference between span tag and p
shell函数
1068 Find More Coins
【过一下8】全连接神经网络 视频 笔记
Structured light 3D reconstruction (1) Striped structured light 3D reconstruction
Community Sharing|Tencent Overseas Games builds game security operation capabilities based on JumpServer
Geek卸载工具
Excel Paint
淘宝账号如何快速提升到更高等级
"PHP8 Beginner's Guide" A brief introduction to PHP
【Untitled】
【无标题】
Distributed systems revisited: there will never be a perfect consistency scheme...
2022杭电多校第一场01
【过一下9】卷积
一篇博客通关Redis技术栈
Using QR codes to solve fixed asset management challenges
LAB Semaphore Implementation Details
MySQL中控制导出文件后变为了\N有什么解决方案吗?