Oracle 11g数据库基础教程(第2版)-课后习题-第十四章

--第十四章
--1.对HUMAN_RESOURCE数据库进行冷备份
	--1.启动sqlplus,以sysdba身份登录数据库
	--2.查询当前数据库所有数据文件、控制文件、联机重做日志文件的位置
	select file_name from dba_data_files;
	select member from v$logfile;
	select value from v$parameter where name='control_files';
	--3.关闭数据库
	shutdown immediate;
	--4.复制所有数据文件、联机重做日志文件以及控制文件到备份磁盘
	--可以直接在操作系统中使用复制、粘粘方式进行,也可以使用下面的操作系统命令完成:
	host copy 原文件 目标文件
	startup
--2.对HUMAN_RESOURCE数据库进行一次完全的热备份
	--1.启动sqlplus,以sysdba身份登录数据库
	--2.将数据库设置为归档模式
		--1.将数据库启动到加载状态
		startup mount;
		--2.改变数据库归档模式
		--归档
		alter database archivelog;
		--非归档
		alter database noarchivelog;
		--3.打开数据库
		alter database open;
	--3.以表空间为单位,进行数据文件备份
		--1.查看当前数据库有哪些表空间,以及每个表空间中有哪些数据文件
		select tablespace_name,file_name from dba_data_files order by tablespace_name;
		--2.分别对每个表空间中的数据文件进行备份,其方法为:
			--1.将需要备份的表空间设置为备份状态
			alter tablespace users begin backup;
			--2.将表空间中所有的数据文件复制到备份磁盘
			--3.结束表空间的备份状态
			alter tablespace users end backup;
			--4.对数据库中所有表空间分别采用该步骤进行备份
	--4.备份控制文件
		--1.将控制文件备份为二进制文件:
		alter database backup controlfile to 目标文件;
		--2.将控制文件备份为文本文件:
		alter database backup controlfile to trace;
	--5.备份其他物理文件
		alter system archive log current;
		--1.归档当前的联机重做日志文件,也可以通过日志切换完成
		alter system switch logfile;
		--2.备份归档日志文件,将所有的归档日志文件复制到备份磁盘中
		--3.备份初始化参数文件,将初始化参数文件复制到备份磁盘中
--3.备份HUMAN_RESOURCE数据库的控制文件
-------------------------------------------------------------------------
--非归档模式下的恢复
	--1.关闭数据库
	shutdown immediate
	--2.备份所有文件
	--3.重新启动数据库
	startup
--归档模式下的完全恢复
	--数据库级
		--1.如果没有关闭,则强制关闭
		shutdown abort
		--2.利用备份的数据文件换元所有损坏的数据文件
		--3.将数据库启动到mount状态
		startup mount
		--4.执行数据库恢复命令
		recover database
		--5.打开数据库
		alter database open;
	--表空间级
		--数据库处于装载状态下的恢复
			--1.如果数据库没有关闭,则强制关闭数据库
			shutdown abort
			--2.利用备份的数据文件还原损坏的数据文件
			--3.将数据库启动到mount状态
			startup mount
			--4.执行表空间恢复命令
			recover tablespace example
			--5.打开数据库
			alter database open;
		--数据库处于打开状态下的恢复
			--1.如果数据库已经关闭,则将数据库启动到mount状态
			startup mount
			--2.将损坏的数据文件设置为脱机状态
			alter database datafile 目标文件 offline;
			--3.打开数据库
			alter database open;
			--4.将损坏的数据文件所在的表空间脱机
			alter tablespace example offline for recover;
			--5.利用备份的数据文件还原损坏的数据文件
			--6.执行表空间恢复命令
			recover tablespace example;
			--7.将表空间联机
			alter tablespace example online;
	--数据文件级
		--数据库处于装载状态下的恢复
			--1.如果数据库没有关闭,则强制关闭数据库
			shutdown abort
			--2.利用备份的数据文件还原损坏的数据文件
			--3.将数据库启动到mount状态
			startup mount
			--4.执行数据文件恢复命令
			recover datafile 目标文件
			--5.将数据文件联机
			alter database datafile 目标文件 online;
			--6.打开数据库
			alter database open;
		--数据库处于打开状态下的恢复
			--1.如果数据库已经关闭,则将数据库启动到mount状态
			startup mount
			--2.将损坏的数据文件设置为脱机状态
			alter database  datafile 目标文件 offline;
			--3.打开数据库
			alter database open;
			--4.利用备份的数据文件还原损坏的数据文件
			--5.执行数据文件恢复命令
			recover datafile 目标文件;
			--6.将数据文件联机
			alter database datafile 目标文件 online;
--归档模式下的不完全恢复
	--数据文件级
		--1.如果数据库没有关闭,则强制关闭数据库
		shutdown abort
		--2.用备份的所有数据文件还原当前数据库的所有数据文件,即将数据库的所有数据文件恢复到备份时刻的状态
		--3.将数据库启动到mount状态
		startup mount
		--4.执行数据文件的不完全恢复命令
		recover database until time;--基于时间恢复
		recover database until cancel;--基于撤销恢复
		recover database until change scn;--基于scn恢复
		--可以通过查询数据字典视图v$log_history获得时间和scn的信息
		--5.不完全恢复完成后,使用resetlogs选项启动数据库
		alter database open resetlogs;
	--控制文件级
		--1.如果数据库没有关闭,则强制关闭数据库
		shutdown abort
		--2.用备份的所有数据文件还原当前数据库的所有数据文件,即将数据库的所有数据文件恢复到备份时刻的状态
		--3.将数据库启动到mount状态
		startup mount
		--4.执行不完全恢复命令
		recover database until Time time using backup controlfile;
		recover database until CANCEL using backup controlfile;
		recover database until CHANGE scn using backup controlfile;
		--5不完全恢复完成后,使用resetlogs选项启动数据库
		alter database open resetlogs;

你可能感兴趣的:(Oracle,11g)