Centos7.6下oracle impdp导入和expdp导出

合集下载

Oracle中断中止expimp和expdpimpdp数据库导入导出

Oracle中断中止expimp和expdpimpdp数据库导入导出

Oracle中断中⽌expimp和expdpimpdp数据库导⼊导出⼀、中断、中⽌imp/exp导⼊导出imp、exp导⼊导出数据库是系统中的进程,我们只需要找到并将其kill掉即可。

但需要注意的是要先kill掉主进程,否则主进程还是会⽣成⼦进程,导⼊导出的动作还是会在后台进⾏。

eg.ps -ef | grep exp#找到主进程pid使⽤kill命令关掉进程kill -9 pidkill -9 ppid⼆、中断、中⽌expdp/impdp数据泵导⼊导出数据泵的导出就不像exp/imp那么简单了因为⽤数据泵导出是oracle的⼀个job,如果中断,中⽌那么就需要将这个job停⽌掉才可以。

2.1 查看job_name和状态select * from dba_datapump_jobs可以看到JOB_NAME是SYS_IMPORT_FULL_01状态是EXECUTING(正在执⾏的),并且正在执⾏的是IMPDP的导⼊操作。

2.2 连接当前存在的job使⽤ATTCH参数连接到2.1中查到的JOB作业上。

