zoukankan      html  css  js  c++  java
  • Oracle 数据备份、恢复以及导入时表空间不存在的解决方案

    一、数据备份(导出)

    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,REPLACETRUNCATEINTO TABLE TableEmp
    --数据中每行记录默认用“,”隔开(为了防止数据记录中有‘,’则使用制表符X'09')
    FIELDS TERMINATED BY X'09'  
    --表中字段没有对应值时,允许为空
    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)

  • 相关阅读:
    NHibernate从入门到精通系列(3)——第一个NHibernate应用程序
    你真的了解Ioc与AOP吗?(1)
    C#网络编程TCP通信的粘包问题讨论
    开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo
    NHibernate从入门到精通系列(1)——NHibernate概括
    Spring.NET框架简介及模块说明
    C#|.NET从控制反转(依赖注入)想到事件注入 (非AOP)
    MVC3使用Unity实现接口自动注册
    编写更好的C#代码
    解构控制反转(IoC)和依赖注入(DI)
  • 原文地址:https://www.cnblogs.com/SuperMetalMax/p/6272748.html
Copyright © 2011-2022 走看看