expdp

oracle 数据泵 EXPDP&IMPDP

久未见 提交于 2020-04-07 08:51:38
导出/导入步骤: expdp system/pwd directory=s_dirname dumpfile=mes1_20150810.dmp logfile=mes1_20150810.log schemas=mes1 CONTENT=METADATA_ONLY 1.在源资料库s中查看mes1与mes4中所有表和索引存放的表空间名称: SQL@S> SELECT DISTINCT TABLESPACE_NAME FROM DBA_TABLES WHERE OWNER IN('MES1','MES4'); SQL@S> SELECT DISTINCT TABLESPACE_NAME FROM DBA_INDEXES WHERE OWNER IN ('MES1','MES4'); 2.根据查询结果,在目标数据库t中建立相同名称的表空间,数据文件位置根据t服务器实际磁盘分区决定.可以与s数据文件位置不同. SQL@T> CREATE TABLESPACE CMES DATAFILE 'XXXX.DBF' SIZE 300M AUTOEXTEND ON 30M; …… 3.在t中新建账号mes1/mes4/ztm01t1_ap,角色cit_group/mes_select.默认表空间设置为mes_user SQL@T> CREATE USER MES1 IDENTIFIED BY

oracle 数据泵

你。 提交于 2020-04-07 07:42:10
Oracle 数据库 导入导出工具,可以使用exp/imp,但这是比较早期的工具。本文主要介绍数据泵expdp/impdp工具的使用。 1、建立数据泵目录 使用数据泵需要先建directory create directory dir_back as 'e:\app\back' (删除目录:drop directory dir ) 2、查看建立的目录 Select * from dba_directories 3、赋权 Grant read,write on directory dir_back to sxybyj 4、导库 expdp sxybyj/sxybyj@orcl directory=dir_back dumpfile=sxybyj.dmp 导出数据 1)按用户导 expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dir logfile=expdp.log 2)并行进程parallel expdp scott/tiger@orcl directory=dir dumpfile=scott3.dmp parallel=40 job_name=scott3 3)按表名导 expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp

Oracl基础知识(一)

故事扮演 提交于 2020-03-20 07:42:49
概述   Oracle功能繁多,接触Oracle不深,将接触到的基础知识整理下来,以便不时之需。整理的内容主要有Expdp指令实现数据库备份,Impdp指令实现数据库还原,以及用户、表空间的定义。整理的数据来源多为网上优秀的博客和论坛,内容如有相同之处,纯属转载。 Expdp指令数据备份导出    expdp工具导出的方式有很多种,使用方便,直接在CMD命令行中输入导出指令即可,这里仅仅介绍按用户名导出数据库文件。如果是普通用户进行数据导出和导入时候,需要授权用户读写目录权限:   最好以system等管理员赋予: grant read,write on directory dpdata1 to scott;   1、导出指令格式:        A、导出全部数据库格式 :               [expdp 用户名/密码 dumpfile=导出文件名.dmp directory=文件目录];      B、导出指定表空间 :               [expdp 用户名/密码@SID名称 dumpfile=导出文件名.dmp directory=文件目录 TABLESPACES=表空间A,表空间B];               (备注:该导出方式包括表空间和用户,所以还原数据的时候,需要对应的表空间和用户)      C、导出指定用户的数据 :            

oracle自动备份

冷暖自知 提交于 2020-03-17 01:38:01
本文章详细介绍备份过程中遇到的坑。 导出: expdp vids/vids123 @orclvids directory=dpdata dumpfile=db20200311214001.dmp logfile=20200311214001.log 删除线部分非必须,可以不要 导出常见错误: 连接到: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production ORA-39002: 操作无效 ORA-39070: 无法打开日志文件。 ORA-29283: 文件操作无效 ORA-06512: 在 "SYS.UTL_FILE", line 536 ORA-29283: 文件操作无效 错误原因:目录授权问题,如果备份目录是自定义目录,必须拥有oracle用户的权限和权限组。这种情况在root和oracle用户混用的情况下比较常见 解决: #备份目录查询(目录拥有者都在sys下,需要对expdp导出用户进行授权) select * from dba_directories; #创建并授权 create directory dpdata as '/data/backup/'; grant create any directory to vids; 导入: impdp vids/vids123@xe

oracle常用运维命令整理

北战南征 提交于 2020-03-04 22:19:02
文章中涉及的路径,请根据实际部署的路径修改: 一、oracle建库与删库命令 (1)oracle11g #建库(一般习惯配置gdbname与sid名一样,sys密码与system密码一样,以方便记忆) [oracledb@ ~]$ dbca -silent -createDatabase -templateName /u01/oracle/product/11.2.0/dbhome_1/assistants/dbca/templates/General_Purpose.dbc -gdbname GDBNAME -sid SIDNAME -characterSet AL32UTF8 -NATIONALCHARACTERSET UTF8 -sysPassword SYSPASSWORD -systemPassword SYSTEMPASSWORD -TOTALMEMORY 2048 #删库方法一: [oracledb@ ~]$ dbca -silent -deleteDatabase -sourceDB SIDNAME -sysDBAUserName sys -sysDBAPassword SYSPASSWORD #删除库方法二: 步骤1:配置回应文件: [oracledb@ ~]$ cat /u01/oracle/response/dbca.rsp OPERATION_TYPE =

