返回顶部
首页 > 资讯 > 数据库 >impdp/expdp的示例分析
  • 502
分享到

impdp/expdp的示例分析

2024-04-02 19:04:59 502人浏览 独家记忆
摘要

这篇文章给大家介绍impdp/expdp的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 create tablespace C_MaiN DATAFILE 'D:

这篇文章给大家介绍impdp/expdp的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

create tablespace C_MaiN DATAFILE 'D:\oracle\product\10.2.0\oradata\orcl\main.dbf' SIZE 1024M

一.exp/imp备份还原
可使用plsql进行这种oracle数据库的备份和还原。也可以使用cmd的命令行方式进行备份还原。
操作步骤大致有:
打开cmd窗口,切换到d:\oracle10\product\10.1.0\db_1\bin\(oracle安装目录下的可执行文件的文件夹目录)。
调用命令:

备份:
exp user/pass@database file=F:\dump\20120521.dmp owner=(user) 
log=F:\dump\user-exp.log

还原
imp newuser/pass@databasefile=F:\dump\20120521.dmp  fromuser=user touser=newuser log=F:\dump\user-imp.log

二.使用expdp、impdp备份还原

登录linux系统,sqlplus "/as sysdba"进入sql命令行,

2.1查看目录:
SQL>select * from dba_directories;
2.2、指定dump_dir目录:(目录维护命令:)
SQL>create directory dump_dir as '/oracle/backup';// 建立
Drop directory dump_dir;//删除
2.3、为用户对该目录操作授权:
SQL>grant read,write on directory dump_dir to user_name;
2.4进行命令操作:
备份:
expdp user/pass DIRECTORY = dump_dir DUMPFILE=user.dmp SCHEMAS=user logfile=user-expdp.log  version=10.2.0.1.0 (需要导入机器的version:用于将高版本导出导入到低版本oracle数据库)
还原:
impdp newuser/pass  DIRECTORY=dump_dir DUMPFILE=user.dmp REMAP_SCHEMA=user:newuser logfile=user-impdp.log table_exists_action=replace

REMAP_SCHEMA参数是:源scheme:目标scheme.

三、遇到的问题:
3.1processing object type scheme_export/table/statistics/table_statistics。执行到这里出现假死,停在这个画面很长时间
可以加一个参数EXCLUDE=TABLE_STATISTICS。我是放着过了段时间回来执行完了。
3.2ORA-39213: Metadata processing is not available 解决方法:
SQL> execute dbms_metadata_util.load_stylesheets; 
==========================================================
网上资料参考:

可参考资料 Http://www.cnblogs.com/lanzi/arcHive/2011/01/06/1927731.html impdp和expdp的参数都很详细


a. 创建到服务端的dblink 
create database link link_name connect to username identified by passWord using 'connect_string' ;//username和password是server端的 
b.conn / as sysdba 
create or replace directory dir as 'directory'; 
grant read,write on directory dir to username; 

c.expdp username/password directory=dir network_link=link_name ... //这里的username用创建dblink的那个用户,directory也是目标数据库创建的  

4.如果想不生成dmp文件而直接导入一个数据库,原理和2类似,直接使用impdp带network_link ,这样可以直接impdp,而绕过了expdp的步骤

以及文章:
http://tech.it168.com/db/o/2007-03-14/200703140943314.shtml

引用


要了解impdp,请先了解导出,我之前作过导出的笔记:oracle
10g数据泵之expdp。这两个笔记也许只对程序员有用,通常用于把正式区的数据导入到测试区,对数据库管理员也许帮助不大,他们使用这些工具大多是用于数据备份。

impdp可以将数据加载到整个数据库、特定的方案(也就是用户)、特定的表空间或者特定的表,也可以将表空间传输到数据库。impdp支持网络模式操作,即从另一个数据库加载数据。

使用impdp导入数据
1.指定转储文件(存放导出数据的文件)存放的目录
SQL>connect sys/password as sysdba;
SQL>create directory dump_dir as ‘d:\dump’;
2.使用impdp命令
开始-->运行-->cmd
impdp username/password parameter1[,parameter2,….]
其中,username表示用户名;password表示用户密码;parameter1和parameter2表示参数。参数的类型有近40个,可以使用命令impdp help=y查看所有参数和参数的含义。下面介绍一些对导入数据库和表需要的常用参数,它们的含义和在expdp中的含义完全相同。

