公司一个项目需要使用Oracle数据库,平时mysql用习惯了,这一换还有点蒙。

公司网络不好,需要在本地搭一个Oracle服务,选择了11g xe,主要是小。

下面整理了一下两种导出导入数据库的过程:

1、使用Navicat软件转储sql文件、执行sql文件方法(不好,容易存在外键问题和字符串长度超过4000无法导入问题)

2、使用exp、imp命令导出导入(推荐)

一、使用Navicat导出导入过程:

1、选择公司Oracle数据库模式,右键转储sql文件结构和数据,获得sql文件

2、本地数据库用sys登陆,创建一个sumengnan用户,赋予一些创建表、连接的权限

3、在sumengnan模式下导入公司Oracle的sql文件时报错,提示表空间不存在

解决办法:在菜单栏选择其他-表空间-新建表空间。

之后在用户-编辑用户-配额处为sumengnan用户,配置表空间

4、导入公司Oracle的sql文件时报错,又提示ORA-01950对表空间"system"无权限。

解决办法:在用户-编辑用户-服务器权限处为sumengnan用户,配置create session、create table和create tablespace权限

5、导入完成。

二、使用exp、imp命令导出导入过程:

开始导出:

1、远程Oracle数据库导出方式有两种(需要sys角色):

  ⑴添加远程TNS。在tnsnames.ora文件中添加如下

remote =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 远程主机地址)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)
    )
   )

然后执行tnsping remote命令,检测是否能连接。

执行命令:exp sys/123@remote file=d:\sumengnan.dmp owner=sumengnan;

  ⑵执行命令:exp sys/123@192.168.1.100:1521/orcl file=d:\sumengnan.dmp owner=sumengnan;(这个更简单,不需要添加远程TNS,推荐)

2、执行远程导出数据库命令,提示身份证明检索失败。

解决办法:oracle\product\11.2.0\server\network\ADMIN\sqlnet.ora这个文件内容NTS改为NONE。(验证方式)

NTS表示采用本地操作系统认证,NONE表示将采用口令文件方式认证。

3、用sys登录提示connection as SYS should be as SYSDBA or SYSOPER(表示sys账号需要SYSDBA or SYSOPER角色)

解决办法:exp 'sys/123@192.168.1.100:1521/orcl as sysdba' file=d:\sumengnan.dmp owner=sumengnan;(加上 as sysdba)(owner表示用户)

4、导出时提示ORACLE 错误 904 ORA-00904: "MAXSIZE": 标识符无效

原因:Oracle不能从低版本向高版本导数据。公司的是10,本地是11.

由于Oracle的imp/exp组件的操作原则--向下兼容,且有一些规则:

规则1:低版本的exp/imp可以连接到高版本(或同版本)的数据库服务器,但高版本的exp/imp不能连接到低版本的数据库服务器;

规则2:高版本exp出的dmp文件,低版本无法imp(无法识别dmp文件);低版本exp出的dmp文件,高版本可以imp(向下兼容);

规则3:从Oracle 低版本Export的数据可以Import到Oracle高版本中,但限于Oracle的相邻版本,如从Oracle 10 到 Oracle 11.对于两个不相邻版本间进行转换,如从Oracle 9 到 Oracle 11,则应先将数据输入到中间版本-Oracle 10,再从中间数据库转入更高版本Oracle 11.

据此,最快捷的解决方案就是使用安装了10g Oracle 的机子,进行服务器上数据库数据的导出。

5、无奈去另一台win10电脑下载了64位的10g(下载地址在下面),安装时提示检查操作系统版本: 必须是5.1 or 5.2。 实际为 6.1。

解决办法:修改\database\install\oraparam.ini文件,把Windows=5.1,5.2改成Windows=6.1。

6、安装时10g设置完密码后又提示“安装oracle10g“程序异常终止。发生内部错误。请将以下文件提供给oracle技术支持 部门”

解决办法:安装程序setup.exe文件,需要用兼容模式xp sp3模式运行。