下⾯是完整的输出内容C:\Users\Administrator>impdp ⽤户名/密码g@实例名 attach=SYS_IMPORT_FULL_01Import: Release 11.2.0.1.0 - Production on 星期五 9⽉ 3 09:47:46 2021Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options作业: SYS_IMPORT_FULL_01所有者: SLCJ2021操作: IMPORT创建者权限: TRUEGUID: 93037C51864F4B7D82BF4FC46C527F7C开始时间: 星期五, 03 9⽉, 2021 9:16:33模式: FULL实例: orcl2最⼤并⾏度: 1EXPORT 个作业参数:参数名参数值:CLIENT_COMMAND slcj/********@orclgbk DIRECTORY=expdp_dir dumpfile=expdp_slcj_48_20210902.dmp logfile=expdp_slcj_48_20210902.log schemas=slcjIMPORT 个作业参数:CLIENT_COMMAND slcj2021/********@orcl2 directory=expdp_dir dumpfile=EXPDP_SLCJ_48_20210902.DMP logfile=impdp_slcj-slcj2021.log REMAP_SCHEMA=slcj:slcj2021 remap_tablespace=SLCJ:SLCJ2021,SLCJ_TEMP:SLCJ2021_TEMP状态: EXECUTING处理的字节: 7,835,243,664完成的百分⽐: 20当前并⾏度: 1作业错误计数: 0转储⽂件: D:\expdp_dir\EXPDP_SLCJ_48_20210902.DMPWorker 1 状态:进程名: DW00状态: EXECUTING对象⽅案: SLCJ2021对象名: CO_MONTH_REPORT_INFO对象类型: SCHEMA_EXPORT/TABLE/TABLE_DATA完成的对象数: 3总的对象数: 378完成的⾏数: 70,083,827完成的字节: 7,600,427,616完成的百分⽐: 100Worker 并⾏度: 1Import> stop_job是否确实要停⽌此作业 ([Y]/N): y是否确实要停⽌此作业 ([Y]/N): y是否确实要停⽌此作业 ([Y]/N): y是否确实要停⽌此作业 ([Y]/N): y是否确实要停⽌此作业 ([Y]/N): y是否确实要停⽌此作业 ([Y]/N): Y是否确实要停⽌此作业 ([Y]/N): YES上⾯stop_job的时候有个坑,可以看到我Y了很多次依然还是要求确认,最后搞明⽩了是需要输⼊YES!2.3 再次查看job状态可以看到JOB的状态已经发⽣了变化,现在是正在关闭2.4 ⽴即关闭JOB连接JOB参考2.2#⽴即将JOB关闭STOP_JOB=IMMEDIATE#分离和删除kill_job可以再次查看⼀下job,此时job应该已经不存在了。

Oracleexpdpimpdp导出导入命令及数据库备份(转)

Oracleexpdpimpdp导出导入命令及数据库备份(转)

Oracleexpdpimpdp导出导⼊命令及数据库备份(转)oracle数据导⼊导出命令、备份。

转载地址:以下是内容留存:使⽤EXPDP和IMPDP时应该注意的事项:EXP和IMP是客户端⼯具程序,它们既可以在客户端使⽤,也可以在服务端使⽤。

EXPDP和IMPDP是服务端的⼯具程序,他们只能在ORACLE服务端使⽤,不能在客户端使⽤。

IMP只适⽤于EXP导出的⽂件,不适⽤于EXPDP导出⽂件;IMPDP只适⽤于EXPDP导出的⽂件,⽽不适⽤于EXP导出⽂件。

expdp或impdp命令时,可暂不指出⽤户名/密码@实例名 as ⾝份,然后根据提⽰再输⼊,如:expdp schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;⼀、创建逻辑⽬录,该命令不会在操作系统创建真正的⽬录,最好以system等管理员创建。

create directory dpdata1 as 'd:\test\dump';⼆、查看管理理员⽬录(同时查看操作系统是否存在,因为Oracle并不关⼼该⽬录是否存在,如果不存在,则出错)select * from dba_directories;三、给scott⽤户赋予在指定⽬录的操作权限,最好以system等管理员赋予。

grant read,write on directory dpdata1 to scott;四、导出数据1)按⽤户导expdp schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;2)并⾏进程parallelexpdp directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott33)按表名导expdp TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;4)按查询条件导expdp directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';5)按表空间导expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;6)导整个数据库expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;五、还原数据1)导到指定⽤户下impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;2)改变表的ownerimpdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;3)导⼊表空间impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;4)导⼊数据库impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;5)追加数据impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION数据泵impdp参数:1.REMAP_DATAFILE该选项⽤于将源数据⽂件名转变为⽬标数据⽂件名,在不同平台之间搬移表空间时需要该选项.REMAP_DATAFILE=source_datafie:target_datafile2.REMAP_SCHEMA该选项⽤于将源⽅案的所有对象装载到⽬标⽅案中.REMAP_SCHEMA=source_schema:target_schema3.REMAP_TABLESPACE将源表空间的所有对象导⼊到⽬标表空间中REMAP_TABLESPACE=source_tablespace:target:tablespace4.REUSE_DATAFILES该选项指定建⽴表空间时是否覆盖已存在的数据⽂件.默认为NREUSE_DATAFIELS={Y | N}5.SKIP_UNUSABLE_INDEXES指定导⼊是是否跳过不可使⽤的索引,默认为N6,sqlfile 参数允许创建DDL 脚本⽂件impdp scott/tiger directory=dump_scott dumpfile=a1.dmp sqlfile=c.sql默认放在directory下,因此不要指定绝对路径7.STREAMS_CONFIGURATION指定是否导⼊流元数据(Stream Matadata),默认值为Y.8.TABLE_EXISTS_ACTION该选项⽤于指定当表已经存在时导⼊作业要执⾏的操作,默认为SKIPTABBLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | REPLACE }当设置该选项为SKIP时,导⼊作业会跳过已存在表处理下⼀个对象;当设置为APPEND时,会追加数据;当设置为TRUNCATE时,导⼊作业会截断表,然后为其追加新数据;当设置为REPLACE时,导⼊作业会删除已存在表,重建表并追加数据;注意,TRUNCATE选项不适⽤与簇表和NETWORK_LINK选项从⼀个⽤户的⼀个表空间导⼊到另⼀个⽤户的另⼀个表空间impdp username/passwd directory=expdptemp dumpfile=2015.11.24.dmp remap_schema=training_zj:hagen.zj REMAP_TABLESPACE=training:zhejiang.jianli关于空表exp不会导出的问题1、Oracle11g默认对空表不分配segment,故使⽤exp导出Oracle11g数据库时,空表不会导出。

EXPDB_IMPDB导出数据库和导入数据库操作手册

EXPDB_IMPDB导出数据库和导入数据库操作手册

EXPDB_IMPDB导出数据库和导入数据库操作手册1、简介本文档提供了EXPDB_IMPDB导出数据库和导入数据库的操作手册,旨在帮助用户进行数据库的备份和恢复操作。

2、数据库导出2.1 准备工作2.1.1 确定导出数据库选择需要导出的数据库,并记录数据库名称。

2.1.2 确定导出路径确定导出文件的存放路径,并确保该路径具有足够的存储空间。

2.2 导出操作步骤2.2.1 使用EXPDB命令打开命令行界面,执行以下命令导出数据库:```expdb username/passworddb_namedirectory=export_directory dump```其中,username和password是数据库登录的用户名和密码,db_name是需要导出的数据库名称,export_directory是导出文件的存放路径,export_是导出文件的名称。

2.3 导出结果验证导出完成后,可以通过查看导出文件的大小和时间戳来验证导出是否成功。

3、数据库导入3.1 准备工作3.1.1 确定导入数据库确定需要导入数据的目标数据库,并记录该数据库的名称。

3.1.2 准备导入文件确保已经获得需要导入的数据库文件,并将其放置在合适的位置。

3.2 导入操作步骤3.2.1 使用IMPDB命令打开命令行界面,执行以下命令导入数据库:```impdb username/passworddb_namedirectory=import_directory dump```其中,username和password是数据库登录的用户名和密码,db_name是目标数据库的名称,import_directory是导入文件所在的路径,import_是需要导入的数据库文件。

3.3 导入结果验证导入完成后,可以通过查询目标数据库中的数据来验证导入是否成功。

4、附件本文档所提及的附件包括:导出文件和导入文件。

5、法律名词及注释本文档未涉及具体的法律名词和注释,请根据实际情况进行补充。

imp和exp命令导入和导出.dmp文件

imp和exp命令导入和导出.dmp文件

Oracle数据库文件中的导入\导出(imp/exp命令)Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。

exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。

执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle 8i 中安装目录ora81BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。

下面介绍的是导入导出的实例。

数据导出:1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中exp system/manager@TEST file=d:daochu.dmp full=y2 将数据库中system用户与sys用户的表导出exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)3 将数据库中的表inner_notify、notify_staff_relat导出exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmptables=(inner_notify,notify_staff_relat)4 将数据库中的表table1中的字段filed1以"00"打头的数据导出exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。

也可以在上面命令后面加上compress=y 来实现。

数据的导入1 将D:daochu.dmp 中的数据导入TEST数据库中。

导入导出工具exp、imp、expdp、impdp

导入导出工具exp、imp、expdp、impdp

导入导出工具exp、imp、expdp、impdp导入导出工具exp、imp、expdp、impdp exp和imp是在数据泵之前的逻辑备份工具。

一:导出工具exp1.$ORACLE_HOME/bin 操作系统下可执行文件导出工具将数据库中的数据压缩在一个二进制文件三中模式:a.表模式:导出用户所有的表或者指定的表b.用户模式:导出用户下的所有内容c.整个数据库:导出数据库中的所有对象c查看帮助命令exp help =y练习导出前1)查询数据库的字符集(方法很多只用一种)SQL> select userenv('language') from dual;USERENV('LANGUAGE')----------------------------------------------------AMERICAN_AMERICA.WE8ISO8859P12)设置Linux操作系统的NLS_LANG环境变量export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1开始导出使用exp把scott.emp表导出来导出文件名scott.empexp help=y imp help=y 查看帮助exp scott/oracle TABLES=emp file=scott.emp然后删除scott.emp表sqlplus scott/oracledrop table emp;最后使用导出的文件恢复原来的emp表imp scott/oracle TABLES=emp file=scott.emp检查是否成功select count(*) from scott.emp;例如:表模式exp scott/oracle tables=emp file=emp.dmp导出多张表exp scott/oracle tables=emp,dept file=ed.dmp使用sys用户导出exp tables=scott.emp file=emp1.dmpusername:sys as sysdbapassword: oracle或者exp \'sys/oracle as sysdba\' tables=scott.emp file=emp2.dmp用户模式导出用户所有的对象exp scott/oracle owner=scott file=soctt.dmp全库导出exp system/oracle full=y file=full.dmp指定导出片的大小,限制为1gexp scott/oracle tables=emp file=emp2.dmpfilesize=1g参数filesize 指定了二进制备份文件的最大字节数目的是解决某些操作系统下2g物理文件限制以及可以加快压缩和方便刻录光盘等也可以远程导出到本地exp system/oracle@orcl tables=scott.emp file=emp168.dmp 导入工具:imp1 该工具是$ORACLE_HOME/bin下一个可执行文件2 imp将exp生成的二进制文件导入数据库中只有exp_full_database 和dba权限的用户才能做整个数据库的导入grant exp_full_database to scott;3 imp操作步骤先create table -->insert data -->create index -->create trigger ,constriants例子练习:先删除scott.emp 表的记录,使用备份文件恢复记录sqlplus scott/oracletruncate table emp;select count(*) from emp;imp scott/oracle tables=emp file=emp.dmp ignore=y参数ignore=y 表示直接导入数据检查结果select cont(*) from emp;将某用户的表导入到另一个用户下:交互式imp tables=emp file=emp.dmp fromuser=scott touser=hr 输入用户名:sys as sysdba输入密码: oracle非交互式imp \'sys/oracle as sysdba\' tables=emp file=emp.dmp fromuser=scott touser=hr 约束报错,可以不需要创建约束,加入参数CONSTRAINTS=N4 导入可能出现的问题a 数据对象已经存在解决方法:使用参数ignore=y 会把exp文件的数据内容直接导入如果表有唯一关键字约束,不符合条件的不导入如果表没有唯一关键字约束,将引起重复记录b 数据库对象有主外键约束不符合主外键约束,数据导入失败解决方法:先导入主表,在导入从表或者先禁用主外键,导入完成后在启用c 权限不够给予imp_full_databaseexp_full_databased 字符集问题如果字符集不同,导入失败查看oracle server端的字符集select userenv('language') from dual;查看dump文件字符集cat scott.dmp |od -x|head -1|awk '{print $2 $3}'|cut -c 3-60345select nls_charset_name(to_number('0354','xxxx')) from dual;查看oracle client端字符集echo $NLS_LANG如果检查结果发现server端和client字符集不一样,修改为同server端相同的字符集导出的过程转换在export过程中,源数据库字符集与export用户会话字符集不一致会发生字符集转换,并在导出文件头部几个字节中存储export用户会话字符集ID号,在这个过程中肯可能发生数据丢失。

EXPDB_IMPDB导出数据库和导入数据库操作手册

EXPDB_IMPDB导出数据库和导入数据库操作手册

EXPDB_IMPDB导出数据库和导入数据库操作手册EXPDP/IMPDP导出导入操作手册1.介绍EXPDP/IMPDP 是 Oracle 数据库中提供的一种工具,用于导出和导入数据库中的数据和对象。

通过使用 EXPDP 可以将数据库中的指定数据表、视图、程序、触发器等对象导出到一个二进制文件中,而使用 IMPDP 可以将这个导出的文件再导入到一个新的数据库中。

2.环境设置在使用 EXPDP/IMPDP 前,需要进行一些环境设置。

首先,确保数据库已经以归档模式运行,并且存在一个有效的备份策略。

其次,确认当前用户具备使用 EXPDP/IMPDP 的权限,可以通过以下语句进行授权:```GRANT EXP_FULL_DATABASE, IMP_FULL_DATABASE TO username;```其中,`username` 是需要授权的用户名。

3.导出数据库要导出数据库,可以使用以下命令:```expdp username/passwordconnect_stringDIRECTORY=directory_name DUMP LOG```其中,`username` 是要导出数据的用户名,`password` 是该用户的密码,`connect_string` 是连接数据库的字符串,`directory_name` 是导出文件所在的目录,`dump` 是导出文件的名称,`log` 是导出日志文件的名称。

4.导入数据库要导入数据库,可以使用以下命令:```impdp username/passwordconnect_stringDIRECTORY=directory_name DUMP LOG```其中,`username` 是要导入数据的用户名,`password` 是该用户的密码,`connect_string` 是连接数据库的字符串,`directory_name` 是导入文件所在的目录,`dump` 是导入文件的名称,`log` 是导入日志文件的名称。

Oracle使用expdb、impdb解决导出、导入时的用户修改、表空间修改变更问题

Oracle使用expdb、impdb解决导出、导入时的用户修改、表空间修改变更问题

Oracle使⽤expdb、impdb解决导出、导⼊时的⽤户修改、表空间修改变更问题对于Oracle的数据导出和导⼊,我们之前⼀直使⽤exp、imp来处理,但⽤imp在导⼊时经常会要求表空间⼀致,⽽博主今天恰恰就遇到了需要变更表空间和⽤户的情况,这在我们平常的业务场景中也会遇到,那么该如何处理呢?我们采⽤Oralce的 “数据泵” Data Dump来处理。

测试环境:Windows Server 2008 R2、Oracle11g⽬录1、数据泵(Data Dump)主要解决问题2、数据泵使⽤限制3、创建测试数据库4、导出源数据库5、导⼊⽬标数据库6、验证导⼊后表空间1、数据泵(Data Dump)主要解决问题①. ⽐imp/exp更加灵活,⽀持多种元数据过滤策略,多种导⼊、导出模式,如将A表空间B⽤户数据导⼊C表空间D⽤户下,则只需REMAP_SCHEMA即可②. 表空间占⽤和表空间变更问题,可使⽤REMAP_TABLESPACE来解决③. 空表问题,Oracle11g新的表并且表中⽆数据也为使⽤过则表的segment空间是不会分配的,这样在使⽤exp导出时空表便不会被导出,解决这个问题要么给空分配segment或直接使⽤expdp。

④. 效率问题。

普通情况下expdp/impdp⽐exp/imp效率要⾼,⾼多少博主没有测试,有兴趣的不妨验证下,@博主。

2、数据泵使⽤限制使⽤expdp、impdp有条件限制⼀是远程使⽤时必须配置好Database Link,因为expdp、impdp只能在服务端使⽤,不能再客户端使⽤;⼆是试⽤前要解决路径配置问题。

3、创建测试数据库创建源⽤户和表空间,为了便于操作我们给新创建⽤户授权的了dba权限,⼤家在本地使⽤时注意1. /*第1步:创建临时表空间 */2. create temporary tablespace test_source_temp3. tempfile 'D:\Oracle11g\oradata\test_source_temp.dbf'4. size 10m5. autoextend on6. next 1m maxsize unlimited7. extent management local;8.9. /*第2步:创建数据表空间 */10. create tablespace test_source11. logging12. datafile 'D:\Oracle11g\oradata\test_source.dbf'13. size 10m14. autoextend on15. next 1m maxsize unlimited16. extent management local;17.18. /*第3步:创建⽤户并指定表空间 */19. create user test_source identified by a12345620. default tablespace test_source21. temporary tablespace test_source_temp;22.23. /*第4步:给⽤户授予权限 */24. grant connect,resource,dba to test_source;创建两张测试表,⼀张基础数据类型,⼀张含clob、blob、date等复杂数据类型1. --表12. create table tab_13. (4. tab1_field1 number,5. tab1_field2 varchar2(20),6. tab1_field3 varchar2(10)9. insert into TAB_1 (tab1_field1, tab1_field2, tab1_field3) values (1, 'a12', 'a13');10. insert into TAB_1 (tab1_field1, tab1_field2, tab1_field3) values (2, '张22', '李23');11.12. --表213. create table TAB_214. (15. tab2_field1 NUMBER,16. tab2_field2 VARCHAR2(20),17. tab2_field3 DATE,18. tab2_field4 CLOB,19. tab2_field5 BLOB20. )21. --插⼊测试数据22. insert into TAB_2 (tab2_field1,tab2_field2,tab2_field3,tab2_field4,tab2_field5) values ('1','A12',SYSDATE,'测试1','C1');23. insert into TAB_2 (tab2_field1,tab2_field2,tab2_field3,tab2_field4,tab2_field5) values ('1','测试22',SYSDATE,'测试2','C2');24. insert into TAB_2 (tab2_field1,tab2_field2,tab2_field3,tab2_field4,tab2_field5) values ('1','嘿嘿32',SYSDATE,'测试3','C3');创建⽬标⽤户和表空间1. /*第1步:创建临时表空间 */2. create temporary tablespace test_target_temp3. tempfile 'D:\Oracle11g\oradata\test_target_temp.dbf'4. size 10m5. autoextend on6. next 1m maxsize unlimited7. extent management local;8.9. /*第2步:创建数据表空间 */10. create tablespace test_target11. logging12. datafile 'D:\Oracle11g\oradata\test_target.dbf'13. size 10m14. autoextend on15. next 1m maxsize unlimited16. extent management local;17.18. /*第3步:创建⽤户并指定表空间 */19. create user test_target identified by a12345620. default tablespace test_target21. temporary tablespace test_target_temp;22.23. /*第4步:给⽤户授予权限 */24. grant connect,resource,dba to test_target;4、导出源数据库这⾥需要注意:EXP和IMP是客户端⼯具程序,它们既可以在客户端使⽤,也可以在服务端使⽤。

【Oracle】EXPDP和IMPDP数据泵进行导出导入的方法

【Oracle】EXPDP和IMPDP数据泵进行导出导入的方法

【Oracle】EXPDP和IMPDP数据泵进⾏导出导⼊的⽅法⼀、expdp/impdp和exp/imp客户端⼯具1、exp和imp是客户端⼯具程序,它们既可以在客户端使⽤,也可以在服务端使⽤。

服务端⼯具2、expdp和impdp是服务端的⼯具程序,他们只能在oracle服务端使⽤,不能在客户端使⽤。

注意:3、imp只适⽤于exp导出的⽂件,不适⽤于expdp导出⽂件;impdp只适⽤于expdp导出的⽂件,⽽不适⽤于exp导出⽂件。

4、对于10g以上的服务器,使⽤exp通常不能导出0⾏数据的空表,⽽此时必须使⽤expdp导出。

⼆、expdp导出步骤(1)创建导出逻辑⽬录⽤sys管理员登录sqlplus[oracle@shdb02 ~]$ export ORACLE_SID=fp2[oracle@shdb02 ~]$ echo $ORACLE_SIDfp2[oracle@shdb02 ~]$ sqlplusSQL*Plus: Release 11.2.0.4.0 Production on Sat Mar 19 21:53:42 2022Copyright (c) 1982, 2013, Oracle. All rights reserved.Enter user-name: sys as sysdbaEnter password:**********Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,Data Mining and Real Application Testing optionsSQL>如果提⽰:Connected to an idle instance. //这个就是错误的信息。

oracle使用expdp、impdp和exp、imp导入导出表及表结构

oracle使用expdp、impdp和exp、imp导入导出表及表结构

oracle使⽤expdp、impdp和exp、imp导⼊导出表及表结构使⽤expdp、impdp和exp、imp时应该注重的事项:1、exp和imp是客户端⼯具程序,它们既可以在客户端使⽤,也可以在服务端使⽤。

2、expdp和impdp是服务端的⼯具程序,他们只能在oracle服务端使⽤,不能在客户端使⽤。

3、imp只适⽤于exp导出的⽂件,不适⽤于expdp导出⽂件;impdp只适⽤于expdp导出的⽂件,⽽不适⽤于exp导出⽂件。

4、对于10g以上的服务器,使⽤exp通常不能导出0⾏数据的空表,⽽此时必须使⽤expdp导出。

exp、imp导⼊导出sqlplus 进⼊数据库中导出直接在命令⾏下写命令1.导出⾃⼰的表exp userid=scott/tiger@myoral tables=(emp,dept) file=/opt/e1.dmp2.导出其它⽅案的表如果⽤户要导出其它⽅案的表,则需要dba的权限或是exp_full_database的权限,⽐如system就可以导出scott的表exp userid=system/manager@myoral tables=(scott.emp) file=d:\e2.emp3. 导出表的结构exp userid=scott/tiger@accp tables=(emp) file=/opt/e3.dmp rows=n4. 使⽤直接导出⽅式exp userid=scott/tiger@accp tables=(emp) file=/opt/e4.dmp direct=y这种⽅式⽐默认的常规⽅式速度要快,当数据量⼤时,可以考虑使⽤这样的⽅法。

这时需要数据库的字符集要与客户端字符集完全⼀致,否则会报错导出⽅案导出⽅案是指使⽤export⼯具导出⼀个⽅案或是多个⽅案中的所有对象(表,索引,约束...)和数据。

并存放到⽂件中1. 导出⾃⼰的⽅案exp userid=scott/tiger@myorcl owner=scott file=/opt/scott.dmp2. 导出其它⽅案如果⽤户要导出其它⽅案,则需要dba的权限或是exp_full_database的权限,⽐如system⽤户可以导出任何⽅案exp userid=system/manager@myorcl owner=(system,scott) file=/opt/system.dmp导出数据库导出数据库是指利⽤export导出所有数据库中的对象及数据,要求该⽤户具有dba的权限或者是exp_full_database权限增量备份(好处是第⼀次备份后,第⼆次备份就快很多了)exp userid=system/manager@myorcl full=y inctype=complete file=/opt/all.dmp导⼊1. 导⼊⾃⼰的表imp userid=scott/tiger@myorcl tables=(emp) file=/opt/xx.dmp2. 导⼊表到其它⽤户要求该⽤户具有dba的权限imp_full_database imp userid=system/tiger@myorcl tables=(emp) file=/opt/xx.dmp touser=scott3. 导⼊表的结构,只导⼊表的结构⽽不导⼊数据imp userid=scott/tiger@myorcl tables=(emp) file=/opt/xx.dmp rows=n4. 导⼊数据如果对象(如⽐表)已经存在可以只导⼊表的数据imp userid=scott/tiger@myorcl tables=(emp) file=/opt/xx.dmp ignore=y导⼊⽅案导⼊⽅案是指使⽤import⼯具将⽂件中的对象和数据导⼊到⼀个或是多个⽅案中。

oracle导入导出参数,ORACLE数据导入导出里的EXPIMP命令参数

oracle导入导出参数,ORACLE数据导入导出里的EXPIMP命令参数

oracle导⼊导出参数,ORACLE数据导⼊导出⾥的EXPIMP命令参数1、EXP:1、完全:EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:/FULL.DMP FULL=Y如果要执⾏完全导出,必须具有特殊的权限2、⽤户模式:EXP SONIC/SONIC BUFFER=64000 FILE=C:/SONIC.DMP OWNER=SONIC这样⽤户SONIC的所有对象被输出到⽂件中。

3、表模式:EXP SONIC/SONIC BUFFER=64000 FILE=C:/SONIC.DMP OWNER=SONIC TABLES=(SONIC)这样⽤户SONIC的表SONIC就被导出exp参数:关键字 说明(默认)----------------------------------------------USERID ⽤户名/⼝令FULL 导出整个⽂件 (N)BUFFER 数据缓冲区的⼤⼩OWNER 所有者⽤户名列表FILE 输出⽂件 (EXPDAT.DMP)TABLES 表名列表COMPRESS 导⼊⼀个范围 (Y)RECORDLENGTH IO 记录的长度GRANTS 导出权限 (Y)INCTYPE 增量导出类型INDEXES 导出索引 (Y)RECORD 跟踪增量导出 (Y)ROWS 导出数据⾏ (Y)PARFILE 参数⽂件名CONSTRAINTS 导出限制 (Y)CONSISTENT 交叉表⼀致性LOG 屏幕输出的⽇志⽂件STATISTICS 分析对象 (ESTIMATE)DIRECT 直接路径 (N)TRIGGERS 导出触发器 (Y)FEEDBACK 显⽰每 x ⾏ (0) 的进度FILESIZE 各转储⽂件的最⼤尺⼨QUERY 选定导出表⼦集的⼦句2、IMP:具有三种模式(完全、⽤户、表)1、完全:IMP SYSTEM/MANAGER BUFFER=64000 FILE=C:/FULL.DMP FULL=Y2、⽤户模式:IMP SONIC/SONIC BUFFER=64000 FILE=C:/SONIC.DMP FROMUSER=SONIC TOUSER=SONIC 这样⽤户SONIC的所有对象被导⼊到⽂件中。

Oracle导入导出(imp,exp,impdp,expdp)详解

Oracle导入导出(imp,exp,impdp,expdp)详解
BUFFER 数据缓冲区大小 FROMUSER 所有者用户名列表
FILE 输入文件 (EXPDAT.DMP) TOUSER 用户名列表
SHOW 只列出文件内容 (N) TABLES 表名列表
IGNORE 忽略创建错误 (N) RECORDLENGTH IO 记录的长度
RESUMABLE_TIMEOUT RESUMABLE 的等待时间
COMPILE 编译过程, 程序包和函数 (Y)
STREAMS_CONFIGURATION 导入流的一般元数据 (Y)
STREAMS_INSTANTIATION 导入流实例化元数据 (N)
ROWS 导出数据行 (Y) PARFILE 参数文件名
CONSISTENT 交叉表的一致性 (N) CONSTRAINTS 导出的约束条件 (Y)
OBJECT_CONSISTENT 只在对象导出期间设置为只读的事务处理 (N)
FEEDBACK 每 x 行显示进度 (0)
USERID 必须是命令行中的第一个参数。
关键字 说明 (默认值) 关键字 说明 (默认值)
--------------------------------------------------------------------------
USERID 用户名/口令 FULL 导入整个文件 (N)
GRANTS 导入权限 (Y) INCTYPE 增量导入类型
INDEXES 导入索引 (Y) COMMIT 提交数组插入 (N)
ROWS 导入数据行 (Y) PARFILE 参数文件名
LOG 屏幕输出的日志文件 CONSTRAINTS 导入限制 (Y)
BUFFER 数据缓冲区大小 OWNER 所有者用户名列表

oracle数据泵(expdpimpdp)的导入导出语句

oracle数据泵(expdpimpdp)的导入导出语句
五、还原数据 1)导到指定用户下 create directory temp as 'D:/dp_temp'; grant read,write on directory temp to user; impdp user/password@x.x.x.x/orcl DUMPFILE=datas.dmp DIRECTORY=temp SCHEMAS=user ;
缺点:必须在oraclee并不关心该目录是否存在如果不存在则出错
oracle数据泵( expdpimpdp)的导入导出语句
一、查看管理理员目录(因为Oracle并不关心该目录是否存在,如果不存在,则出错) select * from dba_directories;
二、创建dmp导出目录,最好以system等管理员创建。(如果发现磁盘上temp目录未新建成功,手动新建目录即可) create directory temp as 'D:/dp_temp';
三、给user用户赋予在指定目录的操作权限,最好以system等管理员赋予。 grant read,write on directory temp to user;
四、导出数据 1)按用户导 expdp user/password@x.x.x.x/orcl schemas=user dumpfile=datas.dmp DIRECTORY=temp;

