今天尝试了数据库的导出,直接在命令行里面使用了导出指令:

exp uname/pwd@127.0.0.1:1521/orcl  file='xx.dmp'

出现的问题:

直接@tnsnames里面配的网络服务名 exp uname/pwd@test  是报错;

改为exp uname/pwd@127.0.0.1:1521/orcl (test在tnsnames文件里面对应的IP地址加上实例名127.0.0.1:1521/orcl时,导出成功)

参考帖子参考帖子2,概念搞错了
@后面跟的不是实例名,只是在tnsnames里面配的网络服务名

导入导出常见的命令,参考帖子

数据库导出功能:

1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
3 将数据库中的表table1 、table2导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"

数据的导入
1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:\daochu.dmp ignore=y
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:\daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)

3.更多示例

【示例】

1、【全库模式】将备份数据库文件中的数据导入数据库orcl中,用户名scott密码scott,数据文件路径D:/orcl/scott.dmp,日志文件路径D:/orcl/scott.log

imp scott/scott@orcl file = D:/orcl/scott.dmp log =D:/orcl/scott.log full = y ignore = y

2、【表模式】将备份数据库文件中的表emp、dept数据导入数据库orcl中,用户名scott密码scott,数据文件路径D:/orcl/scott.dmp

imp scott/scott@orcl file = D:/orcl/scott.dmp log =D:/orcl/scott.log ignore = y tables = (emp,dept)

另外,如果导出时使用了表模式,导入时要导入所有表数据,则也可以使用full = y,如:

imp scott/scott@orcl file = D:/orcl/scott_empdept.dmp ignore= y full = y

3、【用户模式】备份数据文件中存在ng_lxj1、ng_lxj2两用户数据,数据文件路径D:/orcltest/ng_lxj_user.dmp

将ng_lxj1的数据导入到ng_lxj中:

imp system/manager@243 file = D:/orcltest/ng_lxj_user.dmpfromuser = ng_lxj1 touser = ng_lxj

将ng_lxj1和ng_lxj2的数据均导入到ng_lxj中:

imp system/manager@243 file = D:/orcltest/ng_lxj_user.dmpfromuser = (ng_lxj1,ng_lxj2) touser = (ng_lxj,ng_lxj)

注意ng_lxj要写两遍与之前的对应,若仅写一个,Oracle会默认没得到对应的将导入到本用户下,如:

imp system/manager@243 file = D:/orcltest/ng_lxj_user.dmpfromuser = (ng_lxj1,ng_lxj2)

该命令将从ng_lxj1导入ng_lxj1,ng_lxj2导入ng_lxj2

将ng_lxj1的数据分别导入ng_lxj1和ng_lxj2两个用户:

不能写成imp system/manager@243 file = D:/orcltest/ng_lxj_user.dmpfromuser = (ng_lxj1,ng_lxj1) touser = (ng_lxj1,ng_lxj2)

否则会报错:

IMP-00034: 警告: 在导出文件中未找到 FromUser "NG_LXJ1"

猜测:Oracle将数据文件抽取到缓存区,一旦使用过就会进行清除。

所以,一个用户导向两个用户需要分开写两条命令语句。

将ng_lxj1用户下的t1表的数据导入ng_lxj2用户中:

imp system/manager@243 file = D:/orcltest/ng_lxj_user.dmpfromuser = ng_lxj1 touser = ng_lxj2 tables = t1

4、从备份数据文件中,仅导入建表语句而不导入数据记录,文件路径D:/orcl/scott.dmp

imp scott/scott@orcl file = D:/orcl/scott.dmp full = yignore = y rows = n

5、使用参数文件

imp system/manager@243 parfile=bible_tables.par

bible_tables.par参数文件:

file = D:/orcltest/ng_lxj_user.dmp fromuser = ng_lxj1touser = ng_lxj