7、不过出现了一个意外,win10电脑没有xp sp3兼容模式。

解决办法:下载一个虚拟机,安装xp系统。

8、虚拟机安装完xp之后,在系统上运行Oracle10g setup.exe安装程序,提示不是有效的win32

解决办法:应该下载32位的Oracle 10g(直接使用了上面下载的64位的10g)

执行第3步命令,导出成功了,拷贝到本地电脑桌面

开始导入:

9、先查询公司数据库用户sumengnan使用的表空间(一般情况只有一个)。

命令:select tablespace_name from dba_tables t WHERE t.owner='sumengnan' group by t.tablespace_name

10、首先需要在本地创建好sumengnan用户和表空间

创建表空间命令:create tablespace sumengnan_data(表空间名称) datafile 'e:\oracle\oradata\test\data_1.dbf'(表空间文件) size 1000M(表空间大小);

创建用户命令:create user sumengnan identified by 123456 default tablespace sumengnan_data;(用户sumengnan,密码123456 默认表空间 sumengnan_data)

赋予权限命令:grant connect, resource to sumengnan ;(赋予sumengnan连接Oracle和创建表的权限)

11、开始导入数据,执行命令:imp 'sys/123@XE as sysdba' file=C:\Users\sumengnan\Desktop\SUMENGNAN.DMP full=y时提示:“无法打开 EXPDAT.DMP 进行读取”.

原因:c盘没有权限,换到其他盘,如d盘。

注意:如果服务器和本地两端用户名不相同,则执行:imp 'sys/123@XE as sysdba' file=C:\Users\sumengnan\Desktop\SUMENGNAN.DMP fromuser=sumengnan touser=sumengnan2

fromuser就是把当前的dmp文件中的某一个用户下的数据取出。
touser就是把现在dmp文件中的数据导入到目标库的指定user下。

12、切换盘后导入又提示:“导入时由于对象已存在, 下列语句失败: ”

解决办法:imp导入命令添加参数 ignore=y

13、导入完成

碰到的其他问题

1、修改Oracle安装时默认8080端口

命令:

begin
   dbms_xdb.sethttpport('8081');
   dbms_xdb.setftpport('0');
end;

2、删除用户提示“必须指定 CASCADE 以删除 'sumengnan'”

解决办法:drop user sumengnan cascade;(因为这个数据库只有这一个用户,删了就没有用户关联了,所以需要用 cascade,把没有关联的整个数据库也删掉。)

导出导入imp、exp命令参数:

参数参考地址:https://blog.csdn.net/fghsfeyhdf/article/details/79807690

参数参考地址:https://www.cnblogs.com/weiwenpeng/p/10345419.html

xp迅雷下载地址:thunder://QUFodHRwOi8vc29mdC51c2Fpa2EuY24vstnX98+1zbMvd2luZG93cy9XaW5kb3dzWFAvVkwtSW1hZ2UvTVNETi96aC1oYW5zX3dpbmRvd3NfeHBfcHJvZmVzc2lvbmFsX3dpdGhfc2VydmljZV9wYWNrXzNfeDg2X2NkX3ZsX3gxNC03NDA3MC5pc29aWg==                 序列号:MRX3F-47B9T-2487J-KWKMF-RPWBY

Oracle 10g 32位迅雷下载地址:http://download.oracle.com/otn/nt/oracle10g/10201/10201_database_win32.zip

Oracle 10g 64位迅雷下载地址:http://download.oracle.com/otn/nt/oracle10g/10201/102010_win64_x64_database.zip

Oracle 11g xe 64位下载地址:https://download.oracle.com/otn/nt/oracle11g/xe/OracleXE112_Win64.zip?AuthParam=1581570015_b536f613e8fecc7c02ed77c63e8c6944

