dmp是什么文件夹可以删除吗 oracle_oracle还原dmp文件/oracle快速还原dmp文件 - CSDN
精华内容
参与话题
  • 1.新建用户和表空间: create tablespace ECAS_DATA datafile 'D:\app\Administrator\oradata\orcl\XPADS.DBF' size 50m autoextend on next 50m maxsize 20480m extent management local; create user newxpads_ec...

    1.新建用户和表空间:
    create tablespace ECAS_DATA datafile 'D:\app\Administrator\oradata\orcl\XPADS.DBF' size 50m autoextend on next 50m maxsize 20480m extent management local;

    create user newxpads_ecas identified by newxpads_ecas default tablespace ECAS_DATA;

    grant connect,resource,dba to newxpads_ecas;

    2.导入dmp文件:
    imp test/test222@localhost/orcl file="C:\Users\zhengyi\Desktop\test20140221.DMP" full=y ignore=y;

    3.导出用户的数据:
    exp system/password@localhost/orcl  grants=n feedback=10000 file=e:\scott.dmp

    只要在本机设置了TNS——orcl,知道system用户名和密码就可以导出数据到本地

    grants=n 表示不导出权限;

    feedback表示10000条记录反馈一次——表现在终端就是一个黑点;

    file就不用说了

    owner指明从哪个用户下导出

    4.导出部分表的数据:
    -- mds开头的表数据
    exp newxpads/newxpads file = d:mds.dmp statistics=none tables=(mds%) 

    5.-- 查询数据不为空的表
    SELECT t.table_name FROM user_tables t where t.table_name like '%MDS%' AND t.NUM_ROWS > 0;

    6.-- 查询为空的表(执行再带导出数据)
    select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
    -- 运行结果即柯导出为空的表

    7.-- 查询要删除的表
    select 'drop table '||table_name ||';' from USER_TABLES where table_name like 'T_TABLE_%';
    -- 运行结果删除表

    8.-- 给user用户授权访问权限
    grant select on table_name to user;

     

    展开全文
  • 1:已有一个11g的dmp文件:先oracle 11g 导出10g的dmp,再导入到cracle10中;测试成功! 2:直接从11g导出一个10g的dmp,再导入到cracle10中。(被包含在第一种情况里) create tablespace DetailLibrary ...

    1:已有一个11g的dmp文件:先oracle 11g 导出10g的dmp,再导入到cracle10中;测试成功!
    2:直接从11g导出一个10g的dmp,再导入到cracle10中。(被包含在第一种情况里)
    create tablespace DetailLibrary
    logging datafile 'd:\tabspace\detailLibrary\detailSpace.dbf'
    size 50m 
    autoextend on
    next 50m maxsize 20480m
    extent management local;
    --drop tablespace DetailLibrary; 删除表空间(需要的时候用)
    --drop user DETAILUSER cascade;删除一个用户和他全部的表等(需要的时候用)
    create user DETAILUSER identified by DETAILUSER default tablespace DetailLibrary;
    grant dba to DETAILUSER;
    先把已有的11g的dmp文件导入到11g中(在导入的时候,注意dmp文件里的,表空间和你创建的是否一致,dmp文件是可以用编辑器修改的)

    如果通过直接修改版本好的方式:要注意格式。个eg:v10.02.10,(不能是:v10.0.2.1.0)。这种方式很可能会出错(报错 表空间不存在等,因为一些表可能用到clob,xmltype等特殊类型的字段,所以不推荐使用直接修改版本号的方式。加上参数ignore=y可以忽略这些错,但是相对于的表,数据是没有导入的。 没有涉及clob,xmltype等特殊类型的字段还是可以用
    用户名的格式是:U+用户名。这里的就是JEECG,要修改的话注意U是前缀。在导入的时候如果你使用的用户名和dmp文件里的不一样,会警告,但是无大碍,你也可以改成一样的。

    imp DETAILUSER/DETAILUSER@ORCL file=d:20171203.dmp ignore = y full=y;
    下面是修改表空间:



    用这个命令导出10g版本的dmp(第二种情况就从这里开始)各项参数就不细说,查这个信息的朋友应该大致都理解,可以根据需求进行修改。(这里可能会提示让登录一下,输入一个权限足够的用户名密码即可,或者就用命令里的用户信息,我是用的命令里的用户)
    EXPDP USERID='DETAILUSER/DETAILUSER@orcl as sysdba' schemas=DETAILUSER  
    directory=DATA_PUMP_DIR dumpfile=aa.dmp logfile=aa.log version=10.2.0.1.0
    说明:schemas=DETAILUSER 这里是要导出的那个方案(就是那个用户下的数据表)
    directory=DATA_PUMP_DIR 这个是一个oracle下的文件目录,可以直接这样用;或者自己新 建一个文件夹,然后把你新建的文件夹的访问权限授权给你要用的用户。可参考命令:(grant write,read on DIRECTORY DATA_PUMP_DIR to DETAILUSER;)
    然后在oracle的安装目录中去找到这个aa.dmp文件(或者你自己创建的文件夹);再复制到对应要导入的10g安装目录下。下面是列子,不一定完全一致。
    XP:C:\app\Administrator\admin\orcl\dpdump
    WIN10:C:\oracle\product\10.2.0\admin\orcl\dpdump
    本机上执行,创建对应的表空间,用户等
    create tablespace DetailLibrary
    logging datafile 'e:\tabspace\detailLibrary\detailSpace.dbf'
    size 50m 
    autoextend on
    next 50m maxsize 20480m
    extent management local;
    --drop tablespace DetailLibrary; 删除表空间(需要的时候用)
    --drop user DETAILUSER cascade;删除一个用户和他全部的表等(需要的时候用)
    create user DETAILUSER identified by DETAILUSER default tablespace DetailLibrary;
    grant dba to DETAILUSER;
    如果权限不够,就执行这个命令,授权
    grant write,read on DIRECTORY DATA_PUMP_DIR to DETAILUSER;
    最后导入数据
    IMPDP USERID='DETAILUSER/DETAILUSER@orcl as sysdba' schemas=DETAILUSER dumpfile=AA.dmp version=10.2.0.1.0
    (这里可能会提示让登录一下,输入一个权限足够的用户名密码即可,或者就用命令里的用户信息,我是用的命令里的用户)

    增加一个dmp文件过大,别人分享的办法:http://blog.itpub.net/14710393/viewspace-1082697/
    展开全文
  • expdp / impdp 用法详解

    万次阅读 2020-09-08 15:07:16
    EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。 EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。 IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;...

    一、注意事项:

    EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。
    EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。
    IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。

    二、使用expdp导出文件前的设置:

    1、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建(我登录的是root用户),选取linux上一个实际目录,或者新建一个目录,这里我选的是'/usr/local/tomcat'这个已经有的目录,并将tomcat文件夹权限设为最高777,最简单的方式就是右键文件夹,修改属性.....:

    进入oracle模式:su - oracle     
    [oracle@iz2zehftd4ce4m2zqo3c6iz ~]$ sqlplus / as sysdba

    SQL>create directory dmp_dir as '/usr/local/tomcat';

    2、查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)
    SQL>select * from dba_directories;

    3、给用户赋予在指定目录的操作权限,最好以system等管理员赋予(我这里登录的是root用户,所以设置为public)。
    SQL>grant read,write on directory dmp_dir to public;

    SQL> show user;

    SQL> host

    备注:删除目录语句:SQL> DROP DIRECTORY dmp_dir;

    三、导出数据

    退出sql模式到oracle

    1、按用户导出数据

    [oracle@iZm5e5f4jmz3fgd9f0qhikZ ~]$ expdp 用户名/密码@服务器IP地址/orcl schemas=用户名 DIRECTORY=dmp_dir DUMPFILE=20190603.dmp logfile=20190603dmp.log;

    2、按表名导
    [oracle@iZm5e5f4jmz3fgd9f0qhikZ ~]$ expdp test_demo/test_demo@orcl TABLES=sys_log,dept dumpfile=sys_log.dmp DIRECTORY=dmp_dir;

    按指定一类的表名进行导出,比如导出表名前缀为test_的所有表:

    [oracle@iZm5e5f4jmz3fgd9f0qhikZ ~]$ expdp test_demo/test_demo@orcl TABLES=test_% dumpfile=sys_log.dmp DIRECTORY=dmp_dir;

    3、按查询条件导
    [oracle@iZm5e5f4jmz3fgd9f0qhikZ ~]$ expdp test_demo/test_demo@orcl directory=dmp_dir dumpfile=sys_log1.dmp Tables=sys_log query=\"WHERE id=\'5280e\'\";

    五、导入数据
    1、导到指定用户下

    如果想导入的用户已经存在,并且导入用户名和导出的用户名不一致:
    [oracle@iZm5e5f4jmz3fgd9f0qhikZ ~]$ impdp user2/pass2 directory=dmp_dir dumpfile=TestDemo.dmp REMAP_SCHEMA=user1:user2  remap_tablespace=user1space:user2space  EXCLUDE=USER

    如果想导入的用户不存在:
    [oracle@iZm5e5f4jmz3fgd9f0qhikZ ~]$impdp system/passsystem directory=dmp_dir dumpfile=user1.dmp REMAP_SCHEMA=user1:user2

    user2会自动建立,其权限和使用的表空间与user1相同,但此时用user2无法登录,必须修改user2的密码

    如果想导入的用户已经存在,并且导入用户名和导出的用户名一致:

    [oracle@iZm5e5f4jmz3fgd9f0qhikZ ~]$ impdp test_demo/test_demo DIRECTORY=dmp_dir DUMPFILE=expdp.dmp SCHEMAS=test_demo;

    impdp username/password table_exists_action=truncate  directory=DATA_PUMP_DIR dumpfile=expdpfilename.dmp logfile=implog.log

    如果需要覆盖或追加数据,则需要添加table_exists_action命令:

    例如,导入到指定用户下,并覆盖原有表数据:

    [oracle@iZm5e5f4jmz3fgd9f0qhikZ ~]$ impdp user2/pass2 table_exists_action=replace directory=dmp_dir dumpfile=TestDemo.dmp REMAP_SCHEMA=user1:user2 EXCLUDE=USER
    table_exists_action含义:

    skip 是如果已存在表,则跳过并处理下一个对象;

    append是为表增加数据;

    truncate是截断表,然后为其增加新数据;

    replace是删除已存在表,重新建表并追加数据;

    2、改变表的owner
    [oracle@iZm5e5f4jmz3fgd9f0qhikZ ~]$ impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;
    3、导入表空间
    [oracle@iZm5e5f4jmz3fgd9f0qhikZ ~]$ impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;
    4、导入数据库
    [oracle@iZm5e5f4jmz3fgd9f0qhikZ ~]$ impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;
    5、追加数据
    [oracle@iZm5e5f4jmz3fgd9f0qhikZ ~]$ impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION

    表导入完成后,登录plsql等工具,检查下function、view这些是否有报错,有报错的查找下代码原因,也可能是因为导入的原因需要重新编辑并运行下即可:

    备注:密码有特殊字符的加上引号:'username/"psdf$@FS"'

    如果要导入的数据库没有表空间,则在impdp语句后加上参数:TRANSFORM=segment_attributes:n

    例如: impdp test_demo/test_demo DIRECTORY=dmp_dir DUMPFILE=expdp.dmp SCHEMAS=test_demo TRANSFORM=segment_attributes:n

    有上述错误时,检查目录文件是否是777权限

    展开全文
  • 首先,我的路径写错了,文件夹是orcldata我掉了个a。 其次,命令后添加 full=y。 dos下随便哪个目录> IMP username/pwd@dbname BUFFER=64000 FILE=D:\orcldata\test_20111024.dmp full=y 然后就OK了。 ...

    首先,我的路径写错了,文件夹是orcldata我掉了个a。
    其次,命令后添加 full=y。
    dos下随便哪个目录>

    IMP username/pwd@dbname BUFFER=64000 FILE=D:\orcldata\test_20111024.dmp full=y
    


    然后就OK了。

     

    其实,导入dmp文件(其中是表中的数据),用PS/SQL就可以。(导入之前,要把被导入表中的数据清空

    导入表--》oracle导入--》页面最下面--》导入文件(选择dmp文件路径)--》右边“导入”按钮

     

    --补充全库备份及字符转义知识:

    全库备份的文件,全库恢复:

    1.将恢复中要用到的表空间和用户建好,把所有的表,存储过程等等都删除

    2.cmd下面(随便哪个目录。下面的命令会导入表,索引(主键貌似没有),存储过程,job,senquence,等等):

    密码中,有需要转义的字符,如<> ,不用转义,直接把整个密码用双引号""括起即可,其他需要转义的,用双引号",而不是 '  \;注意下面全库备份脚本中,密码没有用双引号括起,而<>是用^<^>转义的。

    imp log=D:\20130130imp.log file=D:\周三.dmp userid=username/"..<>.."@ORCLYXKJ buffer=64000 commit=no full=yes grants=yes ignore=yes indexes=yes rows=yes show=no constraints=yes

     

    全库备份脚本 bat (此bat备份出来后,会是 星期一.rar 星期二.rar。。并且备份完今天后会删除上个星期今天的备份.rar):
    @echo on
    set filename=F:\orabak\web\backup\oracle\%date:~11,3%
    exp userid=username/...^<^>...@orclyxkj file=%filename%.dmp owner=ydsoft_yuxingchinasms

    INDEXES=y grants=y constraints=y compress=y log=%filename%.log
    rar a %filename%.rar %filename%.*
    del %filename%.log
    del %filename%.dmp

     --使用RMAN备份(一共2个文件。但是RMAN备份之后恢复太麻烦,还是采用expdp备份,impdp恢复可靠):

    rmanbackup.bat  :

    set ORACLE_SID=bidb
    set ORACLE_HOME=E:\oracle_app\product\11.2.0\dbhome_1\
    set PATH=%PATH%:E:\oracle_app\product\11.2.0\dbhome_1\bin


    rman target system/oracle@bidb cmdfile='backup.rcv' log=F:\backup\bidb\rman.log

     

    backup.rcv :

    run  {
     allocate channel d1 device type disk format 'F:\backup\bidb\%U.bak';
     BACKUP DATABASE;
     delete noprompt archivelog until time 'sysdate-2';
     delete noprompt expired backupset of database;
     crosscheck archivelog all;
     crosscheck backupset;
     release channel d1;
    }

    --expdp备份,impdp恢复

    --(81上)使用ydsoft_yuxingchinasms用户导出他的文件
    create or replace directory expdir  as 'D:\orabak\web\backup\oracle';  

    expdp userid=username/..^<^>..@orclyxkj directory=expdir schemas=username dumpfile=0221_p1.dp,0221_p2.dp,0221_p3.dp,0221_p4.dp,0221_p5.dp parallel=5 filesize=4096m
    -->亲测效率:
    总共 7.11G,17分钟。
    如果用exp userid=username/..^<^>..@orclyxkj file=%filename%.dmp owner=username INDEXES=y grants=y constraints=y compress=y log=%filename%.log
    则是9.69G,35分钟。
    --(87上)impdp导入

    1.
    create or replace directory expdir  as 'F:\orabak\orabak\web\backup\oracle';
    grant read,write on directory expdir to username;
    2.将上面expdp导出的dp文件传到87的F:\orabak\web\backup\oracle目录下
    impdp username/..^<^>..@orclyxkj DIRECTORY=expdir DUMPFILE=0221_p1.dp,0221_p2.dp,0221_p3.dp,0221_p4.dp,0221_p5.dp parallel=10 logfile=wllimpdp.log
    -->亲测效率:
    pd文件总共 7.11G,用impdp导入共25分钟(如果是9.69g的dmp文件用imp导入,则要2个小时)。如果还想增加效率,可以把parallel并行度调大,理论上不超过cpu的2倍,cpu可以通过show parameter cpu 查看。

    展开全文
  • 创建目录:create directory dpdata as ‘d:\dpdata’; 保证在磁盘中有该目录; 给用户赋予制定目录的操作权限(使用sys用户登录): grant read, write on directory ... 查询目录:select * from dba_directories; ...
  • 之前写过一篇如何使用SQL developer将MySQL数据库迁移至Oracle数据库文章链接:...本文的主要内容是:已迁移至Oracle数据库的表,使用SQL developer 再导出来,方便导入到其它设备上
  • 创建目录:create directory dpdata as ‘d:\dpdata’; 保证在磁盘中有该目录 给用户赋予制定目录的操作权限(使用sys用户登录): grant read, write on directory dpdata to 用户名称; 查询目录:select * from dba_...
  • Linux 下创建Oracle表空间

    万次阅读 2016-10-09 22:17:48
    1 、 登录服务器 2 、 查看磁盘空间是否够大df -h    -h更具目前磁盘空间和使用情况 以更易读的方式显示  [root@rac1 ~]# df -h  Filesystem Size Used Avail Use% Mounted on ... /dev/sda1 2.9G 2.3G 521M ...
  • 保证数据库数据安全的措施之一就是定期进行备份,经过最近几个项目的数据库备份工作总结了几种备份Oracle数据库的命令,和大家分享一下。 首先,新建一个文本文档,改名为备份数据库.bat 粘贴以下内容: @echo off...
  • 1.首先是创建一个文件夹dump,用来存放dmp文件,存放在E:\oracle\dump   2.然后是把同事那里拿来的表空间脚本执行完,我是用system执行的,下边是其中一段: CREATE TABLESPACE UR_FWDJ_DATA DATAFI
  • Oralce 11g 恢复 .dmp 文件方法及过程

    千次阅读 2018-06-12 18:25:34
    Oralce 11g 恢复 .dmp 文件方法及过程 主要过程为:新建表空间 -&gt; 新建用户 -&gt; 授予用户权限 -&gt; 恢复备份 〇、删除用户及表空间(如需要) 若要恢复的数据的用户和表空间之间恢复(使用)...
  • 上一篇文章介绍了IBM Cognos Business Intelligence开发版的安装和部署,但经过研究发现ESRI Maps For Cognos并不能安装在开发版上,所以才重新整理了企业版的安装和部署。 软件部署分为几个步骤 ...
  • oracle11g数据库导入导出方法教程

    万次阅读 多人点赞 2020-06-23 08:25:10
    oracle11g数据库导入导出: ①:传统方式——exp(导出)和(imp)导入: ②:数据泵方式——expdp导出和(impdp)导入; ③:第三方工具——PL/sql Develpoer;一、什么是数据库导入导出? oracle11g数据库的导入/导出,...
  • Oracle 10g为我们提供了expdp命令来将数据库数据导出到文件,因此我们可以使用脚本来实现数据定时导出文件的功能,其步骤如下:1、创建脚本文件,并保存为exportOracle.bat2、配置expdp导出命令其命令示例如下:...
  • 此次dmp大小大约为20G,导入到自己创建的表空间 如果导出数据库的表空间是AA,那么再导入的数据库得创建一个同名的AA表空间,并且用户名字也得一致,或者导入后用别人导出的那个用户名 E:\app\***\oradata\orcl,...
  • 方法/步骤 1、登陆oracle数据库服务器,利用plsql程序来登陆数据库。在用户名、密码、数据库的地方分别输入对应的用户名... ...----------------------------------------------------------------------------- declare
  • 前文 所谓数据库的转移,说白了就是把开发使用的数据库服务器上做好的表、数据、存储过程等复制出来,再导入到另一...二是利用第三方工具借助于数据库本身提供的功能(如Oracle的exp.exe以及imp.exe;SQL Server的Int
  • 备份ORACLE用户下的表 保留30天数据 写如下代码back.sh#取得当天日期RUNDATE=`date +%Y%m%d`#放入指定文件夹SNDDIR=/usr/local/webapps/bak#逻辑备份exp userid=user/user owner=user file=$SNDDIR/backup.$...
1 2 3 4 5 ... 20
收藏数 1,317
精华内容 526
关键字:

dmp是什么文件夹可以删除吗 oracle