实验8 Oracle数据库备份与恢复.docx
《实验8 Oracle数据库备份与恢复.docx》由会员分享,可在线阅读,更多相关《实验8 Oracle数据库备份与恢复.docx(17页珍藏版)》请在冰豆网上搜索。
实验8Oracle数据库备份与恢复
实验8Oracle数据库备份与恢复
1实验目的
(1)掌握Oracle数据库各种物理备份方法。
(2)掌握Oracle数据库各种物理恢复方法。
(3)掌握利用RMAN工具进行数据库的备份与恢复。
(4)掌握数据的导入与导出操作。
2实验要求
(1)对BOOKSALES数据库进行一次冷备份。
(2)对BOOKSALES数据库进行一次热备份。
(3)利用RMAN工具对BOOKSALES数据库的数据文件、表空间、控制文件、初始化参数文件、归档日志文件进行备份。
(4)利用热备份恢复数据库。
(5)利用RMAN备份恢复数据库。
(6)利用备份进行数据库的不完全恢复。
3实验步骤
(1)关闭BOOKSALES数据库,进行一次完全冷备份。
selectfile_namefromdba_data_files;
selectmemberfromv$logfile;
selectvaluefromv$parameterwherename='control_files';
(2)启动数据库后,在数据库中创建一个名为cold表,并插入数据,以改变数据库的状态。
CREATETABLECOLD(
IDNUMBERPRIMARYKEY,
NAMEVARCHAR2(25)
);
(3)利用数据库冷备份恢复BOOKSALES数据库到备份时刻的状态并查看恢复后是否存在cold表。
(4)将BOOKSALES数据库设置为归档模式。
1.1shutdownimmediate正常关闭数据
1.2startupmount;将数据库启动到mount状态
3)、关闭flash闪回数据库模式,如果不关闭的话,在后面关闭归档日志的时候就会出现讨厌的ora-38774错误。
alterdatabaseflashbackoff
1.3alterdatabasearchivelog;发出设置归档模式的命令
1.4alterdatabaseopen;打开数据库
1.5再次正常关闭数据库,并备份所有的数据文件和控制文件
1.6 archiveloglist;在将数据库设置为归档模式后,可以执行此命令进行确认
1.6.1Databaselogmode为ArchiveMode说明当前的数据库为归档模式
1.6.2Automaticarchival为Enable说明启动了自动归档。
(5)对BOOKSALES数据库进行一次热备份。
selecttablespace_name,file_namefromdba_data_filesorderbytablespace_name;
altertablespaceusersbeginbackup;
altertablespaceusersendbackup;
alterdatabasebackupcontroLfileto'G:
\APP\LENOVO\BOOKSALES\CONTROL1.BKP';
alterdatabasebackupcontrolfiletotrace;
Altersystemarchivelogcurrent;
Altersystemswitchlogfile;
(6)在数据库创建一个名为hot表,并插入数据库,以改变数据库的状态。
createtablehot(idnumberprimarykey,namevarchar2(25))
2tablespaceusers;
insertintohotvalues(93,'panyifan');
(7)假设保存hot表的数据文件损坏,利用热备份进行数据库恢复。
SQL>SHUTDOWNABORT
ORACLE例程已经关闭。
SQL>STARTUPMOUNT
ORACLE例程已经启动。
SQL>ALTERDATABASEDATAFILE'G:
\app\lenovo\BOOKSALES\USERS01.DBF'OFFLINE;
SQL>ALTERDATABASEOPEN;
SQL>RECOVERDATAFILE'G:
\app\lenovo\BOOKSALES\users01.dbf';
完成介质恢复。
SQL>alterdatabasedatafile'G:
\app\lenovo\BOOKSALES\users01.dbf'online;
(8)数据库恢复后,验证hot表的状态及其数据情况。
(9)利用数据库的热备份,进行基于时间的不完全恢复。
SQL>SHUTDOWNABORT
ORACLE例程已经关闭。
SQL>STARTUPMOUNT
ORACLE例程已经启动。
recoverdatabaseuntiltime'2017-07-07';
(10)为了使用RMAN工具备份与恢复BOOKSALES数据库,配置RMAN的自动通道分配。
connecttargetsys/liuqin@booksales
configuredefaultdevicetypetosbt;
configuredevicetypediskparallelism2;
configuredevicetypediskparallelism3;
Configurechannel3devicetypediskmaxpiecesize=50m;
(11)利用RMAN工具完全备份BOOKSALES数据库。
BACKUPDATABASEFORMAT'G:
\app\lenovo\product\11.2.0\dbhome_1\inventory\backup\%U.BKP';
(12)利用RMAN工具备份BOOKSALES数据库的初始化参数文件和控制文件。
BACKUPSPFILEFORMAT'G:
\BACKUP\%U';
RMAN>BACKUPCURRENTCONTROFILEFORMAT'G:
\BACKUP\%U.CTL';
(13)利用RMAN工具对USERS表空间、BOOKTB1表空间进行备份。
BACKUPTABLESPACEusers,BOOKTB1FORMAT'D:
\BACKUP\%U.BKP';
(14)利用RMAN工具对BOOKSALES数据库的数据文件user01.dbf、user02.dbf进行备份。
BACKUPDATAFILE'G:
\app\lenovo\BOOKSALES\USERS01.DBF'FORMAT'G:
\app\lenovo\BOOKSALES\%u';
BACKUPDATAFILE'G:
\app\lenovo\BOOKSALES\USERS02.DBF'FORMAT'G:
\app\lenovo\BOOKSALES\%u';
(15)利用RMAN工具备份BOOKSALES数据库形成的备份集,恢复数据库。
SHUTDOWNIMMEDIATE;
STARTUPMOUNT;
RESTOREDATABASE;
RECOVERDATABASE;
ALTERDATABASEOPEN;
ALTERDATABASEOPENRESETLOGS;
(16)利用EXPDP工具导出BOOKSALES数据库的整个数据库。
createorreplacedirectorydumpdiras'D:
\BACKUP';
SQL>GRANTREAD,WRITEONDIRECTORYdumpdirTOhuman;
SQL>grantexp_full_database,imp_full_databasetohuman;
expdpsystem/liuqindirectory=dpum_dirDUMPFILE=expfull.dmpFULL=YESNOLOGFILE=YES
(17)利用EXPDP工具导出BOOKSALES数据库的USERS表空间。
Expdpsystem/tigerDIRECTORY=DPUMP_DIRDUMPFILE=EXPFULL.DMPFULL=YES
NOLOGFILE=YES
(18)利用EXPDP工具导出BOOKSALES数据库的publishers表和books表。
EXPDPSYSTEM/LIUQINDIRECTORY=DPUMP_DIRDUMPFILE=PUBLISHERS_BOOKS.DMP
LOGFILE=PUBLISHERS_BOOKS.LOGTABLES=scott.emp,scott.deptPARALLEL=3
(19)利用EXPDP工具导出BOOKSALES数据库中bs模式下所有数据库对象及数据。
expdpbs/liuqindirectory=dpum_dirDUMPFILE=expfull.dmpFULL=YESNOLOGFILE=YES
(20)删除BOOKSALES数据库中的orderitem表和order表,使用转储文件,利用IMPDP工具进行恢复。
Droptableorderitem;
Droptableorder;
Impdpscott/liuqinDIRECTORY=DPUMP_DIRDUMPFILE=EMP_DEPT.DMPTABLES=DEPT,EMP
NOLOGFILE=Y
4实验总结
本次实验主要内容为“Oracle数据库备份与恢复”,因此在以后的数据库应用中起到很重要的作用。
但本次实验有一定的难度,尤其老师还未在课堂讲过的利用RMAN工具,EXPDP工具,IMPDP工具进行备份,恢复,和导入导出数据,代码能够理解,但是用cmd启动expdp和impdp却未能解决。