记一次Oracle 11g xe 导出导入使用过程相关推荐

  1. Oracle11G的数据库数据导入导出(由11g上导出导入10g数据库等)

    常用命令 EXPDP USERID='scott/tiger@orcl as sysdba' schemas=scott directory=DATA_PUMP_DIR dumpfile=dp.dmp ...

  2. 在 Windows 下安装 Oracle 11g XE (Express Edition)

    2019独角兽企业重金招聘Python工程师标准>>> Oracle 11g XE 是 Oracle 数据库的免费版本,支持标准版的大部分功能,11g XE 提供 Windows 和 ...

  3. [转]在Fedora上安装Oracle 11g XE

    在某处看到一篇介绍关于oracle- 11g xe在fedora上安装的文章,转载过来. 原文地址:http://blog.mclaughlinsoftware.com/2011/09/27/orac ...

  4. Oracle 11g xe版本---总结1

    一.创建用户和授予权限 1.1 环境: Oracle 11g xe 第三方图形客户端: PLSQL Windows 10 必须登录 HR 用户,下面的查询会使用到 HR 中的表. 1.2 SQL 语句 ...

  5. Oracle exp/imp导出导入命令及数据库备份

    Oracle exp/imp导出导入命令及数据库备份 Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令 ...

  6. linux系统 oracle 11g字符界面详细安装过程

    oracle 11g字符界面详细安装过程 1. 修改主机名 sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" ...

  7. oracle 11g备份,导入oracle 10g

    11g备份,导入10g的时候会抛错,直接阻止导入. 但是有时候还必须得把11g的数据库导入到10g,我今天就遇到了这种情况. 一开始只是把11g中的表全部备份,成功导入10g.但是缺少视图.存储过程等 ...

  8. oracle数据库配置失败,oracle11g – Oracle 11G XE安装错误:数据库配置失败

    在 linuxMint上安装后运行oracle配置时: /etc/init.d/oracle-xe configure 指定以下错误: sudo /etc/init.d/oracle-xe confi ...

  9. oracle导入导出版本规则,oracle expdp impdp 导出导入(支持高版本到低版本)

    在plsql或sqlplus中创建目录: create or replace directory dmp11g as '/home/oracle/dmps3'; grant read,write on ...

最新文章

  1. 没有添加跳新增,添加之后跳修改
  2. VIM 命令使用大全
  3. 如何使ResNet优于EfficientNet?改进训练方法和扩展策略就可以
  4. 如何在linux内核中读写文件
  5. Deepin系统安装后相关设置与环境搭建
  6. Pair Project:电梯控制程序 编写心得 最新版
  7. 奥迪公布未来五年计划:将在电动汽车方面投资120亿欧元
  8. 20200210:(leetcode 623)在二叉树中增加一行
  9. C#几种截取字符串的方法(split 、Substring、Replace、remove)
  10. 数据结构视频教程 -《小甲鱼全套教程之C C++数据结构系列教程》
  11. 晋南讲堂之持久层框架ORM简介
  12. FM1702 13.56MHz RF PCB天线调试经验记录
  13. 魔改一波合成大西瓜!代码已开源~
  14. 【羊了个羊】什么!第二关难如上青天,能不能简单版??
  15. 基于JAVA HAPI包以树形结构实现可配置式 HL7消息接收与解析
  16. UG中怎样删除已经选好的加工模板
  17. 我在华为写了13年的代码
  18. 外挂太多怎么解?云上找出路
  19. python 爱心代码
  20. Android 炫酷的手势动画,16个超级漂亮的手机锁屏图案,炫酷到飞起,总有一款适合你...

热门文章

  1. C++程序设计图书信息管理系统(页面)
  2. 4.2.7. Aggregate Expressions
  3. FX5U 结构体编程
  4. 国产化图形引擎一词引发的感想!
  5. Linux下gdb(插件pwndbg、pead、gef)安装及调试常用指令
  6. 10.3 配置前缀列表
  7. 英语影视台词---无敌破坏王2大脑互联网(2)(我完全被震惊了)
  8. WEB前端之网页设计③----最新最全详解/如何在网页上创建表格
  9. Linux中的远程登陆服务
  10. 搭建京东客京推推CMS2.0导购网站部署教程,新手教程带视频