Oracle数据库基于用户管理的备份与恢复

Oracle数据库中,数据库文件的备份与恢复可以有很多的方式来实现,本文我们介绍一种基于用户管理的备份与恢复。基于用户管理的备份是指使用OS命令来备份数据库物理文件。

创新互联建站2013年开创至今,是专业互联网技术服务公司,拥有项目成都网站设计、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元永兴做网站,已为上家服务,为永兴各地企业和个人服务,联系电话:13518219792

备份数据库

数据库一致性备份:关闭数据库以后备份数据库物理文件,这时数据文件scn值完全一致,所以称之为数据库的一致性备份或冷备份,适用于归档模式与非归档模式。

对基于用户管理的冷备份的暂时理解:在数据库shutdown状态下使用OS命令直接拷贝数据库物理文件。

数据库非一致性备份:在open状态下备份数据库物理文件,这时数据库内容可能会改变导致数据文件scn不一致,所以称之为数据库的非一致性备份或热备份,只适用于归档模式。

基于用户管理的完全恢复(归档模式下)

1.在open状态下备份数据库物理文件(数据库非一致性备份,热备份,不影响业务运行)

2.删除数据文件来模拟文件丢失(只是删除了所有的数据文件;控制文件等其它文件处于正常状态)

3.对数据文件进行恢复

4.应用归档日志

5.查看数据是否完全恢复

 
 
 
  1. SQL> conn evan/evan
  2. Connected.
  3. SQL> insert into t_evan values('oracle');
  4. 1 row created.
  5. SQL> insert into t_evan values('java');
  6. 1 row created.
  7. SQL> commit;
  8. Commit complete.
  9. SQL> select * from t_evan;
  10. TEXT
  11. --------------------------------------------------------------------------------
  12. oracle
  13. java
  14. --sysdba执行备份
  15. SQL> conn / as sysdba
  16. Connected.
  17. SQL> select name from v$datafile;
  18. NAME
  19. --------------------------------------------------------------------------------
  20. /oracle/10g/oracle/product/10.2.0/oradata/oralife/system01.dbf
  21. /oracle/10g/oracle/product/10.2.0/oradata/oralife/undotbs01.dbf
  22. /oracle/10g/oracle/product/10.2.0/oradata/oralife/sysaux01.dbf
  23. /oracle/10g/oracle/product/10.2.0/oradata/oralife/users01.dbf
  24. /oracle/10g/oracle/product/10.2.0/oradata/oralife/example01.dbf
  25. SQL> alter database begin backup;
  26. Database altered.
  27. SQL> host cp /oracle/10g/oracle/product/10.2.0/oradata/oralife/*.dbf /oracle/10g/oracle/bakup/database/   --备份所有数据文件
  28. SQL> alter database backup controlfile to '/oracle/10g/oracle/bakup/database/oralife.ctl';  --备份控制文件
  29. Database altered.
  30. -----------------------------------------------------------------------------------------------------------------------------------------
  31. 忘记了alter database end backup;
  32. -----------------------------------------------------------------------------------------------------------------------------------------
  33. SQL> alter system archive log current; --归档当前日志组
  34. System altered.

使用rm删除所有数据文件(*.dbf);

 
 
 
  1. SQL> conn evan/evan
  2. Connected.
  3. SQL> select * from t_evan;
  4. TEXT
  5. --------------------------------------------------------------------------------
  6. oracle
  7. java
  8. SQL> insert into t_evan values('spring');
  9. 1 row created.
  10. SQL> commit;
  11. Commit complete.
  12. SQL> ALTER SYSTEM CHECKPOINT; --将已修改的数据从高速缓存刷新到磁盘,并更新控制文件和数据文件
  13. System altered.
  14. SQL> ALTER SYSTEM SWITCH LOGFILE;  --日志切换
  15. System altered.

查看alter_oralife.log出现错误信息:某些文件不存在

进行完全恢复

copy备份的数据文件到指定的目标位置,进行恢复:

 
 
 
  1. SQL> recover database --open状态
  2. ORA-00283: recovery session canceled due to errors
  3. ORA-01124: cannot recover data file 1 - file is in use or recovery
  4. ORA-01110: data file 1:
  5. '/oracle/10g/oracle/product/10.2.0/oradata/oralife/system01.dbf'
  6. SQL> shutdown immediate --open状态
  7. ORA-01122: database file 1 failed verification check
  8. ORA-01110: data file 1: '/oracle/10g/oracle/product/10.2.0/oradata/oralife/system01.dbf'
  9. ORA-01208: data file is an old version - not accessing current version
  10. SQL> startup force mount;  --进入mount状态进行恢复
  11. ORACLE instance started.
  12. Total System Global Area  528482304 bytes
  13. Fixed Size                  1220360 bytes
  14. Variable Size             163578104 bytes
  15. Database Buffers          356515840 bytes
  16. Redo Buffers                7168000 bytes
  17. Database mounted.
  18. SQL> recover database
  19. Media recovery complete.
  20. SQL> alter database open;
  21. Database altered.
  22. SQL> conn evan/evan --使用evan登录查看恢复情况
  23. Connected.
  24. SQL> select * from t_evan;
  25. TEXT
  26. --------------------------------------------------------------------------------
  27. oracle
  28. java
  29. spring

没有出现应用归档日志,应用归档日志有几种方式:

Specify log: {=suggested | filename | AUTO | CANCEL}

当在open状态下对数据文件进行恢复时,应该将其offline,恢复完成后,再将其online;所有的恢复应该尽量在open状态下完成。

要理解checkpoint, alter system archive log current;,ALTER SYSTEM SWITCH LOGFILE。

关于Oracle数据库基于用户管理的备份与恢复就介绍到这里,希望通过本次的介绍能够带给您一些收获。

当前文章:Oracle数据库基于用户管理的备份与恢复
文章URL:http://www.hantingmc.com/qtweb/news38/286088.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联