oracle中exp,imp(导入,导出)的使用详解

oracle中exp,imp(导入,导出)的使用详解

oracle中exp,imp(导⼊,导出)的使⽤详解今天说说Oracle数据库的导⼊(imp.exe)和导出(exp.exe)命令的使⽤,我们的电脑⾥⾯安装完Oracle或OracleClient的时候,在我们的安装⽬录⾥⾯就有这两个命令了,⼀般是在你的Oracle安装⽬录下⾯的bin⽂件夹下⾯会有exp.exe和imp.exe这两个⽂件,它们都是在命令⾏下运⾏,⾸先打开你的CMD程序,然后切换到Oracle的bin⽬录下⾯。

下⾯就看看这两个命令的具体⽤法:基本语法和实例:1、EXP:有三种主要的⽅式(完全、⽤户、表)1、完全:EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y如果要执⾏完全导出,必须具有特殊的权限2、⽤户模式:EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC这样⽤户SONIC的所有对象被输出到⽂件中。

3、表模式:EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC)这样⽤户SONIC的表SONIC就被导出2、IMP:具有三种模式(完全、⽤户、表)1、完全:IMP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y2、⽤户模式:IMP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP FROMUSER=SONIC TOUSER=SONIC这样⽤户SONIC的所有对象被导⼊到⽂件中。

