cike0415 发表于 2015-6-17 09:28:00

重要oracle 热备份和恢复#ocp试验#|归档模式打开|

  热备份:在oracle正常运转没有shutdown情况下的备份,
  两个前提条件
  a,archivelog 归档模式打开
  b,需要备份的表空间置于备份模式
  1,SYS@ncbeta>archive log;
  如果不是归档模式,就需要
  归档模式-mount下操作
  SQL> alter database archivelog;

  补充:
  logfile 日志文件
  select GROUP#, STATUS, TYPE, MEMBER from v$logfile;


  v$archived_log 归档日志


  
  2,为了让表空间置于备份模式,需要查询修改表在那个表空间
  >select owner,table_name,tablespace_name from dba_all_tables where taBLe_name='EMP';

  或者在scott下
  SCOTT@ncbeta>select TABLESPACE_NAME from tabs where TABLE_NAME = 'EMP';

  补充 select tname from tab;--查看用户下的表
  3,select * from v$backup;
  

  11个not active的表空间(?)
  查看表空间
  selectSTATUS , TABLESPACE_NAME from dba_tablespaces;

  12行,并不是和v$backup一一对应
  ALTER SYSTEM SET LOG_ARCHIVE_START=TRUE SCOPE=SPFILE;//重启数据库 ?干嘛的
  4,将tablespace至于备份状态
  SYS@jsce>alter tablespace users begin backup;

  此时,file4的v$backup 改变

  问:file#4和users 表空间是什么对应关系?
  答:file#是数据文件号
  SYS@ncbeta>select file#, name from v$datafile;
  
  扩展:使用alter database begin backup;可以一次性将所有tablespace至于备份模式
  
  5,拷贝(备份)上面的数据文件
  select* from dba_data_files 可以看到表空间在那个数据文件
  
  
  6,关闭表空间的归档模式
  SYS@jsce>alter tablespace users end backup;

  8,让数据库写入归档
  >alter system checkpoint; (ALTER SYSTEM SWITCH LOGFILE;//切换日志,使当前日志归档)?另文为什么不是alter
   database
  9,更新数据
  SCOTT@jsce>insert into emp values(1100,'sumsen','account',7902,to_date('2006-06-04','yyyy-mm-dd'),8800,null,20);
  
  
  是不是我的undo_managerment为manual导致
  
  
  问:热备份和回滚段、撤销表空间的关系?必须auto?
  测试在manual 下将rollback online就可以insert

  10,将users表空间脱机之后删除
  问:这个时候是不是还要alter system checkpoint;?
  
  
  为什么这个时候不让我删除USERS01.DBF,还有其他的表(表空间)在这个数据文件?
  在shutdown之后的startup mount下删除(mount不访问数据文件)

  alter database open
  ⊙﹏⊙b汗,直接打开了,没有报找不到dbf
  
  
  问老师

  此后,关闭数据库,从之前移动的users01 dbf复原,然后startuup 没有报错

  1.9号 更新
  在undo management为auto下
  在scott下的users tablespace创建表
  打算移走的时候不让offline

  end backup归档模式之后可以了

  新建表插入之后,alter system checkpoint,copy走dbf数据文件,再insert 一条数据
  关闭数据库,删除USERS01.DBF,启动数据库,报错

  这个时候关闭数据库,将备份的dbf复制到数据库,startup
  提示需要数据文件4(即是刚才删掉的数据文件,DATA FILE 4只是 个代号,也有可能是DATA FILE 1,DATA FILE 2)
  恢复只需使用recover datafile 4

  查询时候报错,说数据库没有打开
  使用alter database open

  查询 有了五条信息,完全恢复
  
  
页: [1]
查看完整版本: 重要oracle 热备份和恢复#ocp试验#|归档模式打开|