用户管理的备份与恢复的初步学习笔记

这篇学习笔记详细介绍了Oracle数据库的备份与恢复操作,包括完全数据库脱机备份、部分数据库脱机和联机备份,以及用户管理的完全恢复机制。内容涵盖了数据文件的复制、表空间的离线与在线操作、归档日志模式和不同类型的恢复策略,如基于时间点、撤销和更改的不完全恢复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--19 数据备份

--19.3 完全数据库脱机备份
select * from dba_data_files;
select * from v$logfile;
--关闭数据库
shutdown immediate
--用操作命令直接copy文件备份
copy e:/app/oracle/oradata/orcl/control01.ctl e:/app/backup/control01.ctl
copy 日志文件、数据文件、控制文件、参数文件 到 backup目录
--sqlplus下启动数据库
SQL> conn / as sysdba;
已连接到空闲例程。
SQL> startup immediate
SP2-0714: 无效的        STARTUP 选项组合
SQL> startup immediate
SP2-0714: 无效的        STARTUP 选项组合
SQL> startup
ORACLE 例程已经启动。

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             222301060 bytes
Database Buffers          381681664 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。

 

 

--19.4 部分数据库脱机备份
注意,1不能将SYSTEM表空间脱机 2注意模式对象跨表空间存储
--查询表空间所在的数据文件
select * from dba_data_files where tablespace_name='TESTSPACE';
--将表空间设置成脱机状态
alter tablespace testspace offline;
--手动copy数据文件到备份目录
alter tablespace testspace online;

--19.5 部分数据库联机备份
可以对一个表空间的所有数据文件进行备份,也可以对表空间的某一个数据文件进行备份。
SQL> conn sys/sys@orcl as  sysdba;
已连接。
SQL> alter tablespace testspace offline;
表空间已更改。
SQL> alter tablespace testspace online;
表空间已更改。
SQL>archive log list;
--确定数据库日志模式为归档模式
--把表空间设置为开始备份状态
SQL>alter tablespace testspace begin backup;
--确定数据文件状况
SQL>select a.file#, a.checkpoint_change#, b.file_name
    from v$datafile a, dba_data_files b
    where a.file#=b.file_id;
SQL>shutdown immediate;   
ORA-01149: 无法关闭 - 文件 10 设置了联机备份
ORA-01110: 数据文件 10: 'D:/APP/MYSPACE/TESTSPACE.DBF'
--执行备份操作
c:/> copy e:/app/myspace/TESTSPACE.DBF e:/app/backup/TESTSPACE.DBF
--把表空间设置为结束备份状态
SQL>alter tablespace testspace end backup;

--19.6 用户管理的完全恢复机制
当数据文件出现介质失败时,使用操作系统即令转储数据文件,并使用sql恢复命令执行重做日志和归档日志,
最终将数据文件恢复到失败点之前的状态。
分为以下2个步骤:
1,当发生介质故障后,利用备份文件来修复损坏或丢失的数据文件。
2,修复数据文件后,因为被修复的数据文件与其他数据文件相比要”旧“
  ,所以这时,数据库中的数据文件并不同步(文件头部信息中的检查点号SCN不同)。
  由于数据文件之间不一致,数据库仍然无法打开,这时候就需要通过sql命令,使用归档日志对数据库进行恢复。
 
恢复命令
1 recover database;
  用于恢复数据库的多个数据文件,只在mount状态下使用
2 recover tablespace;
  用于恢复一个或多个表空间的所有数据文件,只在open状态下运行
3 recover datafile 4
  用于恢复一个或者多个数据文件,该命令可以在mount或者open状态下运行
  或者再recover命令中指定归档日志位置,如下:
  recover from 'f:/oracle11g/orcl0025_069817.001' datafile 4;
  可以可以在recover命令当中指定自动应用归档日志,如下:
  recover automatic datafile 4;
 
--19.7 oracle 不完全恢复机制
1,基于时间点恢复
   语句如下
   recover database until time time1;
   如果控制文件时利用备份修改的,那么必须在recover语句中使用 using backup controlfile子句如下:
   recover database until time time1 using backup controlfile;

2, 基于撤销的不完全恢复
    在基于撤销的不完全恢复过程中,dba需要对恢复过程进行控制,
    在某一个恢复点可撤销指定的操作。
    当一个或者多个联机日志文件由于介质故障被破坏掉,不能实施完全数据库恢复时候,可以
    进行基于撤销的恢复,将数据库恢复到最近的未破坏时的日志文件后中止恢复过程,数据库
    将从这一点重新运行。
    基于撤销的恢复的使用语句如下:
    recover database until cancel; 
 
3, 基于更改的恢复
   这是最准确的恢复,这种恢复方式使用scn号信息。如果dba确定引发错误的事务分配的scn号后,
   可以将数据库恢复到该错误之间的事务。
   基于更改的不完全恢复使用的语句如下:
   recover database until change sch_number;
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值