`
53873039oycg
  • 浏览: 837116 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Oralce exp命令简单使用

 
阅读更多

     简单的介绍下exp怎么使用,文章略简单,数据库版本是10g,导出错误解决方法在文章最后,首先带上参考链接:

    

http://www.cnblogs.com/zhangzhifeng/archive/2011/08/04/2126935.html
http://blog.csdn.net/oscar999/article/details/7468153
http://daisybabay2012.blog.51cto.com/5007509/853730
http://www.cnblogs.com/lanzi/archive/2011/10/26/2225665.html

    先新建一个普通用户测试用:

   

create user exp_test identified by test;

    赋权:

   

grant resource,connect to exp_test;

    查看系统所有用户:

   

select username from dba_users;

    查看用户权限:

   

select privilege from dba_sys_privs where grantee='EXP_TEST'
union
select privilege from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee='EXP_TEST' );

    查看当前登录用户的缺省表空间

   

select username,default_tablespace from user_users; 

    查看用户使用的缺省表空间名称:

   

select username,default_tablespace from dba_users where username='EXP_TEST'

    删除用户:

   

drop user exp_test cascade;

    删除的时候遇到一个问题:

   

    解决方法见博文:

    http://794448033.blog.51cto.com/1541449/1030057
    http://blog.csdn.net/tianlesoftware/article/details/4787074

  

    下面开始介绍exp使用:

     查看exp怎么使用:

     cmd命令行界面下:

    

exp help=y

   

 

     将数据库XE完全导出:

    

exp exp_test/test@xe file=f:/saveFile/tmp/fullxe.dump full=y

   

    可知普通用户不能导出整个表:

    使用dba身份的system导出整个数据库:

   

exp system/root@xe file=f:/saveFile/tmp/fullxe.dump full=y

   

    导出速度有点慢,导出文件用nodepad++打开如下:

   

     第一行是数据库版本号。

     导出过程中发现Sys下面好多函数报错,解决方法在文章最后。

    

     将数据库中tmd用户用户的表导出

    

exp system/root@xe file=f:/saveFile/tmp/tmdtables.dump owner=tmd

  

    导出命令不要在后面添加分号:

   

    如果想导出tmd用户的emp表

    exp system/root@xe file=f:/saveFile/tmp/tmemptable.dump owner=tmd tables=emp log=f:/saveFile/tmp/exp_out.log

    这么写是错误的。

    

     正确的写法是:

    

exp system/root@xe file=f:/saveFile/tmp/tmemptable.dump tables=tmd.emp log=f:/saveFile/tmp/exp_out.log

    导出多个不同用户的表如下:

   

exp system/root@xe file=f:/saveFile/tmp/tmemptable.dump tables=(tmd.emp,exp_test.emp) log=f:/saveFile/tmp/exp_out.log

    将数据库中用户tmd的表emp中的字段deptno=10的数据导出:

   

exp system/root@xe file=f:/saveFile/tmp/expquery.dump tables=tmd.emp query=\" where deptno='10'\"

   

    压缩使用compress=y,带日志log=filepath.log

   

exp system/root@xe file=f:/saveFile/tmp/expquery.dump tables=tmd.emp compress=y

    可以发现,导出没有指定表时候,存储过程或者函数都会一起导出,如果不想要数据,只想要建表语句,可以这样写:

   

exp system/root@xe file=f:/saveFile/tmp/expemp.dump tables=tmd.emp rows=n

    导出结果可以看到触发器也一起导出了,不想要触发器,可以这样:

   

exp system/root@xe file=f:/saveFile/tmp/expemp_no_trigger.dump tables=tmd.emp rows=n triggers=n

    如果我只想导出用户tmd的所有表,不要存储过程和函数,不要数据,具体办法是在tables=()里面把要导出的表写一遍,如:

   

exp system/root@xe file=f:/saveFile/tmp/tmemptable.dump tables=(tmd.emp,--这里面把tmd所有表写一遍) rows=n triggers=n

    举个例子:

   

exp system/root@xe file=f:/saveFile/tmp/tmemptable.dump tables=(tmd.XMLTYPE_TABLE,tmd.FILTER_PARAM_NAME,tmd.EXCEPTION_URL_LOG,tmd.FILTER_WHITE_LIST,tmd.TEST_LAG,tmd.VALID_ORDERS,tmd.BIG_ORDERS,tmd.REJECTED_ORDERS,tmd.TB_EMP,tmd.TB_A,tmd.TB_B,tmd.QRTZ_JOB_DETAILS,tmd.QRTZ_TRIGGERS,tmd.QRTZ_SIMPLE_TRIGGERS,tmd.QRTZ_CRON_TRIGGERS,tmd.QRTZ_FIRED_TRIGGERS,tmd.C3P0TESTTABLE,tmd.SYS_ADMIN,tmd.TBL_USER,tmd.T_PZ,tmd.TMP_MICHAEL,tmd.T_BLOB_TEST,tmd.TEST_USERS,tmd.EMP,tmd.DEPT,tmd.T_USER,tmd.PAGE_USERS,tmd.ACCOUNT,tmd.ANIMUS_PARAM_INFO,tmd.ANIMUS_URL_LOG,tmd.EXCEPTION_DIM_INFO,tmd.FILTER_INFO,tmd.PICK_PARAM_INFO,tmd.SYS_KEY_INFO,tmd.PICK_URL_LOG,tmd.PLUG_SAFE_BSDIM,tmd.PLUG_SAFE_BSLOG,tmd.PLUG_SAFE_BSRULE,tmd.SYS_FILTER_MAP,tmd.SYS_FILTER_PROP_MAP,tmd.SYS_INFO,tmd.T_TEST_USER,tmd.T_STR_TEST,tmd.TSQL_ARTICLE,tmd.USERINFO,tmd.USER_TEST,tmd.G_GROUP,tmd.G_STUDENT,tmd.TEST_INSERT,tmd.H_USER,tmd.T_STU,tmd.T_TEST,tmd.T_CLASS,tmd.TMYSQL_SCHEDULER_TEST,tmd.TMYSQL_USER_4TEST,tmd.TSQL_USER_BASIC_INFO,tmd.BXXX,tmd.T_COMPANY,tmd.TSQL_DECODE_TEST,tmd.SYS_AUTHORITIES,tmd.SYS_AUTHORITIES_RESOURCES,tmd.SYS_RESOURCES,tmd.SYS_ROLES,tmd.SYS_ROLES_AUTHORITIES,tmd.SYS_USERS,tmd.SYS_USERS_ROLES,tmd.T_ENUM_USER,tmd.TEST_DBMS,tmd.TMENU,tmd.TUSER,tmd.TEST_SQLLDR_USERS,tmd.T_PERSON,tmd.T_STUDENT_TEST,tmd.TORACLE_TEST_LOADDATA,tmd.TB2) rows=n triggers=n

    可以使用sql查出当前登录用户所有的表:

   

SELECT max(substr(sys_connect_by_path('tmd.' || table_name, ','), 2))
  FROM (SELECT table_name, rownum rn FROM user_tables)
 START WITH rn = 1
CONNECT BY rn = rownum;

    dba可以这样写:

   

SELECT max(substr(sys_connect_by_path('tmd.' || table_name, ','), 2))
  FROM (select table_name,rownum rn from dba_tables where owner='TMD')
 START WITH rn = 1
CONNECT BY rn = rownum;

    只导出数据不要建表语句,这个我也不知道。

    普通用户tmd使用exp时:

    导出用户tmd的表:

   

exp tmd/tmd@xe file=f:/saveFile/tmp/current_tables.dump owner=tmd

    普通用户导其他用户的表

   

exp exp_test/test@xe file=f:/saveFile/tmp/tmd_tables.dump owner=tmd rows=n

   

    可见普通用户不能导出其他用户的表,不能导出整个数据库,其他的和上面例子一样。

    如导出用户tmd所有表

   

exp tmd/tmd@xe file=f:/saveFile/tmp/currenttables.dump tables=(XMLTYPE_TABLE,FILTER_PARAM_NAME,EXCEPTION_URL_LOG,FILTER_WHITE_LIST,TEST_LAG,VALID_ORDERS,BIG_ORDERS,REJECTED_ORDERS,TB_EMP,TB_A,TB_B,QRTZ_JOB_DETAILS,QRTZ_TRIGGERS,QRTZ_SIMPLE_TRIGGERS,QRTZ_CRON_TRIGGERS,QRTZ_FIRED_TRIGGERS,C3P0TESTTABLE,SYS_ADMIN,TBL_USER,T_PZ,TMP_MICHAEL,T_BLOB_TEST,TEST_USERS,EMP,DEPT,T_USER,PAGE_USERS,ACCOUNT,ANIMUS_PARAM_INFO,ANIMUS_URL_LOG,EXCEPTION_DIM_INFO,FILTER_INFO,PICK_PARAM_INFO,SYS_KEY_INFO,PICK_URL_LOG,PLUG_SAFE_BSDIM,PLUG_SAFE_BSLOG,PLUG_SAFE_BSRULE,SYS_FILTER_MAP,SYS_FILTER_PROP_MAP,SYS_INFO,T_TEST_USER,T_STR_TEST,TSQL_ARTICLE,USERINFO,USER_TEST,G_GROUP,G_STUDENT,TEST_INSERT,H_USER,T_STU,T_TEST,T_CLASS,TMYSQL_SCHEDULER_TEST,TMYSQL_USER_4TEST,TSQL_USER_BASIC_INFO,BXXX,T_COMPANY,TSQL_DECODE_TEST,SYS_AUTHORITIES,SYS_AUTHORITIES_RESOURCES,SYS_RESOURCES,SYS_ROLES,SYS_ROLES_AUTHORITIES,SYS_USERS,SYS_USERS_ROLES,T_ENUM_USER,TEST_DBMS,TMENU,TUSER,TEST_SQLLDR_USERS,T_PERSON,T_STUDENT_TEST,TORACLE_TEST_LOADDATA,TB2) rows=n triggers=n

   

   -----------------------------------------------------关于导出过程中可能出现的错误----------------------------

    导出整个数据库时候,有很多sys报错,谷歌了下,找到了篇文章:

    http://www.dba-oracle.com/t_compile_pl_sql_procedures.htm

    上面有个脚本:

    

set heading off;
set feedback off;
set echo off;
Set lines 999;

Spool f:/saveFile/tmp/run_invalid.sql

select 
'ALTER ' || OBJECT_TYPE || ' ' ||
OWNER || '.' || OBJECT_NAME || ' COMPILE;'
from
dba_objects
where
status = 'INVALID'
and
object_type in ('PACKAGE','FUNCTION','PROCEDURE')
;

spool off;

    可以看到结果,老外也提供了一种方法:

    

Try to do it with catrep.sql.
You could also try to execute utlrp.sql and post the result.
Both as SYSDBA.

    但是我试了下,还是有很多错误,最后找到了这篇博客:

    http://blog.csdn.net/chensrao/article/details/6459687

    按他说的执行:

    

@D:\oracle\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catalog.sql
@D:\oracle\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catproc.sql

    再导出tmd数据的时候,出现错误:

   

    网上解决方法:

    http://wenwen.soso.com/z/q318771546.htm

    执行:

   

@D:\oracle\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catmetx.sql 

    现在可以导出用户tmd的表不报错。

   

    但是如果尝试导出整个数据库数据时候,还是报错,如下:

   

    这是最后时候才报错的,中间一直没出现错误,解决方法,

    http://wuhuizhong.iteye.com/blog/1932098

   

SQL> DELETE FROM SYS.EXPACT$
  2  WHERE FUNC_PACKAGE = 'DBMS_AQ_IMPORT_INTERNAL';

已删除6行。

    再导出整个数据库:

    

exp system/root@xe file=f:/saveFile/tmp/
xedb.dump log=f:/saveFile/tmp/system_exp.log direct=y indexes=n rows=y CONSISTEN
T=y buffer=104857600 compress=n feedback=100000

    结果为:

   

     上面那个执行结果很快,但是导出文件只有300k,全库完全导出可以使用

    

exp system/root@xe file=f:/saveFile/tmp/
fullxe.dump full=y

    测试,结果为:

   

 

    最后2次导出的文件大小为:

   

 

    这里,我要想各位道歉,我在没有完全解决问题的情况下写博客,博客是快中午的时候写的,写的很急,出现问题后搜索了很久才找到答案,本人也是oracle的菜鸟,搜索到答案我就在文章后面加上一段,本文已经修改了3次,给各位造成麻烦了,下次我会确认有正确解决方案在写,谢谢大家。

    全文完。

 

  • 大小: 18.7 KB
  • 大小: 50.6 KB
  • 大小: 92 KB
  • 大小: 97.6 KB
  • 大小: 151.8 KB
  • 大小: 100.7 KB
  • 大小: 96.5 KB
  • 大小: 41.7 KB
  • 大小: 38.6 KB
  • 大小: 64.6 KB
  • 大小: 51 KB
  • 大小: 87.9 KB
  • 大小: 78.2 KB
  • 大小: 89.2 KB
  • 大小: 72.1 KB
  • 大小: 77.6 KB
  • 大小: 7.1 KB
0
1
分享到:
评论

相关推荐

    网易招聘的scrapy spider

    网易招聘的scrapy spider

    ACM计算两整数相加的多语言代码示例与注解

    内容概要:提供了基于不同编程语言的一个简单的 ACN(以计算两个整数的和为例)源代码,涉及三种语言:C++, Java 和 Python。每个示例都包含了详细的步骤来演示用户输入是如何接收和进行运算以及结果显示出来的。 适用人群:编程初学者、有一定编程经验希望熟悉多种语言实现方式的技术爱好者。 使用场景及目标:帮助理解不同编程语言基本操作方法,包括输入获取、数据处理、输出结果展示及其语法差异等知识点的运用。 其他补充:由于例子较为简易,便于作为教学案例或是新手练习之用,亦可用于快速对比几种主流编程语言的基础应用形式和技术特点。

    java-ssm+vue健身房管理系统实现源码(项目源码-说明文档)

    会员管理页面提供给管理员的功能有:对会员信息的一个管理,不同会员看到的页面是不一样的,会员信息也是不同 健身房信息管理页面提供给管理员的功能有:查看已发布的健身房区域数据,修改健身房区域信息或更换健身房区域内容,健身房区域信息作废,即可删除。 项目关键技术 开发工具:IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7+ 后端技术:ssm 前端技术:Vue 关键技术:springboot、SSM、vue、MYSQL、MAVEN 数据库工具:Navicat、SQLyog

    51Proteus仿真LCD1602+定时计数器实现可调电子时钟的编程

    51Proteus仿真LCD1602+定时计数器实现可调电子时钟的编程

    【高创新】基于侏儒猫鼬优化算法DMO-Transformer-BiLSTM实现故障识别Matlab实现.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    Linux安装python3_脚本_linux_install_py3.zip

    Linux安装python3_脚本_linux_install_py3

    BWO-Catboost白鲸算法优化Catboost分类预测,优化前后对比(Matlab完整源码和数据)

    1.Matlab实现BWO-Catboost白鲸算法优化Catboost分类预测,优化前后对比,Matlab调用Python的Catboost库(完整源码和数据)。 2.输出对比图、混淆矩阵图、预测准确率,运行环境Matlab2023及以上,配置Python的Catboost库。兼容测试链接:https://ww2.mathworks.cn/support/requirements/python-compatibility.html 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 5.作者介绍:机器学习之心,博客专家认证,机器学习领域创作者,2023博客之星TOP50,主做机器学习和深度学习时序、回归、分类、聚类和降维等程序设计和案例分析,文章底部有博主联系方式。从事Matlab、Python算法仿真工作8年,更多仿真源码、数据集定制私信

    4-3_Business_GREEN_2017_02-CL-20180524MTAX.potx

    微软演示材料

    【高创新】基于龙格库塔优化算法RUN-Transformer-BiLSTM实现故障识别Matlab实现.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    【高创新】基于人工蜂鸟优化算法AHA-Transformer-BiLSTM实现故障识别Matlab实现.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    java基于ssm+vue小说阅读平台系统源码

    1、开发环境:ssm框架;内含Mysql数据库;VUE技术 2、需要项目部署的可以私信 3、项目代码都经过严格调试,代码没有任何bug! 4、该资源包括项目的全部源码,下载可以直接使用! 5、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 6、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。

    人工智能产品经理最佳实践__第三部分系统架构篇_aipm-1.zip

    人工智能产品经理最佳实践__第三部分系统架构篇_aipm-1

    【高创新】基于能量谷优化算法EVO-Transformer-BiLSTM实现故障识别Matlab实现.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    Mentor Graphics EDA介绍(九)--Zuken Interconnect Solutions.docx

    Mentor Graphics EDA介绍(九)--Zuken Interconnect Solutions

    VB+ACCESS班级管理系统(源代码+可执行程序+论文+开题报告+外文翻译+答辩ppt).zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READmE.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

    4-3_Business_GREEN_2017_03.potx

    微软演示材料

    VB+sql学生管理系统(源代码+系统).zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

    java-ssm+vue大学生心理健康系统实现源码(项目源码-说明文档)

    在技术实现部分采用了Java作为开发后台的编程语言,客户端使用html技术,数据库选择MySQL。最后进行了代码的编写,并说明了实现流程。最终,通过软件测试来验证大学生心理健康平台的功能要求。 项目关键技术 开发工具:IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7+ 后端技术:ssm 前端技术:Vue 关键技术:springboot、SSM、vue、MYSQL、MAVEN 数据库工具:Navicat、SQLyog

    一键安装+开防火墙+改连接数+自启动守护_矿池代理,支持TCP和SSL协议,支持自

    一键安装+开防火墙+改连接数+自启动守护_矿池代理,支持TCP和SSL协议,支持自定义抽水,高性能高_MinerProxy303

Global site tag (gtag.js) - Google Analytics