content :指定导入的内容。语法格式:content={all| data_only|metadate_only}。其中all表示导入对象定义及其数据,data_only表示只导入对象数据,metadate_only表示只导入对象定义。默认为all

directory:指定转储文件和日志文件所在的默认位置(也就是保存数据的文件位置)。语法格式:directory=direcotry_object。direcotry_object 是create directory语句创建的目录对象。

dumpfile:指定转储文件的名称。语法格式:dumpfile=[ direcotry_object:]file_name[,….]。direcotry_object默认为上面directory参数指定的目录对 象。file_name默认名称是expdat.dmp。如果导入文件过大,可以指定多个文件名,如 direcotry_object:mydb_%U.dmp。”%U”是一个占位符,使用这种方式不会出现同名的文件。

logfile:指定日志文件的名称。语法格式:logfile=[ direcotry_object:]file_name。direcotry_object默认为directory参数指定的目录对象。file_name日志文件,默认名称是export.log。

exclude:导入时要排除的对象。语法格式: exclude=object_type[:name_clause][,….]。object_type表示对象类型,如table、view、 index、function、preocedure,name_clause表示使用SQL语句,指定对象名的筛选条件,如table:”like ‘emp%’”表示排除emp开始的任何表。

include:导入时要包含的对象。语法格式:include =object_type[:name_clause][,….]。object_type和name_clause含义同exclude参数解释一样。include和exclude不可以同时使用。当一个对象被包含时,所有相关对象也被包含。

network_link:指定网格导入时的数据库链接名。语法格式:network_link=database_link。database_link表示远程数据库链接名。

query:指定导入数据的where条件。语法格式:query=[schema.][table_name:]query_clause。其中 schema表示方案名,也就是用户名,table_name表示表名,query_clause表示条件子句,即where子句。

tables:指定导入表。语法格式:tables=[schema.]table_name[,….]。schema表示方案名,table_name表示表名

full:指定是否将整个数据库导入。语法格式:full={y|n}。y表示执行数据库导入,n表不执行。默认为n。

parfile:指定导入参数文件名。把impdp命令所需的参数写在一个文件中,执行impdp命令时指定这个文件,而不用指定各种参数

导入实例
顺便把expdp命令也写进来,以方便对比。为了不和上一篇导出笔记重复,这里以导入远程数据库的数据到本地数据库为例。
导出远程数据库

1.估算转储文件大小
如果数据库很大,这个过程也许会执行很久。在导出数据库之前,最好先估算一下转储文件(导出到的文件)的大小,以便确定合适filesize参数值,和确定是否有足够的磁盘空间。使用语法:
expdp username/password@234DB full=y  estimate_only=y  nologfile=y;
其中estimate_only=y表示只估算转储文件的占的磁盘空间,不执行导出操作;@234DB表示远程数据库,它是在tnsnames.ora文件中定义的。

2.导出数据库
expdp username/password@234DB directory=dump_dir dumpfile=mydb_%U.dmp logfile=mydb.log filesize=200m full=y
其中dump_dir表示导出文件的目录,由于这里是导出远程数据库,所以这个目录是在远程机子中的;%U是一个占位符,表示01~99的两位数,这时执行会创建如MYDB_21.DMP之类的文件

3.导入整个数据库
impdp username/password directory=dump_dir dumpfile=mydb_%U.dmp full=y;
其中dump_dir表示入出文件的目录,这里要把远程导出的文件拷贝到本地机子上

导入远程表
1.导出表
expdp username/password@234DB  directory=dump_dir dumpfile=mytable.dmp tables=schemas.emp
其中schemas表示方案(即用户),emp表示远程数据库名。使用这种方式转储文件将保存在远程服务器操作系统中。如果要把转储文件保存到本地机子,使用以下语法:
expdp username/password  directory=dump_dir dumpfile=mytable.dmp tables=schemas.emp network_link=to234db
其中username/password分别是本机数据库用户名和密码,to234db是本地数据库指向远程数据库的database link。这种方式可以把数据保存到本机中,但是会产生网络流量。

