一、数据备份(导出)

1、exp命令导出dmp文件(exp -help查看帮助信息)

命令:exp username/userpasswd@192.168.99.199/orcl file=C:\jds.dmp log=C:\jds.log tables=tablename...;(不写tables时表示导出当前用户所有表)

2、exp备份数据库中表结构(不要数据)

命令:exp username/userpasswd@192.168.99.199/orcl file=C:\jds.dmp log=C:\jds.log tables=tablename... rows=n;(不写tables时表示导出当前用户所有表)

3、PL/SQL导出

new Report Window--->写sql将要导出的数据查询出来--->Export Results导出不同文件类型的数据

二、数据恢复(导入)

1、imp命令导入dmp文件(imp - help查看帮助信息)

命令:imp username/userpasswd@127.0.0.1:1521/orcl file=C:\jds.dmp full=y;

2、imp命令导入表结构(不要数据)

(1)dmp文件包含数据

 命令: imp username/userpasswd@127.0.0.1:1521/orcl file=C:\jds.dmp full=y rows=n;

(2)dmp文件本身就不包含数据

 命令: imp username/userpasswd@127.0.0.1:1521/orcl file=C:\jds.dmp full=y;

3、PL/SQL导入(貌似只能导入dmp文件)

Tools ---> import tables

4、导入csv文件

csv文件样式(test.csv):

删除第一行,确保第一行就是数据内容。

(1)创建对应字段的表(要导进去数据的表TableEmp)...

(2)创建ctl文件(test.ctl):

--指定外部数据文件(要导入的csv文件)
INFILE "G:/test.csv"
--指定要导入的表(INSERT 要求导入之前表就为空;APPEND是指在表中追加记录;REPLACE表示删除旧记录‘delete’,替换成新纪录;TRUNCATE表示删除旧记录‘truncate’,替换成新纪录)
INSERT(APPEND,REPLACE,TRUNCATE) INTO TABLE TableEmp
--数据中每行记录默认用“,”隔开(为了防止数据记录中有‘,’则使用制表符X'09')
FIELDS TERMINATED BY X''
--表中字段没有对应值时,允许为空
TRAILING NULLCOLS (columnName1, columnName2...)

(3)执行命令:sqlldr username/userpasswd@orcl control=F:/test.ctl log=F:/test.log

这个表示导入成功的数据行数。excel数据格式的数据可以通过更换数据格式为csv文件格式,再进行导入操作。

三、imp导入dmp文件出现错误(表空间“JDS”不存在)解决方案

方案一:

(1)用system用户登录,查找导入的目标数据库的默认表空间,可以根据用户名查询

select username, default_tablespace from dba_users where username='ZCL';

(2)执行修改表空间语句(假设目标数据库的表空间名是:JDS_DATA)

alter tablespace JDS_DATA rename to JDS;

(3)执行imp语句

(4)导入成功后,执行改回原来表空间的名称

alter tablespace JDS rename to JDS_DATA;

方案二:

根据log信息重新创建对应的表,然后再执行imp语句(注意:要加上ignore=y)

