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

--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;
  

你可能感兴趣的:(oracle,sql,数据库,数据备份,database,System)