Oracle数据库物理文件备份/恢复

简介:
之前也写过一篇类似的,虽然恢复不成问题,但总感觉有不对的地方,后面才了解到,以前自己有存在误区的地方,重新用此文方法简便得多。
  环境:CentOS release 5.6 (Final)
   Oracle Database Release 11.2.0.1.0
   1、解压压缩好的数据库文件到相应目录
  [root@OATest oabak]# tar -jxvf testoa_20140702.tar.bz2
   2、还原文件
  [root@OATest temp]# su - oracle
  [oracle@OATest /]$ export ORACLE_SID=testoa
  [oracle@OATest /]$ sqlplus "/as sysdba";
  OPEN_MODE
  --------------------
  READ WRITE
   3、关闭数据库
  SQL> shutdown immediate;
  Database closed.
  Database dismounted.
  ORACLE instance shut down.
  SQL> exit
   4、在sql模式下直接质数据库物理文件至相应的目录(先显示各类文件的路径所在,后拷贝到相应路径)
--显示控制文件
select name from v$controlfile;
--显示数据文件
select name from v$datafile;
--显示延续性的初始化参数文件(延续性:对初始化参数的在线修改可以直接作用到参数文件中)
show parameter spfile;
--显示日志文件
select member from v$logfile;
--orapwORACLESIDpasswordfileORACLE_HOME/dbs/orapw$ORACLE_SID    //跟备份关系不大,可以随时生成。
[oracle@OATest temp]$ sqlplus "/as sysdba";
host cp /usr/oabak/temp/control01.ctl /app/oracle/oradata/testoa/control01.ctl
host cp /usr/oabak/temp/control02.ctl /app/oracle/flash_recovery_area/testoa/control02.ctl
host cp /usr/oabak/temp/system01.dbf /app/oracle/oradata/testoa/system01.dbf
host cp /usr/oabak/temp/sysaux01.dbf /app/oracle/oradata/testoa/sysaux01.dbf
host cp /usr/oabak/temp/undotbs01.dbf /app/oracle/oradata/testoa/undotbs01.dbf
host cp /usr/oabak/temp/users01.dbf /app/oracle/oradata/testoa/users01.dbf
host cp /usr/oabak/temp/redo03.log /app/oracle/oradata/testoa/redo03.log
host cp /usr/oabak/temp/redo02.log /app/oracle/oradata/testoa/redo02.log
host cp /usr/oabak/temp/redo01.log /app/oracle/oradata/testoa/redo01.log
host cp /usr/oabak/temp/spfileORACLESID.oraORACLE_HOME/dbs/
host cp /usr/oabak/temp/orapwORACLESIDORACLE_HOME/dbs/
  --要删除临时文件, 重启的时候会自动创建temp01.dbf
  若不删除临时文件,会出现下面的报错:
  ORA-01187: cannot read from file  because it failed verification tests
  ORA-01110: data file 201: '/app/oracle/oradata/testoa/temp01.dbf'
  恢复文件时候没有删除,旧的临时表空间数据文件(300MB),无法创建新的临时表空间文件(500MB) ..所以一直报错
  5、启动数据库
SQL> startup
ORACLE instance started.
Total System Global Area 4275781632 bytes
Fixed Size                  2220200 bytes
Variable Size            2113933144 bytes
Database Buffers         2147483648 bytes
Redo Buffers               12144640 bytes
Database mounted.
Database opened.
SQL> exit
   6、修改用户密码
  SQL> alter user oaadmin identified by oaadmin;
  User altered.
   7、解锁帐户
  SQL> alter user oaadmin account unlock;
  User altered.
  上面第4步也可以利用一条命令直接处理:
select 'host cp /u03/backup/'||substr(name,(instr(name,'/',-1)+1))||
' '||name from v$controlfile
union all
select 'host cp /u03/backup/'||substr(name,(instr(name,'/',-1)+1))||
' '||name from v$controlfile
union all
select 'host cp /u03/backup/'||substr(member,(instr(member,'/',-1)+1))
||' '||member from v$logfile
union all
select 'host cp /u03/backup/spfileORACLESID.oraORACLE_HOME/dbs/'
from dual
union all
select 'host cp /u03/backup/orapwORACLESIDORACLE_HOME/dbs/'
from dual;
最新内容请见作者的GitHub页:http://qaseven.github.io/
目录
打赏
0
0
0
0
192
分享
相关文章
【Oracle】使用Navicat Premium连接Oracle数据库两种方法
以上就是两种使用Navicat Premium连接Oracle数据库的方法介绍,希望对你有所帮助!
104 28
【赵渝强老师】Oracle的闪回数据库
Oracle闪回数据库功能类似于“倒带按钮”,可快速将数据库恢复至 earlier 状态,无需还原备份。本文介绍了闪回数据库的使用方法及实战案例:包括设置归档模式、开启闪回功能、记录SCN号、执行误操作后的恢复步骤等。通过具体 SQL 操作演示了如何利用闪回数据库恢复被误删的用户数据。注意,使用此功能前需确保数据库为归档模式。
【赵渝强老师】Oracle数据库的闪回表
本文介绍了Oracle数据库中的闪回表(Flashback Table)功能,它能够将表的数据快速恢复到特定时间点或系统改变号(SCN),无需备份。文章通过实战示例详细演示了如何使用闪回表恢复数据,包括授权、创建测试表、记录时间与SCN号、删除数据、启用行移动功能、执行闪回操作以及验证恢复结果等步骤。同时,还展示了如何通过触发器禁止插入操作,并在闪回过程中处理触发器的启用问题。文末附有视频讲解,帮助读者更好地理解闪回表的使用方法。
63 10
【赵渝强老师】Oracle数据库的闪回查询
本文介绍了Oracle数据库的闪回查询(Flashback Query)功能及其实际应用。闪回查询通过`AS OF`子句,结合时间戳或SCN号,可查询历史数据状态,帮助分析数据差异。文中通过具体示例演示了如何使用闪回查询:创建测试表、记录当前SCN号、更新数据并提交事务,最后通过闪回查询获取历史数据。附带的视频和代码块详细展示了操作步骤与结果。
【赵渝强老师】Oracle数据库的闪回技术
在Oracle数据库操作中,难免会遇到误删表或提交错误事务等问题,可能导致数据丢失甚至数据库停止运行。传统解决方法依赖备份恢复,但需提前准备正确备份。为此,Oracle提供了闪回技术,无需备份即可快速恢复数据。它支持7种类型的操作,如闪回查询、版本查询、表恢复等,能有效应对逻辑损坏和用户错误。闪回技术基于还原(undo)数据管理,启用自动管理后可实现高效恢复。
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
docker拉取MySQL后数据库连接失败解决方案
通过以上方法,可以解决Docker中拉取MySQL镜像后数据库连接失败的常见问题。关键步骤包括确保容器正确启动、配置正确的环境变量、合理设置网络和权限,以及检查主机防火墙设置等。通过逐步排查,可以快速定位并解决连接问题,确保MySQL服务的正常使用。
245 82
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
244 42

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等