必须指定FROMUSER、TOUSER参数,这样才能导⼊数据。

3、表模式:EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC)这样⽤户SONIC的表SONIC就被导⼊。

Oracleexp及imp导出导入工具的使用(全)

Oracleexp及imp导出导入工具的使用(全)

ORACLE EXP/IMP的使用详解1导入/导出是ORACLE幸存的最古老的两个命令行工具,其实我从来不认为Exp/Imp是一种好的备份方式,正确的说法是Exp/Imp只能是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理冲突等中有不小的功劳。

当然,我们也可以把它作为小型数据库的物理备份后的一个逻辑辅助备份,也是不错的建议。

对于越来越大的数据库,特别是TB级数据库和越来越多数据仓库的出现, EXP/IMP越来越力不从心了,这个时候,数据库的备份都转向了RMAN和第三方工具。

下面说明一下EXP/IMP的使用。

如何使exp的帮助以不同的字符集显示:set nls_lang=simplifiedchinese_china.zhs16gbk,通过设置环境变量,可以让exp的帮助以中文显示,如果set nls_lang=American_america.字符集,那么帮助就是英文的了EXP的所有参数(括号中为参数的默认值:USERID 用户名/口令如:USERID=duanl/duanlFULL 导出整个数据库(NBUFFER 数据缓冲区的大小OWNER 所有者用户名列表,你希望导出哪个用户的对象,就用owner=username FILE 输出文件(EXPDAT.DMPTABLES 表名列表,指定导出的table名称,如:TABLES=table1,table2COMPRESS 导入一个extent (YRECORDLENGTH IO 记录的长度GRANTS 导出权限(YINCTYPE 增量导出类型INDEXES 导出索引(YRECORD 跟踪增量导出(YROWS 导出数据行(YPARFILE 参数文件名,如果你exp的参数很多,可以存成参数文件. CONSTRAINTS 导出约束(YCONSISTENT 交叉表一致性LOG 屏幕输出的日志文件STATISTICS 分析对象(ESTIMATEDIRECT 直接路径(NTRIGGERS 导出触发器(YFEEDBACK 显示每x 行(0 的进度FILESIZE 各转储文件的最大尺寸QUERY 选定导出表子集的子句下列关键字仅用于可传输的表空间TRANSPORT_TABLESPACE 导出可传输的表空间元数据(N TABLESPACES 将传输的表空间列表IMP的所有参数(括号中为参数的默认值:USERID 用户名/口令FULL 导入整个文件(NBUFFER 数据缓冲区大小FROMUSER 所有人用户名列表FILE 输入文件(EXPDAT.DMPTOUSER 用户名列表SHOW 只列出文件内容(NTABLES 表名列表IGNORE 忽略创建错误(N RECORDLENGTH IO 记录的长度GRANTS 导入权限(YINCTYPE 增量导入类型INDEXES 导入索引(YCOMMIT 提交数组插入(NROWS 导入数据行(YPARFILE 参数文件名LOG 屏幕输出的日志文件CONSTRAINTS 导入限制(Y DESTROY 覆盖表空间数据文件(N INDEXFILE 将表/索引信息写入指定的文件SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护(NANALYZE 执行转储文件中的ANALYZE 语句(YFEEDBACK 显示每x 行(0 的进度TOID_NOVALIDATE 跳过指定类型id 的校验FILESIZE 各转储文件的最大尺寸RECALCULATE_STATISTICS 重新计算统计值(N下列关键字仅用于可传输的表空间TRANSPORT_TABLESPACE 导入可传输的表空间元数据(NTABLESPACES 将要传输到数据库的表空间DATAFILES 将要传输到数据库的数据文件TTS_OWNERS 拥有可传输表空间集中数据的用户关于增量参数的说明:exp/imp的增量并不是真正意义上的增量,所以最好不要使用。

expdp,impdp导出导入远程数据库到本地

expdp,impdp导出导入远程数据库到本地

expdp,impdp导出导⼊远程数据库到本地建议:若备份数据库较⼤远程导⼊导出⽐较容易出错,建议先备份表结构,再导⼊表数据1.本地数据库新建⼀个⽤户test,并授予以下基本权限grant connect to test;grant resource to test;grant create table, create database link to test;grant create session to test;2.创建远程dblinkcreate public database link linkname_xxx connect to 远程username identified by 远程password using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 端⼝)))(CONNECT_DATA =(SERVICE_NAME= 服务名)))';3.创建导出⽂件⽬录,本地要存在该路径,并授权给testcreate directory expdir as 'e:\expdir';grant read,write on directory expdir to test;4.参数解释参数名说明使⽤⽰例network_link指定远程dblink network_link=linknamedirectory指定导出⽬录directory=directorynamedumpfile指定备份⽂件名dumpfile=remoteDB.dmplogfile指定⽇志⽂件名logfile=logname.logschemas指定导出/导⼊某⼀个⽤户schemas=remoteDBUernamecontent指定要导出的内容,默认值为ALL,语法如下:content={all|data_only | metadata_only}content=metadata_onlyremap_schema只在导⼊时使⽤,实现将⼀个⽤户的的数据迁移到另外⼀个⽤户remap_schema=localDBuername:remoteDBUernameremap_tablespace只在导⼊时使⽤,把冒号前⾯的表空间对象导⼊到冒号后⾯的表空间remap_tablespace=sourceTablespace:target Tablespacetable_exists_action 只在导⼊时使⽤,导⼊时,假如⽬标库中已存在对应的表,对于这种情况,提供三种不同的处理⽅式:append,truncate,skip,replaceappend : 追加数据到表中truncate: 将⽬标库中的同名表的数据truncate掉。

expexpdp与impimpdp命令导入导出数据库详解-1

expexpdp与impimpdp命令导入导出数据库详解-1

expexpdp与impimpdp命令导⼊导出数据库详解-1转载于:⼀、exp命令导出数据库如何使exp的帮助以不同的字符集显⽰:set nls_lang=simplified chinese_china.zhs16gbk,通过设置环境变量,可以让exp的帮助以中⽂显⽰,如果set nls_lang=American_america.字符集,那么帮助就是英⽂的了。

参数:1.1 导出⽤户全部数据exp 登录名称/⽤户密码@服务命名 FILE=⽂件存储的路径以及名称 log=⽇志存储的路径以及名称 FULL=Y(表⽰导出全部数据,如视图、索引关联关系等等全部的东西)exp hlsoa/hlsoa@orcl file=E:\test\file log=E:\test\log full=y 这是导出本地数据库如果要是导出远程数据库需要修改tnsnames.ora 在连接字符串中将HOST改为远程数据库地址也可以直接通过服务器地址加服务命名解决exphlsoa/*************.1.227/orclfile=E:\test\filelog=E:\test\logfull=y注意:在test⽂件夹下可以新建file.dmp、log.log⽂件也可以不建,系统会⾃动创建。

上⾯命令中可以加⽂件后缀,也可以不加。

但是test这个⽂件夹必须要存在。

1.2导出数据库结构⽽不导出数据exp 登录名称/⽤户密码@服务命名 file=⽂件存储的路径以及名称 log=⽇志存储的路径以及名称 full=y rows=n(不导出⾏数据)exp hlsoa/hlsoa@orcl file=E:\test\file log=E:\test\log full=y rows=n1.3导出⼀个或者多个指定表exp 登录名称/⽤户密码@服务命名 file=⽂件存储的路径以及名称 log=⽇志存储的路径以及名称 tables=表名字exp 登录名称/⽤户密码@服务命名 file=⽂件存储的路径以及名称 log=⽇志存储的路径以及名称 tables=(表1,表2,表3,表N)1.4 导出某个⽤户所拥有的数据库表exp ⽤户名/密码@服务命名 file=存放位置\存放⽂件名.dmp log=存放位置\存放⽂件名.log owner=拥有者⽤户名exp hlsoa/hlsoa@orcl file=E:\test\file log=E:\test\log owner=(hlsoa)1.5 ⽤多个⽂件分割⼀个导出⽂件exp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4) log=paycheck, filesize=1G tables=hr.paycheck1.6使⽤参数⽂件导出数据exp system/manager@服务命名 parfile=bible_tables.parbible_tables.par(参数⽰例⽂件):#Export the sample tables used for the Oracle8i Database Administrator's Bible.file=bible_tables(⽂件存储的路径以及名称)log=bible_tables(⽇志存储的路径以及名称)tables=(amy.artistamy.booksseapark.checkupseapark.items)1.7 增量导出数据--“完全”增量导出(complete),即备份整个数据库exp system/manager@服务命名 inctype=complete file=990702.dmp--“增量型”增量导出(incremental),即备份上⼀次备份后改变的数据exp system/manager@服务命名 inctype=incremental file=990702.dmp--“累计型”增量导出(cumulative),即备份上⼀次“完全”导出之后改变的数据exp system/manager@服务命名 inctype=cumulative file=990702.dmp导出某个⽤户所拥有的数据库表:exp ⽤户名/密码@服务命名 file=存放位置\存放⽂件名.dmp log=存放位置\存放⽂件名.log owner=拥有者⽤户名1.8估计导出⽂件的⼤⼩--整个数据库全部表总字节数:SELECT sum(bytes)/1024/1024/1024 "占⽤空间:单位GB"FROM dba_segmentsWHERE segment_type = 'TABLE';--指定⽤户所属表的总字节数:SELECT sum(bytes)FROM dba_segmentsWHERE owner = 'SEAPARK'AND segment_type = 'TABLE';seapark⽤户下的aquatic_animal表的字节数:SELECT sum(bytes)FROM dba_segmentsWHERE owner = 'SEAPARK'AND segment_type = 'TABLE'AND segment_name = 'AQUATIC_ANIMAL'⼆、imp 命令导⼊数据库参数:2.1 导⼊⼀个完整数据库imp 登录名称/⽤户密码@服务命名 FILE=数据⽂件存储的路径以及名称 log=⽇志存储的路径以及名称 FULL=Y IGNORE=y(因为有的表已经存在,然后它就报错,对该表就不进⾏导⼊,然后忽略该报错)imp system/manager file=bible_db log=dible_db full=y ignore=y2.2导⼊⼀个或⼀组指定⽤户所属的全部表、索引和其他对象imp system/manager file=seapark log=seapark fromuser=seaparkimp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)2.3 将⼀个⽤户所属的数据导⼊另⼀个⽤户imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copyimp system/manager file=tank log=tank fromuser=(seapark,amy) touser=(seapark1, amy1)2.4 导⼊⼀个或者多个表imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)2.5 从多个⽂件导⼊imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4) log=paycheck, filesize=1G full=y2.6 使⽤参数⽂件imp system/manager parfile=bible_tables.parbible_tables.par参数⽂件:#Import the sample tables used for the Oracle8i Database Administrator'sBible. fromuser=seapark touser=seapark_copy file=seapark log=seapark_import2.7 增量导⼊imp system./manager inctype= RECTORE FULL=Y FILE=A三、expdp命令导出数据库3.1 参数介绍序号关键字说明 (默认)01ATTACH连接到现有作业, 例如 ATTACH [=作业名]。

使用expdp以及impdp导入导出数据库

使用expdp以及impdp导入导出数据库

使用数据泵备分恢复数据库特别注意:以下介绍的EXPDP、IMPDP命令最后面不允许使用分号“;”结尾否则命令会报错使用expdp以及impdp导入导出数据库用户的效率比exp、imp要快很多,下面介绍具体的操作方式:一、创建备份目录并授权注意,备份目录是指服务器上的目录,需要首先在相应的目录上创建目录,且创建以及指向的目录所在的盘符要具备相应的空间。

C:\sqlplus user/password@orclSQL> create directory databf as 'd:\oracle\bf'; 创建备份或者导出时指向的目录目录已创建。

SQL> grant read, write on directory databf to nc57;授权成功。

二、备份导出expdp nc57/nc57@orcl DIRECTORY=databf DUMPFILE=nc57.dmp logfile=expnc57.log SCHEMAS=nc57,nc56上述命令导出了两个用户:NC57、NC56二、备份的数据的恢复注意:由于备份的数据是在服务器上的,所以如果要恢复到其他机器上,需要先把备份的数据拷贝到目标服务器上。

同样需要先指定备份的目录:C:\sqlplus user/password@orclSQL> create directory databf as 'd:\oracle\bf'; 创建备份或者导出时指向的目录目录已创建。

备份之前首先要创建用户,然后授权:grant read,write on directory databf to nc57;成功。

D:\oracle\bf>impdp nc57/1@orcl directory=databf dumpfile=nc5710131220.dmp remap_schema=nc57:nc571上述命令把原导出的用户nc57导入到用户nc571中导入时使用exclude=table_statistics 可以避免导入table_statistics出现问题样例:expdp system/sys@orcl92 directory=databf dumpfile=nc57_zzyxwt.dmp logfile=expzzyx.log schemas=nc57px exclude=table:\"like\'H%\'\" exclude=table:\"like\'WA%\'\" exclude=table:\"like\'RM_%\'\" exclude=table:\"like\'FA%\'\" exclude=table_statistics query='WHERE deptno=20'expdp system/sys@orcl92 directory=databf dumpfile=nc57_zzyxwt1.dmp logfile=expzzyx1.log schemas=nc57px exclude=table:\"not like\'BD_PSNBASDO%\'\" exclude=table_statisticsimpdp system/sys@orcl92 directory=databf dumpfile=nc57_zzyxwt.dmp logfile=impzzyx.log remap_schema=nc57px:test exclude=table:\"like\'NTB%\'\"详细说明:数据泵文件expdp介绍EXPDP命令行选项1. ATTACH该选项用于在客户会话与已存在导出作用之间建立关联.语法如下ATTACH=[schema_name.]job_nameSchema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用ATTAC H选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下: Expdp scott/tiger ATTACH=scott.export_job2. CONTENT该选项用于指定要导出的内容.默认值为ALLCONTENT={ALL | DATA_ONLY | METADATA_ONLY}当设置CONTENT为ALL时,将导出对象定义及其所有数据.为DATA_ONLY时,只导出对象数据,为METADATA_ONLY时,只导出对象定义Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump CONTENT=METAD ATA_ONLY3. DIRECTORY指定转储文件和日志文件所在的目录DIRECTORY=directory_objectDirectory_object用于指定目录对象名称.需要注意,目录对象是使用CREATE DIRECTO RY语句建立的对象,而不是OS目录Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump4. DUMPFILE用于指定转储文件的名称,默认名称为expdat.dmpDUMPFILE=[dir ectory_object:]file_name [,….]Directory_object用于指定目录对象名,file_name用于指定转储文件名.需要注意,如果不指定directory_object,导出工具会自动使用DIRECTORY选项指定的目录对象Expdp scott/tiger DIRECTORY=dump1 DUMPFILE=dump2:a.dmp5. ESTIMATE指定估算被导出表所占用磁盘空间分方法.默认值是BLOCKSESTIMATE={BLOCKS | STATISTICS}设置为BLOCKS时,oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间,设置为STATISTICS时,根据最近统计值估算对象占用空间Expdp scott/tiger TABLES=emp ESTIMATE=STATISTICS DIRECTORY=dump DUMPFILE=a.dump6. ESTIMATE_ONLY指定是否只估算导出作业所占用的磁盘空间,默认值为NEXTIMATE_ONLY={Y | N}设置为Y时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为N时,不仅估算对象所占用的磁盘空间,还会执行导出操作.Expdp scott/tiger ESTIMATE_ONLY=y NOLOGFILE=y7. EXCLUDE(具体见2、Exclude导出用户中指定类型的指定对象)该选项用于指定执行操作时释放要排除对象类型或相关对象EXCLUDE=object_type[:name_clause] [,….]Object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象.EX CLUDE和INCLUDE不能同时使用Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dup EXCLUDE=VIEW8. FILESIZE指定导出文件的最大尺寸,默认为0,(表示文件尺寸没有限制)9. FLASHBACK_SCN指定导出特定SCN时刻的表数据FLASHBACK_SCN=scn_valueScn_value用于标识SCN值.FLASHBACK_SCN和FLASHBACK_TIME不能同时使用Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_SCN=3 5852310. FLASHBACK_TIME指定导出特定时间点的表数据FLASHBACK_TIME=”TO_TIMESTAMP(time_value)”Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_TIME=“TO_TIMESTAMP(‟25-08-2004 14:35:00‟,‟DD-MM-YYYY HH24:MI:SS‟)”11. FULL指定数据库模式导出,默认为NFULL={Y | N}为Y时,标识执行数据库导出.12. HELP指定是否显示EXPDP命令行选项的帮助信息,默认为N当设置为Y时,会显示导出选项的帮助信息.Expdp help=y13. INCLUDE(具体见1、Include导出用户中指定类型的指定对象)指定导出时要包含的对象类型及相关对象INCLUDE = object_type[:name_clause] [,… ]14. JOB_NAME指定要导出作用的名称,默认为SYS_XXXJOB_NAME=jobname_stringSELECT * FROM DBA_DATAPUMP_JOBS;--查看存在的job15. LOGFILE指定导出日志文件文件的名称,默认名称为export.logLOGFILE=[directory_object:]file_nameDirectory_object用于指定目录对象名称,file_name用于指定导出日志文件名.如果不指定directory_object.导出作用会自动使用DIRECTORY的相应选项值.Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp logfile=a.log16. NETWORK_LINK指定数据库链名,如果要将远程数据库对象导出到本地例程的转储文件中,必须设置该选项. 如:expdp gwm/gwm directory=dir_dp NETWORK_LINK=igisdb tables=p_str eet_area dumpfile =p_street_area.dmp logfile=p_street_area.log job_na me=my_jobigisdb是目的数据库与源数据的链接名,dir_dp是目的数据库上的目录而如果直接用使用连接字符串(@fgisdb),expdp属于服务端工具,expdp生成的文件默认是存放在服务端的17. NOLOGFILE该选项用于指定禁止生成导出日志文件,默认值为N.18. PARALLEL指定执行导出操作的并行进程个数,默认值为1注:并行度设置不应该超过CPU数的2倍,如果cpu为2个,可将PARALLEL设为2,在导入时速度比PARALLEL为1要快而对于导出的文件,如果PARALLEL设为2,导出文件只有一个,导出速度提高不多,因为导出都是到同一个文件,会争抢资源。

EXPDB_IMPDB导出数据库和导入数据库操作手册

EXPDB_IMPDB导出数据库和导入数据库操作手册

EXPDB与IMPDB查找oracle的安装路径:echo $ORACLE_HOME;操作步骤:1.需要在数据库创建HEC_DUMP_DIR类似的directory(此命令需要dba权限,例如:在mastest数据库中,需要以masdemo用户身份登陆.)- -Create directory=》create or replace directory DUMP_DIR_TEST as '/u01/oracle/oracle_test';2.授权=》grant read,write on directory DUMP_DIR_TEST to HEC2DEV;3.导出(用su – oracle命令切换到oracle用户下面,执行下面的语句, schemas为当前用户)=》expdp hec2dev/hec2dev directory=DUMP_DIR_TESTdumpfile=hec2dev1102.dmp logfile=DUMP_DIR_TEST:hec2dev1102.log带版本号导出(从高版本导出,导入到低版本时需要带版本号,点击pl/sql的命令窗口或者sqlplus hec2dev/hec2dev@mastest,在最上面都会有版本号):=》expdp hec2dev/ hec2dev directory=DUMP_DIR_TESTdumpfile=autohec2test.dmp logfile=DUMP_DIR_TEST:autohec2test.logschemas=autohec2test version='10.2.0.1.0'可能出现的问题:(1)指定的Net服务名不正确。

解决方法:因为没有配置指定ORACLE_SID,可以用命令:echo $ORACLE_SID 进行查看是否指定了ORACLE_SID,若没有,可以通过命令:exportORACLE_SID=mastest(要导出数据库的sid)解决。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Centos7.6下Oracle11g数据泵导入导出一、准备工作:1、第一步:在服务器上创建真实的目录[oracle@centos7 ~]$ suPassword:[root@centos7 oracle]# mkdir -p /db_backup/dpump_dir[root@centos7 oracle]# cd /db_backup/dpump_dir[root@centos7 db_backup]# lsdb_backup[root@centos7 data]# chmod -R 777 /db_backup/dpump_dir chown -R oracle:oinstall /db_backup/dpump_dir2、第二步:用sys管理员登录sqlplus;[oracle@centos7 ~]$ sqlplus /nologSQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 5 19:03:39 2020 Copyright (c) 1982, 2009, Oracle. All rights reserved.SQL> conn sys/manager as sysdbaConnected.SQL> startup启动监听:[oracle@centos7 ~]$ lsnrctl start3、第三步:创建逻辑目录;SQL> conn sys/manager as sysdbaConnected.SQL> create directory dpump_dir as '/db_backup/dpump_dir';Directory created.4、第四步:查看管理员目录,检查是否存在;SQL> select * from dba_directories where directory_name = 'DPUMP_DIR'; OWNER------------------------------------------------------------DIRECTORY_NAME------------------------------------------------------------DIRECTORY_PATH--------------------------------------------------------------------------------SYSDPUMP_DIR/db_backup/dpump_dir删除虚拟目录:drop directory dpump_dir;5、第五步:用sys管理员给你的指定用户赋予在该目录的操作权限。

SQL> grant read,write on directory dpump_dir to system;Grant succeeded.grant read,write on directory dpump_dir to public;6、查看表空间:select tablespace_name,file_name from dba_data_files;二、impdp导入准备:(1)为了方便创建表空间:这里使用PLsql进行创建表空间(2)使用WinSCP工具倒入到 /db_backup/dpump_dir下或者rz导入:解压.rar文件现在下载wget /rar/rarlinux-x64-5.0.0.tar.gz[oracle@centos7 download]$ cd /download/[oracle@centos7 download] wget /rar/rarlinux-x64-5.0.0.tar.gz [oracle@centos7 download] tar -zxvf rarlinux-x64-5.0.0.tar.gz[root@centos7 download]# mv rar /opt/[root@centos7 download]# cd /opt/rar/[root@centos7 rar]# make && make install使用:1、rar命令rar a test.rar file1 file2#压缩2、unrar命令unrar e test.rar DestPath#解压[root@centos7 dpump_dir]# rar e ORCL0401.rar[root@centos7 dpump_dir]# lsORCL0401.DMP ORCL0401.rar[root@centos7 dpump_dir]# mv ORCL0401.DMP orcl.dump #重名名查看dump文件大小:ll -hnmon监控分析:(1)下载nmon安装包:/pmwiki.php?n=Site.Download选择适合自己系统的版本centos7_x86_64适合的最新nmon版本为:nmon16e_mpginc.tar.gz3.5MBnmon_analyser工具:https:///developerworks/community/wikis/home?lang=en#!/wiki/Power+Systems /page/nmon_analyser(2)wget下载nmon包[oracle@centos7 /]$ mkdir -p /download[root@centos7 /]# chmod -R 777 /download[root@centos7 /][oracle@centos7 /]$ cd /download/wget /projects/nmon/files/nmon16e_mpginc.tar.gz(1)上传:[oracle@centos7 download]$ rz[oracle@centos7 download]$ lsnmon_analyser_v66.zip nmon16e_mpginc.tar.gz(2)解压:[oracle@centos7 download]$ tar -zxvf nmon16e_mpginc.tar.gz [oracle@centos7 download]$ unzip nmon_analyser_v66.zip[oracle@centos7 download]$ ls #查看如下:(3)拷贝并重命名[oracle@centos7 download]$ suPassword:[root@centos7 download]# cp nmon_x86_64_centos7 /usr/local/bin/nmon (4)授权[root@centos7 download]# cd /usr/local/bin[root@centos7 bin]# chmod 777 nmon(5)打开nmonq : 停止并退出Nmon h : 查看帮助c : 查看CPU 统计数据m : 查看内存统计数据d : 查看硬盘统计数据k : 查看内核统计数据n : 查看网络统计数据N : 查看NFS 统计数据j : 查看文件系统统计数据t : 查看高耗进程V : 查看虚拟内存统计数据v : 详细模式输入c可显示CPU的信息,“m”对应内存,“n”对应网络,“d”可以查看磁盘信息,“t”可以查看系统的进程信息。

结果如下图终止nmonps -ef | grep nmon kill进程idimpdp开始导入impdp system/manager directory=dpump_dir dumpfile=orcl.dump logfile=orcl01.log ignore=y full=y如果是版本问题:impdp system/manager directory=dpump_dir dumpfile=orcl.dump logfile=orcl01.log ignore=y full=y version=11.2.0.1.0导入库完成!三、expdp导出准备:先查看dump_dir下文件,rm expdp.*删除.dmp文件留出足够的空间;expdp导出命令:expdp system/manager directory=dpump_dir dumpfile=expdp01.dump logfile=expdp01.log full=y至此导库完成!查看导出的dmp文件大小:[oracle@centos7 dpump_dir]$ ls -lhtotal 163M-rw-rw---- 1 oracle oracle 163M Aug 5 20:30 expdp01.dump -rw-rw-r-- 1 oracle oracle 114K Aug 5 20:30 expdp01.log[oracle@centos7 dpump_dir]$ ls -lltotal 166744-rw-rw---- 1 oracle oracle 170622976 Aug 5 20:30 expdp01.dump-rw-rw-r-- 1 oracle oracle 115924 Aug 5 20:30 expdp01.log[oracle@centos7 dpump_dir]$ stat /db_backup/dpump_dir/expdp01.dump File: '/db_backup/dpump_dir/expdp01.dump'Size: 170622976 Blocks: 333256 IO Block: 4096 regular file Device: fd00h/64768d Inode: 9306116 Links: 1Access: (0660/-rw-rw----) Uid: ( 1000/ oracle) Gid: ( 1000/ oracle) Access: 2020-08-05 20:27:57.445994400 +0800Modify: 2020-08-05 20:30:49.946979394 +0800Change: 2020-08-05 20:30:49.946979394 +0800Birth: -[oracle@centos7 dpump_dir]$ du -b /db_backup/dpump_dir/expdp01.dump 170622976/db_backup/dpump_dir/expdp01.dump[oracle@centos7 dpump_dir]$ du -h /db_backup/dpump_dir/expdp01.dump 163M/db_backup/dpump_dir/expdp01.dump。

相关文档
最新文档