博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle数据库备份
阅读量:5906 次
发布时间:2019-06-19

本文共 2815 字,大约阅读时间需要 9 分钟。

1. 文件查看
  数据文件、控制文件、日志文件查看如下:
  select file#, status, enabled, name from V$datafile;--查看数据文件
  select * from v$controlfile;--控制文件
  select * from v$logfile;--日志文件
  
2. 三种备份方法
  
1)导入/导出(import/export)
  1.支持类型: table, user, tablespace, full database
  2. 导入导出例子:
exp system/manager@TEST file=d:\export.dmp full=y--将数据库完全导出(全库备份),用户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@TEST file=d:\export.dmp owner=(system,sys)--将system和sys的表导出
exp aichannel/aichannel@TEST file= d:export.dmp tables= (tab1,tab2)--将tab1表和tab2表导出
imp system/manager@TEST file=d:\export.dmp tables=(tab1,tab2);--将export.dmp中tab1表和tab2表导入
imp system/manager@TEST file=d:\export.dmp;
  3. 注意:若用户权限不够时需要修改权限
  --先以system/manager登录
  --授予权限
  grant exp_full_database, imp_full_database to username;
 
 2)冷备份(非归档模式)
  1. 步骤:shutdown数据库---> copy文件---> start数据库
  2.  例子:
connect tigger/sccot as sysdba;
shutdown immediate;
cp d:/test*.dbf d:export   --cp 文件  目标文件夹    数据文件
cp d:/test*.ctl d:export   --控制文件
cp d:/test*.log d:export   --日志文件
startup;
  
3)热备份(归档模式)
  1. 说明:前提条件是运行在归档模式(oracle数据库安装默认运行在非归档模式)
  2. 将数据库转换为归档模式如下:(注意数据库必须已装载到此实例并且不在任何实例中打开)
  --需先关闭数据库并加载数据库
shutdown immediate;
startup mount;--(startup nomount 启动实例;startup mount 启动实例加载数据库; startup 启动实例加载数据库打开数据库)
alter database archivelog;--数据库必须已装载到此实例并且不在任何实例中打开
 
 3. 归档相关操作
archive log list;--查看是否出于归档模式;
alter system set log_archive_start =true scope =spfile; --启用主动归档
select name from v$archived_log; --查询归档日志
alter system set log_achive_start=false scope=spfile;--将数据库切换为归档模式
archive log stop;
archive log start;
4. 热备份具体步骤如下:
shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
alter tablespace users begin backup; --设置备份模式;
host copy d:\oracle\*.dbf d:\export;--拷贝
alter tablespace users end backup ;--结束备份状态
alter system switch logfile--切换日志,使用当前日志归档
  5. 不足之处:不能出错
  6. 优点:备份时数据库仍然可以使用,备份时间短
 
 3.RMAN备份和恢复工具(rocovery manager)
  1)说明:
  1.RMAN是 ORACLE提供的一个备份与恢复的工具,可以用来执行完全或不完全的数据库恢复。
  2.RMAN不能用于备份初始化参数文件和口令文件。
  3. 与传统工具相比,RMAN具有独特的优势:跳过未使用的数据块。当备份一个RMAN备份集时,RMAN不会备份从未被写入的数据块,而传统的方式无法获知那些是未被使用的数据块。
  4. RMAN可以进行增量备份(增量备份是针对于上一次备份(无论是哪种备份):备份上一次备份后,所有发生变化的文件)
  2)例子:
  --准备工作:
  connect tiger/sccot;
  startup mount
  alter database archivelog
  alter database open
  --查看备份相关信息
  list backupset;
  --备份全库
  backup database;
  --备份表空间
  backup tablespace tp1;
  --备份全库删除旧的归档日志
  backup databse plus archivelog delete input;--备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志
  --备份表空间删除旧的归档日志
  backup tablespace system plus archivelog delete input;
  --备份归档日志
  backup archivelog all delete input;
  --查看备份信息
  list of backup sets;
  --0增量备份(等于全备份)
  backup incremental level=0(level 0) database;
  --1级增量备份
  backup incremental level 1 database;
  
注意:0级增量备份和完全备份唯一的区别,0级增量备份能作为增量备份的基础,而全备份不能作为增量备份的基础
最新内容请见作者的GitHub页:http://qaseven.github.io/

转载地址:http://nmjpx.baihongyu.com/

你可能感兴趣的文章
nginx js、css多个请求合并为一个请求(concat模块)
查看>>
mybatis实战教程(mybatis in action)之五:与spring3集成
查看>>
解决浏览器Adobe Flash Player不是最新版本问题
查看>>
SQLite 约束
查看>>
Python爬虫学习——使用Cookie登录新浪微博
查看>>
linux配置网络
查看>>
vsftp 500 OOPS: cannot change directory:/home/xyp
查看>>
MVC ---- EF的安装于卸载
查看>>
WebRTC 学习之 概念总结
查看>>
Java对ad操作
查看>>
unity与android交互总结
查看>>
h5 微场景
查看>>
linux下uboot kernel操作cpu寄存器
查看>>
(转)PaperWeekly 第二十二期---Image Caption任务综述
查看>>
raspi-config Expand root partition to fill SD card 原理
查看>>
maven generating project in batch mode hang
查看>>
Excel与XML相互转换 - C# 简单实现方案
查看>>
远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)
查看>>
基础二:javascript面向对象、创建对象、原型和继承总结(下)
查看>>
360. Sort Transformed Array
查看>>