oracle停止expdp/impdp导入导出

吃可爱长大的小学妹 提交于 2020-03-03 07:11:15
平时导入导出时由于命令错误想终止操作,于是就按ctr + c 中进入export交互界面,然后exit退出然后查看操作系统进程发现没有expdp进程了以为就是停掉了,但发现导出的dmp文件还在一直增加,其实任务并没有停止。 正确方法 1.查看视图dba_datapump_jobs select job_name,state from dba_datapump_jobs; 发现任务确认还在执行 2.正确停止expdp导出任务使用stop_job [oracle@database ~]$ expdp \"tttt/123456@orcl" attach= SYS_EXPORT_SCHEMA_02 Export: Release 11.2.0.4.0 - Production on Mon Jan 26 10:31:42 2015 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application

Oracle数据库的逻辑备份工具-expdp数据泵

[亡魂溺海] 提交于 2020-02-26 14:03:54
Oracle数据库可以通过数据泵expdp工具进行数据的导出、导入。在介绍工具使用之前,先说个注意事项,在Oracle11g之后新创建的表在没有插入数据时,是不会分配segment的,也就是说不会分配空间,而使用expdp导出时,这类空表就不会被导出,导致数据库结构不完整(此情况不包含原先有数据后来被清空的表)。因此为了不会遗漏数据,在导出时先对空表进行一次处理(手动分配空间): 1.通过user_tables查询那些表时没有数据的(注意:为了提高准确性,可以先对用户下的所有表进行一次表分析analysis table),然后通过下面语句直接生成手动分配segment的语句: select 'alter table ' || table_name || ' allocate extent;' from user_tables where num_rows = 0 ; PS:当然以上语句会把原先有数据后被清空的表也查询出来,但为了一个一个排除麻烦,就直接再从新分配一次segment。 2.批量执行生成的语句即可。 一、以上处理完成后,下面说一下expdp导出工具的使用: 1.expdp工具导出的文件只能存放在数据库服务器本地,是无法远程导出到其他服务器的(exp工具导出通过本地远程到数据库服务器,将导出文件直接放到本地:),只能导出存放到数据库服务器本地

数据库导出导入

核能气质少年 提交于 2020-01-27 02:49:30
select * from dba_directories 可以查看路径后边的‘DATA_PUMP_DIR’指的dmp存放路径 //数据导出 oracle用户登录 su - oracle 语法: expdp 用户名/密码@ip地址/实例 [属性] 属性: DIRECTORY :–导出的逻辑目录,一定要在oracle中创建完成的,并且给用户授权读写权限 dumpfile :–导出的数据文件的名称,如果想在指定的位置的话可以写成 dumpfile =/home/oracle/userxx.dmp schemas :–使用dblink导出的用户不是本地的用户,需要加上schema来确定导出的用户,类似于exp中的owner,但还有一定的区别 logfile :–日志文件,如果不写这个参数的话默认名称就是export.log,可以在本地的文件夹中找到 demo1: expdp mdm / wc8888 @sharedpdb DIRECTORY = DATA_PUMP_DIR schemas = MDM DUMPFILE = MDM1231 . dmp logfile = MDM1231 . log version = demo2:导出用户及对象 expdp scott / tiger @orcl schemas = scott dumpfile = expdp . dmp

expdp导出再rac得另一个主机上

扶醉桌前 提交于 2020-01-16 15:11:19
问题: 客户反馈,一套11.2.0.4 RAC环境中,写了一个Shell脚本,每天定时执行,但是备份得文件,有得时候再另一个节点出现,有得时候正常??? 思路: 备份得文件,使用expdp,什么情况下文件,会导出到另一个节点服务器上? 1.使用了parall并行参数,但是没用添加cluster,因为并行可能会再另一个实例上运行,导出得文件也在另一个节点上执行导出; 2.使用了远程方式,连接了RAC得另一个实例(再12c pdb中,如果需要导出,必须通过网络,但是11g没多大必要性); 向客户获取Expdp脚本 #!/bin/bash source /home/oracle/.bash_profile export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK _user=ccc _pwd=ccc _sid=abcdefg #_nodate=`date +%Y%m%d` _nodate=20200115 dat=`date +%Y%m%d -d -1days` dat=20200114 export ORACLE_SID=abcdefg /u01/app/oracle/product/11.2.0/dbhome_1/bin/expdp ${_user}/${_pwd}@${_sid} directory=DIRDUMP file=/oradata/enen$

How to use QUERY in expdp to extract only the last 3 months data

ぐ巨炮叔叔 提交于 2020-01-16 01:04:35
问题 In my other thread, I have asked how to extract only the last 3 months. However, I managed to extract data from the last 3 months only from one table and it extracted all data for other tables. I have several tables in my schema and the column names for the timestamp are different. In my par file I have the following QUERY but it did not work. I got ORA-00911 error message. I would like to know if the syntax of the below query is correct/possible . QUERY=TABLE1,TABLE2:"where TABLE1_STARTTIME