Oracle 备份与还原
oracle 备份与还原
一、备份数据库(exp)
1、完全备份
exp demo/demo@orcl buffer=1024 file=d:\back.dmp full=y
demo:用户名、密码
buffer: 缓存大小
file: 具体的备份文件地址
full: 是否导出全部文件
ignore: 忽略错误,如果表已经存在,则也是覆盖
2、将数据库中system用户与sys用户的表导出
exp demo/demo@orcl file=d:\backup\1.dmp owner=(system,sys)
3、导出指定的表
exp demo/demo@orcl file=d:\backup2.dmp tables=(teachers,students)
4、按过滤条件,导出
exp demo/demo@orcl file=d:\back.dmp tables=(table1) query=\" where filed1 like 'fg%'\"
导出时可以进行压缩:
命令后面 加上 compress=y
如果需要日志,后面: log=d:\log.txt
5、备份远程服务器的数据库
exp 用户名/密码@远程的IP:端口/实例 file=存放的位置:\文件名称.dmp full=y
二、还原数据库
打开cmd直接执行如下命令,不用再登陆sqlplus。
1、完整还原
imp demo/demo@orcl file=d:\back.dmp full=y ignore=y log=D:\implog.txt
指定log很重要,便于分析错误进行补救。
2、导入指定表:
imp demo/demo@orcl file=d:\backup2.dmp tables=(teachers,students)
3、还原到远程服务器
imp 用户名/密码@远程的IP:端口/实例 file=存放的位置\文件名称.dmp full=y
三、解决11G后,空表无法导出的问题
11G中有个新特性,当表无数据时,不分配segment,以节省空间。这样在导出数据的时候,空表不被导出
解决方法:
1、insert一行,再rollback就产生segment了。
该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。
2、设置deferred_segment_creation 参数

该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。
需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。
需要查询所有的空表,然后执行
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
然后再导出即可。
四、导入数据时遇到 ORACLE 错误 959,表空间 'xxx' 不存在
IMP-00003: 遇到 ORACLE 错误 959
ORA-00959: 表空间 'xxx' 不存在
IMP-00017: 由于 ORACLE 错误 959, 以下语句失败:
解决方案:
1、导入前,先创建表空间
(创建目录即为oracle的数据目录)
create tablespace xxx datafile 'D:\oracle\data\xxx.dbf' size 100M autoextend on;
2、指定用户该表空间不受限
alter user demo quota unlimited on xxx;//后面的xxx是表空间名
3、然后再imp即可
注意导入时一定要指定log,便于分析解决
成功提示是这样的:
成功终止导入,没有出现警告
Oracle 备份与还原的更多相关文章
- C#oracle备份和还原
最近公司的oracle备份工具不好使了,原来是公司的人用VB写的,由于我是主攻C#的,所以想着自己来写一个C#版本的oracle备份和还原工具. 一开始,我按照原来的设计思路来进行编写,想在pluss ...
- oracle 备份与还原 及相关操作
drop user 用户名 cascade; ........删除用户 create user 用户名 identified by 密码 default tablespace 数据文件名 tempor ...
- oracle备份与还原(导入导出)
Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp相当于oracle数据还原与备份.说明:大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的 ...
- oracle备份与还原数据
一.表数据备份与还原 creat table 备份表 select * from 原表 where insert into 原表 select * from 备份表 二.利用备份 ...
- oracle 备份和还原还有创建用户、表空间、授权
--找到存放dbf文件的路径--E:\oracle\product\10.2.0\oradata\orcl--可以通过此语句进行查询select * from v$datafile; --创建表空间c ...
- oracle备份、还原
----第一步:设置空表导出 ----由于Oracle 11G在用EXPORT导出时,空表不能导出.解决方法如下:(11G中有个新特性,当表无数据时,不分配segment,以节省空间) select ...
- Oracle备份、还原数据库
备份数据库 创建备份目录(用sys账号),若已创建备份目录,此步可忽略 create directory db_bak as 'D:\ ECIMS_DB' --查看创建的目录 select * fro ...
- oracle备份和还原
用exp命令即可完成,但要看具体的备份方式. 1. 导出一个完整数据库 exp system/manager file=bible_db log=dible_db full=y 2. 导出数据库定义而 ...
- oracle数据泵备份与还原
完整的常用的一套oracle备份以及还原方案 --在新库中新建数据目录,我没有特别说明在哪执行的语句都可在plsql中执行 CREATE OR REPLACE DIRECTORY dump_dir A ...
随机推荐
- c# 远程连接ORACLE数据库
使用该方法,只需要传入几个必要的参数就可以进行数据库的远程连接测试了,连接成功返回TRUE,失败返回false. 说明: 第一个参数表示你在数据库中的用户,具有可以登录权限的 第二个参数表示用户的密码 ...
- 自定义 placeholder 文本颜色
原文 http://zhuyujia.github.io/2016/01/custom-placeholder-text-color.html Css: ::-webkit-input-placeh ...
- 写简单游戏,学编程语言-python篇:大鱼吃小鱼
很常见的游戏之一,实现原理并不复杂,并且参考了几个相关的代码.这边主要还是以学习编程语言和学习编程思路为重点记录一下吧.最近时间有点吃紧,只能匆忙记录一下.用pygame做的大鱼吃小鱼的游戏截图如下: ...
- 电量/信号的显示 imageLevel
通过imageLevel可以对1个imageView在不同的level值显示不同的图片,通常用于显示电量,wifi信号,蓝牙信号等信息: 1.编写xml ,在drawable目录 <level- ...
- Makefile中静态库,动态库的创建和使用以及解压缩命令
应用层通过操作文件操控硬件 使用制作好的工具链: 刚开始学习时,用一些已经制作好的工具链,使用以下命令解压到gcc-3.4.5-glibc-2.3.6目录 cd /work/tools tar xjf ...
- js中遍历出查询后的listmodel(下拉框系列)
function selectclassname(){ $.ajax({ url:"queryschoolclasslists.action", async:false, data ...
- Html 之菜单导航(二)
网页菜单 网页菜单是一个网页的重要部分,它提供了用户可以对网站所有页面的导航,也是可能是内容的分类,例如淘宝 衣服 鞋子 水果 电脑 等等之类,也可以是 类似于游戏宣传网页一样子,酷炫的js特效 f ...
- SDK截图(四):压缩位图实例
这个问题研究了两天.<windows程序设计>中没有给出实例,MSDN也没有给出具体的例子.在知道,CSDN提问后,也没有得到答案.所以决定重新对DIB做一次彻底的研究,这大概会花去我一个 ...
- 一个assert的写法
]; int assert_buf_len; #ifdef XXX_DEBUG #define assert(expr, ...) \ do{ \ if ((!(expr))) \ {\ char * ...
- SQL --Chapter 04 数据更新
数据的插入(INSERT语句的使用方法) INSERT INTO ShohinIns (shohin_id, shohin_mei, shohin_bunrui, hanbai_tanka, 原则上, ...