《oracle每日一练》oralce数据库的导入导出的更多相关文章

  1. ORACLE数据库在导入导出时序列不一致的问题

    ORACLE数据库在导入导出时序列不一致的问题   在使用ORACLE数据库时,当给一个表设置自增字段时,我们经常会使用到序列+触发器来完成.但当你需要对数据库进行导入导出时,序列很容易出问题. 当你 ...

  2. oracle数据库数据导入导出步骤(入门)

    oracle数据库数据导入导出步骤(入门) 说明: 1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL 2.如果熟悉命令,建议用exp/imp ...

  3. oracle数据库的导入 导出实例

    oracle数据库的导入 导出实例 分类: DataBase2011-09-07 23:25 377人阅读 评论(0) 收藏 举报 数据库oraclefileusercmdservice 我要从另外一 ...

  4. mysql数据库的导入导出

    当我们在操作数据库的时候,难免会遇到数据导入导出的一些操作,今天突然学到了这个知识点,特意来给大家分享. 我用的是data的这条数据 1.使用数据 mysql> use data; Databa ...

  5. linux mysql 数据库操作导入导出 数据表导出导入

    linux mysql 数据库操作导入导出 数据表导出导入 1,数据库导入 mysql -uroot -p show databases; create database newdb; use 数据库 ...

  6. Linux数据库的导入导出

    Linux数据库的导入导出 1.导入数据库 mysql -u username -p test < /home/data/test.sql 说明:username是数据库用户名,test为目标数 ...

  7. oracle 中数据库完全导入导出:cmd命令行模式(转载)

    http://www.3lian.com/edu/2012/12-01/47252.html Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库 ...

  8. Oracle创建删除用户,角色,表空间,导入导出数据库命令总结(转载)

    无意间看到一篇文章,觉得对于ORACLE的新手很实用,特转载,原文出处这里 说明:在创建数据库时输入的密码,是修改系统默认的密码,以system和sysman等系统默认身份登录时要输入的密码就是修改后 ...

  9. JAVA实现数据库数据导入/导出到Excel(POI)

    准备工作: 1.导入POI包:POI下载地址http://mirrors.tuna.tsinghua.edu.cn/apache/poi/release/src/(重要) 如下 2.导入Java界面美 ...

随机推荐

  1. 使用docker exec 就可以进入container,例如:docker exec -it <container_id> /bin/bash

    使用docker exec 就可以进入container,例如:docker exec -it <container_id> /bin/bash

  2. Orchard源码分析(6):Shell相关

    概述在Orchard中,提出子站点(Tenant)的概念,目的是为了增加站点密度,即一个应用程序域可以有多个子站点. Shell是子站点(Tenant)级的单例,换句话说Shell代表了子站点.对比来 ...

  3. gradle 默认属性

    Properties(未翻译) Property Description allprojects 包含该项目及其子项目的属性 ant The AntBuilder for this project. ...

  4. [Angularjs]系列——学习与实践

    写在前面 这个系列是来这家公司到现在,边用边学,以及在工作中遇到的问题进行的总结.深入的东西不多,大多是实际开发中用到的东西. 这里做一个目录,方便查看. 系列文章 [Angularjs]ng-sel ...

  5. 通过mongodb客户端samus代码研究解决查询慢问题

    最近有项目需要用到mongodb,于是在网上下载了mongodb的源码,根据示例写了测试代码,但发现一个非常奇怪的问题:插入记录的速度比获取数据的速度还要快,而且最重要的问题是获取数据的速度无法让人接 ...

  6. chrome(谷歌浏览器)老是提示此文件可能损害计算机

    chrome://settings/advanced设置-高级设置-“隐私设置”-取消选中“启用针对网上诱骗和恶意软件的防护功能”复选框试试,

  7. Linux内核循环链表经典分析和移植

    为什么说这个链表做的经典呢,哥哥我从Linux内核里边儿扣出来的,要么怎么说内核不是一般人能写的,这代码太TM优美了! 这里有一篇参考文章:http://isis.poly.edu/kulesh/st ...

  8. golang笔记——数据类型

    25个关键字 程序声明:import, package 程序实体声明和定义:chan, const, func, interface, map, struct, type, var 程序流程控制:go ...

  9. 连接到kali linux服务器上的MySQL服务器错误

    前言:想把数据库什么的都放在虚拟机kali Linux里,但无奈出了好多错误. 首先:可以参照上一篇文章开启kali服务器端的远程连接功能,上一篇文章 然后:使用window端的sqlyog(MySQ ...

  10. 常见的几个angular.js的问题

    来源于网络收集 一.ng-show/ng-hide 与 ng-if的区别? 我们都知道ng-show/ng-hide实际上是通过display来进行隐藏和显示的.而ng-if实际上控制dom节点的增删 ...