Oracle数据库三种备份方式介绍
冷备份
备份
直接拷贝oracle目录下的admin、oradata(datafile, controlfile,redo)、flash_recovery_area三个文件夹,db_1目录下database(PWDfile、pfile)、dbs(spfile)、NETWORK/ADMIN(listener.ora、tnsnames.ora),到其他存储实现备份。
恢复
方法一:最简单的方法(需建库)
1.创建一个和原来一样的数据库。(安装路径和数据库名必须和原来一致)
2.停止数据库 shutdown immediate;
3. 复制安装目录下的admin、oradata、flash_recovery_area覆盖,复制database(PWDfile、pfile) 覆盖
4. 启动数据库 startup;
方法二:(不需建库,稍麻烦点)
(1):操作系统重装,如果做冷备恢复,要保证相同操作系统,相同的数据库版本。
(2):正常安装oracle软件,只需要安装软件,不用建实例。
(3):数据覆盖,包括数据文件、参数文件、控制文件、日志文件、pwd文件,放在与原系统相同的目录。如果目录有所改变,则需要另外建立控制文件,修改pfile。
(4):建立服务:使用oradim 命令 cmd下 oradim -new -sid gbicc ,表示建立一个服务,sid为gbicc。如果是在linux下,不需要此步。
(5):建立监听: net configuration assintant 来建立(建议将源系统的network下的文件拷过来,根据实际情况修改)。
(6):打开数据库: cmd
set oracle_sid=gbicc;
sqlplus /nolog;
Conn / as sysdba;
startup;
至此,冷备份恢复成功
1、 基于表空间的热备
--查询表空间的名字和状态
SQL> select file_id,tablespace_name,status from dba_data_files;
FILE_ID TABLESPACE_NAME STATUS
---------- ------------------------------ ---------
4 USERS AVAILABLE
3 UNDOTBS1 AVAILABLE
2 SYSAUX AVAILABLE
1 SYSTEM AVAILABLE
5 COSTCTL_TBS AVAILABLE
6 DEV_DATA AVAILABLE
7 PDMS_DATA AVAILABLE
已选择7行。
--开始备份,将会
SQL> alter tablespace PDMS_DATA begin backup;
表空间已更改。
--拷贝数据文件到指定的备份磁盘上
SQL> host cp /opt/oracle/app/oradata/pdms/PDMS_DATA.dbf /u03/backup/hotbak
--查看所有数据文件的备份状态
SQL> select * from v$backup;
FILE# STATUS CHANGE# TIME
---------- ------------------ ---------- --------------
1 NOT ACTIVE 0
2 NOT ACTIVE 0
3 NOT ACTIVE 0
4 NOT ACTIVE 0
5 NOT ACTIVE 0
6 NOT ACTIVE 0
7 ACTIVE 12657642 15-12月-16
--将表空间重新设置为非备份状态
SQL> alter tablespace PDMS_DATA end backup;
表空间已更改。
--查看备份状态
SQL> select * from v$backup;
FILE# STATUS CHANGE# TIME
---------- ------------------ ---------- --------------
1 NOT ACTIVE 0
2 NOT ACTIVE 0
3 NOT ACTIVE 0
4 NOT ACTIVE 0
5 NOT ACTIVE 0
6 NOT ACTIVE 0
7 NOT ACTIVE 12657642 15-12月-16
已选择7行。
2. 基于数据库的热备
alter database begin backup;
拷贝所有的datafile到备份目录
alter database end backup;
3. 控制文件的热备
alter database backup controlfile to '<dir>' [reuse]; --控制文件的完整备份
alter database backup controlfile to trace as '<dir>' --用于创建控制文件的语句,丢失了部分信息,可以直接查看
SQL> alter database backup controlfile to '/u03/backup/hotbak/control01.ctl';
数据库已更改。
SQL> alter database backup controlfile to trace as '/u03/backup/hotbak/control02.ctl';
数据库已更改。
查control02.ctl
View Code
4. 参数文件的热备
create pfile from spfile ;
create pfile = '<dir>' from spfile;
SQL> create pfile = '/u03/backup/hotbak/initdbsrv1.ora' from spfile;
文件已创建。
5. 临时表空间的数据文件、日志文件不需要备份
五、热备脚本
基于表空间的热备(推荐使用这种方式)
vim hotbak.sql
set feedback off
set heading off
set verify off
set trimspool off
set pagesize 0
set linesize 200
define dir = '/u03/backup/hotbak'
define script = '/tmp/hotbak_tb.sql'
ho rm &script
ho rm &dir/*
spool &script
select 'alter tablespace '|| tablespace_name ||' begin backup ;' ||
chr(10)||'ho cp ' || file_name || ' &dir ' ||
chr(10)||'alter tablespace '|| tablespace_name || ' end backup;'
from dba_data_files order by tablespace_name;
spool off
start &script
alter database backup controlfile to '&dir/controlbak.ctl';
create pfile = '&dir/initdbsrv1.ora' from spfile;
其中char(10)表示换行,红色部分需要自行修改
SQL> start hotbak.sql; --执行该脚本即可对数据库基于表空间进行热备
基于数据库(数据文件)的热备
vim hotbak.sql
set feedback off
set heading off
set verify off
set trimspool off
set pagesize 0
set linesize 200
define dir = '/u03/backup/hotbak'
define script = '/tmp/hotbak_tb.sql'
ho rm &script
ho rm &dir/*
spool &script
select 'alter tablespace '|| tablespace_name ||' begin backup ;' ||
chr(10)||'ho cp ' || file_name || ' &dir ' ||
chr(10)||'alter tablespace '|| tablespace_name || ' end backup;'
from dba_data_files order by tablespace_name;
spool off
start &script
alter database backup controlfile to '&dir/controlbak.ctl';
create pfile = '&dir/initdbsrv1.ora' from spfile;
Oracle数据库三种备份方式介绍相关推荐
- Oracle数据库三种备份方案
Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP).热备份和冷备份.导出备件是一种逻辑备份,冷备份和热备份是物理备份. 一. 导出/导入(Export/Import) 利用 ...
- 数据库三种备份方式(转)
转:https://www.2cto.com/database/201505/403507.html 1.完全备份(Full Backup) 备份全部选中的文件夹,并不依赖文件的存档属性来确定备份那些 ...
- oracle循环的方式,Oracle 的几种循环方式介绍
1 Oracle 中的Goto 用法: declare x number; begin x:=10; --定义的初始值 <> --循环点 x:= x-2; -- 循环的处理条件 dbms_ ...
- 分布式锁简单入门以及三种实现方式介绍(滴滴)
很多小伙伴在学习Java的时候,总是感觉Java多线程在实际的业务中很少使用,以至于不会花太多的时间去学习,技术债不断累积!等到了一定程度的时候对于与Java多线程相关的东西就很难理解,今天需要探讨的 ...
- 分布式锁简单入门以及三种实现方式介绍
分布式锁简单入门以及三种实现方式介绍 2018年01月11日 21:16:28 徐刘根 阅读数:37912 标签: 分布式 分布式锁 高并发 更多 个人分类: 集群分布式 版权声明:本文为博主原创文章 ...
- 分布式锁简单入门以及三种实现方式介绍_徐刘根的博客-CSDN博客
原文地址 rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmled ...
- 可网管交换机的三种管理方式介绍
交换机的按是否可网管,分为可网管交换机和不可网管交换机,可网管交换机可以通过以下几种途径进行管理:通过RS-232串行口(或并行口)管理.通过网络浏览器管理和通过网络管理软件管理.接下来就由杭州飞畅科 ...
- 数据库事务的三种提交方式介绍
文章目录 数据库事务提交的三种方式: 为什么需要隐式提交: 通过不同的数据库来介绍自动提交和手动提交: 举例: 数据库事务提交的三种方式: 手动显式提交.隐式提交及自动提交. 参考:https://b ...
- mysql连oracle方法_Oracle数据库三种连接方式
访问Oracle数据库,可以通过三种方式:第一种方式是应用进程直接访问数据库实例的共享内存,第二种方式是通过beq协议在本机上访问 访问Oracle数据库,可以通过三种方式:第一种方式是应用进程直接访 ...
最新文章
- logcat 结合 grep 过滤 log 日志信息
- Python OpenCV学习笔记之:图像读取,显示及保存
- Mac iStat Menu 注册码
- 在线作图|如何绘制一张星图
- C++之TR1::function
- C++ 力扣剑指Offer16-数值的整数次方
- android eclipse自动更新,Android Eclipse 升级ADT到24.0.2完美解决方案
- java之的读取文件大全
- 知识图谱研讨实录09丨肖仰华教授带你读懂知识图谱语言认知
- c# 获取路径的盘符_C# IO操作之 如何玩转路径
- html 字体设置草体,CSS 网页安全字体
- mmd Ray渲染 mikumikudance导入模型阴影很黑
- 基于阿里云的双活灾备方案的设计
- android 分享小程序到微信,Android 分享微信小程序之图片优化
- 牛客笔试OJ-在线编辑器输入输出总结
- python+twilio实现打电话和发短信功能
- [cocos2dx开发技巧4]工具CocosBuilder的使用--复杂动画
- Flutter for Web开发打包部署
- dialer(dialer接口是什么意思)
- 基于java码头船只出行及配套货柜码放管理系统(含源文件)
热门文章
- SSH1和SSH2区别
- strcmp函数的用法
- 什么是GCaMP6f?钙离子成像技术。
- 低端机能用鸿蒙系统吗,鸿蒙系统为何只用在中低端手机?
- Android开发之简单的电子相册实现
- 游戏化设计工作坊--MIXTure团队的预习作业
- 理解 ByteBuffer
- postgresql安装后链接报错psql: FATAL: Ident authentication failed for user “postgres“
- aria-expanded
- 微信小程序动漫论坛平台+后台管理系统SSM-JAVA【数据库设计、论文、源码、开题报告】