实验8 Oracle数据库备份与恢复
- 格式:doc
- 大小:548.00 KB
- 文档页数:18
第六章 oracle数据库的备份与恢复第一部分:数据库的备份备份的必要性因为各种人为或外界的因素可能会造成数据库中灾难性的数据丢失,为了保证数据库中数据的安全,必须采取备份措施保证RDBMS中包含的数据免遭破坏,而有效的备份是十分简单和普通的,是在数据库处于无法使用状态时用于重建数据库的重要信息拷贝。
在重要的修改如删除段或者表空间以前或以后执行适当的备份是相当必要的。
备份的种类:冷备份:一种最简单直接的备份方式,也称为脱机备份,但是必须关闭数据库,这对于当前7×24的有效性并不可取;联机热备:正如名称所示,是在数据库打开时执行的备份方式,进行联机备份比进行脱机备份的进程复杂;用导出exp应用程序备份:是对于脱机备份和联机备份类型的补充,因为它无法回滚,所以不能替代数据库文件的备份。
各种备份的原理和步骤:冷备份:关闭数据库,采取操作系统拷贝命令来完成对数据库的备份,然后启动数据库。
例如:将名为lyj的数据库作一个冷备份,备份的文件放置在/mnt/backup_wy/目录下。
首先找出控制文件、数据文件和redo日志文件的存储位置SQL> select name from v$controlfile ;NAME----------------------------------------------------/u3/oradata/lyj/control01.ctl/u3/oradata/lyj/control02.ctl/u3/oradata/lyj/control03.ctlSQL> select status,name from v$datafile ;STATUS NAME---------- ----------------------------------------SYSTEM /u3/oradata/lyj/system01.dbfONLINE /u3/oradata/lyj/tools01.dbfONLINE /u3/oradata/lyj/rbs01.dbfONLINE /u3/oradata/lyj/temp01.dbfONLINE /u3/oradata/lyj/users01.dbfONLINE /u3/oradata/lyj/indx01.dbfSQL> select * from v$logfile ;GROUP# STATUS MEMBER--------------------------------------------------------------------------------1/u3/oradata/lyj/redo01.log2 /u3/oradata/lyj/redo02.log3 /u3/oradata/lyj/redo03.log●关闭数据库:SQL> shutdown数据库已经关闭。
ORACLE数据库备份与恢复方案备份方案设计前提:数据库设置为归档模式,不使用恢复目录数据库1、一个月一次在线全库备份2、每天归档日志备份3、每周一次exp导出4、每天一次exp增量导出5、保留最近两次全备和归档日志的备份6、至少保留最近一个月exp文件7、既备份到磁盘也备份到磁带Win2000下oracle8i/9i的备份方案的实现说明:数据库实例:ora9i,备份目录为e:\backup每个月一次全备1、备份命令文件:fullbackup.batrman cmdfile=fullbackup.rcvcopy C:\oracle\oradata\ora9i\CONTROL01.CTL e:\backup\CONTROL01.CTL /y 2、RMAN参数文件:fullbackup.rcvconnect target system/manager@ora9i;run{allocate channel c1 type disk;backup full tag 'dbfull' format 'e:\backup\dbfull%u_%s_%p' database;sql 'alter system archive log current';backup archivelog all delete input format 'e:\backup\arch%u_%s_%p';release channel c1;}3、任务计划增加一个每月1号1点开始执行的任务计划fullbackup每天一次归档日志的备份1、备份命令文件:archbackup.batrman cmdfile=archbackup.rcv2、RMAN参数文件:archbackup.rcvconnect target system/manager@ora9i;run{allocate channel c1 type disk;sql 'alter system archive log current';backup archivelog all delete input format 'e:\backup\arch%u_%s_%p';release channel c1;}3、任务计划增加一个每天2点开始执行的任务计划archbackupUNIX下oracle8i/9i的备份方案的实现基本相同,但计划任务得用crontab来实现恢复方案设计Win2000下oracle8i/9i的恢复方案的实现一、故障描述:磁盘损坏,数据库彻底瘫痪处理方法:1、更换磁盘,重新安装ORACLE(如果数据库安装的磁盘也损坏的话),重新创建实例ora9i,让数据库处于shutdown状态。
实验8 Oracle数据库备份与恢复1 实验目得(1)掌握Oracle数据库各种物理备份方法。
(2)掌握Oracle数据库各种物理恢复方法。
(3)掌握利用RMAN工具进行数据库得备份与恢复。
(4)掌握数据得导入与导出操作、2实验要求(1)对BOOKSALES数据库进行一次冷备份。
(2)对BOOKSALES数据库进行一次热备份、(3)利用RMAN工具对BOOKSALES数据库得数据文件、表空间、控制文件、初始化参数文件、归档日志文件进行备份。
(4)利用热备份恢复数据库。
(5)利用RMAN备份恢复数据库。
(6)利用备份进行数据库得不完全恢复。
3实验步骤(1)关闭BOOKSALES数据库,进行一次完全冷备份。
select fromdba_data_files;selectmemberfrom v$logfile;select valuefromv$parameter where name='control_files’;(2)启动数据库后,在数据库中创建一个名为cold表,并插入数据,以改变数据库得状态。
CREATE TABLE COLD(ID NUMBER PRIMARY KEY,NAME VARCHAR2(25));(3) 利用数据库冷备份恢复BOOKSALES数据库到备份时刻得状态并查瞧恢复后就是否存在cold表。
(4) 将BOOKSALES数据库设置为归档模式。
1、1 shutdownimmediate 正常关闭数据1.2 startup mount;将数据库启动到mount状态3)、关闭flash闪回数据库模式,如果不关闭得话,在后面关闭归档日志得时候就会出现讨厌得ora-38774错误、alter database flashback off1、3alter database archivelog;发出设置归档模式得命令1.4 alter database open;打开数据库1、5 再次正常关闭数据库,并备份所有得数据文件与控制文件1.6archivelog list;在将数据库设置为归档模式后,可以执行此命令进行确认1、6、1Database logmode 为ArchiveMode说明当前得数据库为归档模式1、6。
1ORACLE 数据库数据备份和恢复操作手册1.1. ORACLE 参数设置进入 CMD 操作界面,使用sqlplus 连接数据库,图例 1 数据库连接操作连接语法: sqlplus system/Oracle2013@orcl参数说明参数说明备注sqlplus 语法命令system 数据库管理员用户名Oracle2013 system 用户密码数据库安装目录的tnsnames.ora 文件中可以找到orcl 数据库连接标示符Oracle11G 目录:C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN图例 2 成功连接数据库环境变量设置 (在 Sqlplus 中执行 )create or replace directory <dir_name> as‘c:\tmpdir’;参数说明参数说明备注dir_name c:\tmpdir 路径名称文件路径也可以是另外的随意目录,用单引号括起来。
图例 3 环境变量设置1.2.数据备份备份脚本: expdp system/Oracle2013@orcl directory=file_pathdumpfile=ARADMIN.dat logfile=ARADMIN.log schemas=ARADMIN参数说明参数说明备注expdp 语法命令system 数据库管理员用户名Oracle2013 system 用户密码数据库安装目录的 tnsnames.ora 文件中可以找到orcl 数据库连接标示符Oracle11G 目录:C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMINdirectory 文件目录名称导出数据库文件的存放目录dumpfile 数据库文件名称导出数据库文件的文件名logfile 数据库日志文件名称导出数据库的日志文件名称schemas 数据库用户操作:图例 4 数据库备份操作成功导出。
Oracle数据库备份与恢复的三种⽅法备份与恢复的三种⽅法Oracle数据库有三种标准的备份⽅法,它们分别是导出/导⼊(EXP/IMP)、热备份和冷备份。
导出备件是⼀种逻辑备份,冷备份和热备份是物理备份。
⼀、导出/导⼊(Export/Import) 利⽤Export可将数据从数据库中提取出来,利⽤Import则可将提取出来的数据送回到Oracle数据库中去。
1、简单导出数据(Export)和导⼊数据(Import) Oracle⽀持三种⽅式类型的输出: (1)、表⽅式(T⽅式),将指定表的数据导出。
(2)、⽤户⽅式(U⽅式),将指定⽤户的所有对象及数据导出。
(3)、全库⽅式(Full⽅式),瘵数据库中的所有对象导出。
数据导⼊(Import)的过程是数据导出(Export)的逆过程,分别将数据⽂件导⼊数据库和将数据库数据导出到数据⽂件。
2、增量导出/导⼊ 增量导出是⼀种常⽤的数据备份⽅法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。
在进⾏此种导出时,不要求回答任何问题。
导出⽂件名缺省为export.dmp,如果不希望⾃⼰的输出⽂件定名为export.dmp,必须在命令⾏中指出要⽤的⽂件名。
增量导出包括三种类型: (1)、“完全”增量导出(Complete) 即备份三个数据库,⽐如:exp system/manager inctype=complete file=040731.dmp (2)、“增量型”增量导出 备份上⼀次备份后改变的数据,⽐如:exp system/manager inctype=incremental file=040731.dmp (3)、“累积型”增量导出 累计型导出⽅式是导出⾃上次“完全”导出之后数据库中变化了的信息。
⽐如:exp system/manager inctype=cumulative file=040731.dmp 数据库管理员可以排定⼀个备份⽇程表,⽤数据导出的三个不同⽅式合理⾼效的完成。
实验8 Oracle数据库备份与恢复1 实验目的(1)掌握Oracle数据库各种物理备份方法。
(2)掌握Oracle数据库各种物理恢复方法。
(3)掌握利用RMAN工具进行数据库的备份与恢复。
(4)掌握数据的导入与导出操作。
2 实验要求(1)对BOOKSALES数据库进行一次冷备份。
(2)对BOOKSALES数据库进行一次热备份。
(3)利用RMAN工具对BOOKSALES数据库的数据文件、表空间、控制文件、初始化参数文件、归档日志文件进行备份。
(4)利用热备份恢复数据库。
(5)利用RMAN备份恢复数据库。
(6)利用备份进行数据库的不完全恢复。
3 实验步骤(1)关闭BOOKSALES数据库,进行一次完全冷备份。
select file_name from dba_data_files;select member from v$logfile;select value from v$parameter where name='control_files';(2)启动数据库后,在数据库中创建一个名为cold表,并插入数据,以改变数据库的状态。
CREATE TABLE COLD(ID NUMBER PRIMARY KEY,NAME VARCHAR2(25));(3)利用数据库冷备份恢复BOOKSALES数据库到备份时刻的状态并查看恢复后是否存在cold表。
(4)将BOOKSALES数据库设置为归档模式。
shutdown immediate 正常关闭数据startup mount;将数据库启动到mount状态3)、关闭flash闪回数据库模式,如果不关闭的话,在后面关闭归档日志的时候就会出现讨厌的ora-38774错误。
alter database flashback offalter database archivelog;发出设置归档模式的命令alter database open;打开数据库再次正常关闭数据库,并备份所有的数据文件和控制文件archive log list;在将数据库设置为归档模式后,可以执行此命令进行确认 Database log mode 为Archive Mode说明当前的数据库为归档模式Automatic archival为Enable说明启动了自动归档。
(5)对BOOKSALES数据库进行一次热备份。
select tablespace_name,file_name from dba_data_files order by tablespace_name;alter tablespace users begin backup;alter tablespace users end backup;alter database backup controLfile to 'G:\APP\LENOVO\BOOKSALES\'; alter database backup controlfile to trace;Alter system archive log current;Alter system switch logfile;(6)在数据库创建一个名为hot表,并插入数据库,以改变数据库的状态。
create table hot(id number primary key,name varchar2(25))2 tablespace users;insert into hot values(93,'panyifan');(7)假设保存hot表的数据文件损坏,利用热备份进行数据库恢复。
SQL> SHUTDOWN ABORTORACLE 例程已经关闭。
SQL> STARTUP MOUNTORACLE 例程已经启动。
SQL> ALTER DATABASE DATAFILE'G:\app\lenovo\BOOKSALES\'OFFLINE; SQL> ALTER DATABASE OPEN;SQL>RECOVER DATAFILE'G:\app\lenovo\BOOKSALES\';完成介质恢复。
SQL> alter database datafile'G:\app\lenovo\BOOKSALES\'online;(8)数据库恢复后,验证hot表的状态及其数据情况。
(9)利用数据库的热备份,进行基于时间的不完全恢复。
SQL> SHUTDOWN ABORTORACLE 例程已经关闭。
SQL> STARTUP MOUNTORACLE 例程已经启动。
recover database until time '2017-07-07';(10)为了使用RMAN工具备份与恢复BOOKSALES数据库,配置RMAN的自动通道分配。
connect target sys/liuqin@booksalesconfigure default device type to sbt;configure device type disk parallelism 2;configure device type disk parallelism 3;Configure channel 3 device type disk maxpiecesize=50m;(11)利用RMAN工具完全备份BOOKSALES数据库。
BACKUP DATABASE FORMAT 'G:\app\lenovo\product\';(12)利用RMAN工具备份BOOKSALES数据库的初始化参数文件和控制文件。
BACKUP SPFILE FORMAT 'G:\BACKUP\%U';RMAN> BACKUP CURRENT CONTROFILE FORMAT'G:\BACKUP\%';(13)利用RMAN工具对USERS表空间、BOOKTB1表空间进行备份。
BACKUP TABLESPACE users,BOOKTB1 FORMAT 'D:\BACKUP\%';(14)利用RMAN工具对BOOKSALES数据库的数据文件、进行备份。
BACKUP DATAFILE 'G:\app\lenovo\BOOKSALES\'FORMAT 'G:\app\lenovo\BOOKSALES\%u'; BACKUP DATAFILE 'G:\app\lenovo\BOOKSALES\'FORMAT 'G:\app\lenovo\BOOKSALES\%u';(15)利用RMAN工具备份BOOKSALES数据库形成的备份集,恢复数据库。
SHUT DOWN IMMEDIATE;STARTUP MOUNT;RESTORE DATABASE;RECOVER DATABASE;ALTER DATABASE OPEN;ALTER DATABASE OPEN RESETLOGS;(16)利用EXPDP工具导出BOOKSALES数据库的整个数据库。
create or replace directory dumpdir as 'D:\BACKUP';SQL> GRANT READ,WRITE ON DIRECTORY dumpdir TO human;SQL> grant exp_full_database,imp_full_database to human;expdp system/liuqin directory=dpum_dir DUMPFILE= FULL=YES NOLOGFILE=YES(17)利用EXPDP工具导出BOOKSALES数据库的USERS表空间。
Expdp system/tiger DIRECTORY=DPUMP_DIR DUMPFILE= FULL=YESNOLOGFILE=YES(18)利用EXPDP工具导出BOOKSALES数据库的publishers表和books表。
EXPDP SYSTEM/LIUQIN DIRECTORY=DPUMP_DIR DUMPFILE=LOGFILE= TABLES=, PARALLEL=3(19)利用EXPDP工具导出BOOKSALES数据库中bs模式下所有数据库对象及数据。
expdp bs/liuqin directory=dpum_dir DUMPFILE= FULL=YES NOLOGFILE=YES(20)删除BOOKSALES数据库中的orderitem表和order表,使用转储文件,利用IMPDP 工具进行恢复。
Drop table orderitem;Drop table order;Impdp scott/liuqin DIRECTORY=DPUMP_DIR DUMPFILE= TABLES=DEPT,EMPNOLOGFILE=Y4 实验总结本次实验主要内容为“Oracle数据库备份与恢复”,因此在以后的数据库应用中起到很重要的作用。
但本次实验有一定的难度,尤其老师还未在课堂讲过的利用RMAN工具,EXPDP工具,IMPDP工具进行备份,恢复,和导入导出数据,代码能够理解,但是用cmd启动expdp和impdp却未能解决。