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 备份与还原的更多相关文章

  1. C#oracle备份和还原

    最近公司的oracle备份工具不好使了,原来是公司的人用VB写的,由于我是主攻C#的,所以想着自己来写一个C#版本的oracle备份和还原工具. 一开始,我按照原来的设计思路来进行编写,想在pluss ...

  2. oracle 备份与还原 及相关操作

    drop user 用户名 cascade; ........删除用户 create user 用户名 identified by 密码 default tablespace 数据文件名 tempor ...

  3. oracle备份与还原(导入导出)

    Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp相当于oracle数据还原与备份.说明:大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的 ...

  4. oracle备份与还原数据

    一.表数据备份与还原 creat table  备份表   select * from  原表  where insert  into  原表  select  *  from  备份表 二.利用备份 ...

  5. oracle 备份和还原还有创建用户、表空间、授权

    --找到存放dbf文件的路径--E:\oracle\product\10.2.0\oradata\orcl--可以通过此语句进行查询select * from v$datafile; --创建表空间c ...

  6. oracle备份、还原

    ----第一步:设置空表导出 ----由于Oracle 11G在用EXPORT导出时,空表不能导出.解决方法如下:(11G中有个新特性,当表无数据时,不分配segment,以节省空间) select ...

  7. Oracle备份、还原数据库

    备份数据库 创建备份目录(用sys账号),若已创建备份目录,此步可忽略 create directory db_bak as 'D:\ ECIMS_DB' --查看创建的目录 select * fro ...

  8. oracle备份和还原

    用exp命令即可完成,但要看具体的备份方式. 1. 导出一个完整数据库 exp system/manager file=bible_db log=dible_db full=y 2. 导出数据库定义而 ...

  9. oracle数据泵备份与还原

    完整的常用的一套oracle备份以及还原方案 --在新库中新建数据目录,我没有特别说明在哪执行的语句都可在plsql中执行 CREATE OR REPLACE DIRECTORY dump_dir A ...

随机推荐

  1. css 修改滚动条

    ::-webkit-scrollbar { width: 10px;}::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgb ...

  2. Container With Most Water -- LeetCode 11

    Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai).  ...

  3. sql语句查询结果添加排序列(转)

      给查询出的SQL记录添加序号列,解决方法有以下两种 第一: select ROW_NUMBER() OVER (ORDER BY a.字段 ASC) AS XUHAO,a.* from table ...

  4. 彻底弄懂Activity四大启动模式

    最近有几位朋友给我留言,让我谈一下对Activity启动模式的理解.我觉得对某个知识点的理解必须要动手操作才能印象深刻,所以今天写一篇博文,结合案例理解Activity启动模式.由于之前看过" ...

  5. CSS教程:div垂直居中的N种方法[转]

    在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中 ...

  6. Ruby的基本语法-数组

    Ruby中数组的实例 1.color=["Red", "Green" ,"Blue"] #数组赋值

  7. Scrollview嵌套Listview运行后最先显示出来的位置不在顶部而是中间问题

    问题: Scrollview里面嵌套了一个Listview ,通过设置一个方法设置了Listview的高度,现在的情况就是进到这个界面的时候看到的不是最上面 而是中间 解决办法: 设置ListView ...

  8. Android中常见功能包描述(转)

    在Android中,各种包写成android.*的方式,重要包的描述如下所示:android.app :提供高层的程序模型.提供基本的运行环境android.content:包含各种的对设备上的数据进 ...

  9. 这几天开始,先学习一些 java 基础吧,学的有点累

    这几天开始,先学习一些 java 基础吧,学的有点累

  10. SILVERLIGHT 应急卫生模拟演练项目之loading界面实现

    第一次在博客园写文章 俺是菜鸟 有不足之处还请大佬们多多指教 第一次也不知道该写啥 俺就拿自己最近做的一个项目 来细说吧 俺们公司是做医疗卫生方面的  其中有一块涉及到应急卫生模拟演练方面 这块分到我 ...