2.导入表
impdp username/password directory=dump_dir dumpfile=mytable.dmp tables=schemas.emp
其中schemas要和远程用户名相同,也就是说如果本地没有这个用户,要先创建用户,格式如:
grant connect,resource to schemas identified by password。emp是要导入的表,如果本地schemas方案已经存在要导入的表,可以指定tables_exists_action参数,使用格 式是tables_exists_action={skip|append|truncate|replace}这四个参数值分别表示忽略这个表、把记录 追加到该表后面、先删除表数据再追加记录和使用新表替代已经存在的表。

关于impdp/expdp的示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: impdp/expdp的示例分析

本文链接: https://lsjlt.com/news/65680.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • impdp/expdp的示例分析
    这篇文章给大家介绍impdp/expdp的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 create tablespace C_MAIN DATAFILE 'D:...
    99+
    2024-04-02
  • Datapump expdp和impdp中parallel参数分析
    这篇文章主要介绍“Datapump expdp和impdp中parallel参数分析”,在日常操作中,相信很多人在Datapump expdp和impdp中parallel参数分析问题上存在疑惑,小编查阅了...
    99+
    2024-04-02
  • 怎么解析EXPDP/IMPDP各种应用场景
    本篇文章为大家展示了怎么解析EXPDP/IMPDP各种应用场景,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。数据泵各种场景规范文档 一、创建物理路径 语法:cr...
    99+
    2024-04-02
  • 如何进行Oracle常用数据库impdp&expdp的脚本分析
    如何进行Oracle常用数据库impdp&expdp的脚本分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。【说明】示...
    99+
    2024-04-02
  • expdp与impdp的区别是什么
    本篇内容主要讲解“expdp与impdp的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“expdp与impdp的区别是什么”吧!一、expdp/imp...
    99+
    2024-04-02
  • oracle数据库的impdp,expdp有什么作用
    本篇内容介绍了“oracle数据库的impdp,expdp有什么作用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学...
    99+
    2024-04-02
  • Oracle11g数据库迁移到Oracle12C的PDB(使用impdp/expdp)
    Oracle11g数据库迁移到Oracle12C的PDB(使用impdp/expdp)alter pluggable database hrdb close immediate;DROP PLUGG...
    99+
    2024-04-02
  • MYSQL_GTID的示例分析
    这篇文章给大家分享的是有关MYSQL_GTID的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 一、GTID概述  GTID是MYS...
    99+
    2024-04-02
  • RBAC的示例分析
    这篇文章主要为大家展示了“RBAC的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“RBAC的示例分析”这篇文章吧。什么是权限管理基本上涉及到用户参与的系...
    99+
    2024-04-02
  • vuex的示例分析
    这篇文章主要介绍了vuex的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如果你在使用 vue.js , 那么我想你可能会对 vue...
    99+
    2024-04-02
  • HappyPack的示例分析
    这篇文章主要介绍HappyPack的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!由于运行在 Node.js 之上的 Webpack 是单线程模型的,所以Webpack 需要...
    99+
    2024-04-02
  • jquery.cookie.js的示例分析
    这篇文章主要为大家展示了“jquery.cookie.js的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jquery.cookie.js的示例分析”这...
    99+
    2024-04-02
  • DOM的示例分析
    这篇文章将为大家详细讲解有关DOM的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。DOM(Document Object Modle) 操作文档的编程接口DOM定...
    99+
    2024-04-02
  • FastClick的示例分析
    小编给大家分享一下FastClick的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!用 iOS 在手Q阅读书友交流区发表...
    99+
    2024-04-02
  • webpack4的示例分析
    小编给大家分享一下webpack4的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!新建一个demo文件夹,然后再将命令行...
    99+
    2024-04-02
  • JSON的示例分析
    这篇文章给大家分享的是有关JSON的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。json[{"id":394,"qy_json"...
    99+
    2024-04-02
  • ajax的示例分析
    这篇文章主要介绍了ajax的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。AJAX不是JavaScript的规范,它只是一个哥们“发...
    99+
    2024-04-02
  • Immutable.js的示例分析
    这篇文章将为大家详细讲解有关Immutable.js的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JavaScript 中的对象一般是可变的(Mutable),...
    99+
    2024-04-02
  • bootstrap的示例分析
    这篇文章给大家分享的是有关bootstrap的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。bootstrap提供了三种类型的下载:1、用于生产环境的 Boot...
    99+
    2024-04-02
  • Final的示例分析
    小编给大家分享一下Final的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!事务的划分首先不可能无限细化,因此肯定是不需要无限的出现子类的。一旦无限出现子...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作