Oracle 数据备份、恢复以及导入时表空间不存在的解决方案的更多相关文章

  1. oracle 12c 多租户 pdb 恢复(单个pdb数据文件、非系统pdb表空间、整个pdb数据库)

    环境:数据库版本 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 实验准备:1.-- 数据库归 ...

  2. Oracle 删除用户和表空间////Oracle创建删除用户、角色、表空间、导入导出、...命令总结/////Oracle数据库创建表空间及为用户指定表空间

    Oracle 使用时间长了, 新增了许多user 和tablespace. 需要清理一下 对于单个user和tablespace 来说, 可以使用如下命令来完成. 步骤一:  删除user drop ...

  3. Oracle RMAN备份恢复指导书

    目 录 1 目的与范围... 1 2 术语和定义... 1 3 角色和职责... 2 4 使用RMAN备份数据库... 2 4.1.1 检查数据库模式... 2 4.1.2 连接到target数据库. ...

  4. oracle(数据备份)

    1 --oracle数据备份(三种方法) 2 --1.逻辑备份与恢复:用Oracle提供的工具,导入/导出(exp,imp),数据 3 --泵导入/导出(impdp,expdp),装入器(SQL*Lo ...

  5. exp和imp导入导出时表空间问题【未完】

    准备工作 第一步: 创建教师和学生用户 教师用户/密码 TEACHER/t123456 学生用户/密码 STUDENT/s123456 参考链接 http://www.cnblogs.com/what ...

  6. Linux服务器数据备份恢复策略

    一.Linux 备份恢复基础 1.什么是备份 最简单的讲,备份数据的过程就是拷贝重要的数据到其他的介质之上(通常是可移动的),以保证在原始数据丢失的情况下可以恢复数据.一次备份可能是简单的 cp命令, ...

  7. Mongodb数据备份恢复

    Mongodb数据备份恢复 一.MongoDB数据库导入导出操作 1.导出数据库 twangback为备份的文件夹 命令: mongodump -h 127.0.0.1[服务器IP] -d advie ...

  8. 19C imp 导入合并表空间

    因为项目需要从9i 导数据到18C,所以发现如下特性 1.18C imp 导入数据,如果表空间在目标库没有,会将表导入到用户默认表空间 2.18C imp 导入数据,如果表空间在目标库有,但缺少权限. ...

  9. Oracle数据库 ORA-01555 快照过旧 (undo表空间:撤销表空间)

    UNDO表空间用于存放UNDO数据,当执行DML操作时,oracle会将这些操作的旧数据写入到UNDO段,以保证可以回滚或者一致读等,而临时表空间主要用来做查询和存放一些缓冲区数据.你听说UNDO也是 ...

随机推荐

  1. 转载:你需要知道的16个Linux服务器监控命令

    源址:http://web.itivy.com/article-653-1.html 如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Lin ...

  2. OCP-1Z0-051-题目解析-第1题

    1. View the Exhibit and examine the structure of the SALES, CUSTOMERS, PRODUCTS, and TIMES tables. T ...

  3. jQuery.form Ajax无刷新上传错误 (jQuery.handleError is not a function) 解决方案

    今天,随着ajaxfileupload时间firebug财报显示,"jQuery.handleError is not a function"错误.因为一旦使用jQuery.for ...

  4. SSIS如何引用外部DLL

    原文:SSIS如何引用外部DLL 当SSIS引用外部的DLL时,外部的DLL须满足以下条件: 1. DLL是强命名. 2. 加入到GAC (C:\WINDOWS\assembly),直接把DLL拉进目 ...

  5. easyui datagrid显示进度条控制操作

    在当我们需要控制时间前台实际项目页面datagrid显示进度条的数据加载时运行,和datagrid默认情况下只在有url加载运行时的数据显示方式的进度条.下面的代码手动控制: 打开一个进度条: $(' ...

  6. Python装饰器学习

    Python装饰器学习(九步入门)   这是在Python学习小组上介绍的内容,现学现卖.多练习是好的学习方式. 第一步:最简单的函数,准备附加额外功能 ? 1 2 3 4 5 6 7 8 # -*- ...

  7. [转]JSON and Microsoft Technologies(翻译)

    本文翻译CodeProject(链接)上的一篇文章,文章对JSON的概念以及它在微软一些技术中的应用起到了非常好的扫盲作用,总结得非常好,适合初学者. 目录 介绍 什么是JavaScript对象? 实 ...

  8. C++ Builder中splitter控件的使用方法简介

    C++ Builder提供了一个Splitter控件来实现对用户窗口的分割,只需拖动该控件到窗体上,就可以实现窗口的任意分割.把面板控件(Panel)拖动到窗体上,设置其对齐方式,然后把Splitte ...

  9. async/task/await

    async/task/await三组合是.NET Framework 4.5带给.NET开发者的大礼,合理地使用它,可以提高应用程序的吞吐能力. 但是它的使用有点绕人,如果不正确使用,会带来意想不到的 ...

  10. 一维数组的 K-Means 聚类算法理解

    刚看了这个算法,理解如下,放在这里,备忘,如有错误的地方,请指出,谢谢 需要做聚类的数组我们称之为[源数组]需要一个分组个数K变量来标记需要分多少个组,这个数组我们称之为[聚类中心数组]及一个缓存临时 ...