记录一次自己数据库复制的过程(从公司测试环境复制到客户测试环境),主要是每次自己都会忘记,不如记录一下,方便自己以后找,因此,本篇内容不会很详细,主要是用于给我自己提醒,相对于一种记笔记的效果。

cmd命令导入导出库

一开始,我是打算使用cmd输命令进行导入导出数据的,因为以前试过这样比较方便,也不会出现什么clob,blob数据录入时候的报错,省力省心,只是命令给忘记了,百度了一会儿,使用命令如下:

exp root/123456@127.0.0.1:1521/orcl file=d:\test.dmp full=y

即:exp 用户名/密码@实例名 file=保存的dmp文件路径 full=y

然后不出所料的报了什么标识符无效的错误,当时没想到是oracle版本问题,然后又试了下以下命令

exp root/123456@127.0.0.1:1521/orcl owner=root file=d:\test.dmp

结果还是报了个标识符无效,只是是另一个标识符,这时候反应过来,版本不匹配,我本地装的是oracle11,公司测试库装的是oracle10,随后百度半天,未果。。。。无奈放弃使用命令导出库,不过内容还是得补全一下,以下导入命令暂未测试,先记录下

imp root/123456@127.0.0.1:1521/orcl file=d:\test.dmp full=y

即:imp 用户名/密码@实例名 file=导入的dmp文件路径 full=y

----------------------------------------------------------------------------2019-04-02改动---------------------------------------------------

今天正好又需要我挪数据库数据,我还是更为喜欢用cmd的exp命令来操作,之前是太过粗略了,正好这次记录下。

首先在执行exp命令之前,先进行如下操作:

1.执行如下sql,该sql执行完的结果将会是查询出一堆sql语句,例如“alter table APP_AUDIT allocate extent;”这一类的,其中的表名指的就是那些表内无数据内容的表,具体原理我不太懂,反正是将查出的结果sql再全部执行一遍,之后再进行exp命令导出,此时导出来的结果中会包含那些空内容的表,省略该步操作的,会导致导出的dmp中不包含无数据内容的表结构。

select 'alter table '|| table_name || ' allocate extent;'
from user_tables
where num_rows = 0 or num_rows is null;

2.执行如下exp命令,与此前的不同是原先用的full=y,此处用的owner指定用户对象,这样导出感觉快很多,原先我用full=y的模式导了十多分钟跑不完,估计是同一个服务器下其他的数据库有什么影响吧,我不太懂这块,反正用full=y的模式我手动终止了文件大小都有2m以上了,而指定owner的情况下导完没出错也就800k。

exp root/123456@127.0.0.1:1521/orcl file=d:\test.dmp owner=root

3.正常执行imp命令,这个上面写的没啥问题,就是再多个ignore=y,忽略一些错误,比如表已经存在啥的

imp root/123456@127.0.0.1:1521/orcl file=d:\test.dmp full=y ignore=y

PLSQL导入导出库

随后选择换用了PLSQL工具进行导入导出数据库,操作顺序如下:

第一步:登陆待导出用户,选择菜单栏tools——Export User Objects...——弹出的界面选择相应的user,然后选好output file即保存地址,点击Export,完成对象导出(此处导出内容包含结构、序列、触发器等,不包含表数据)

第二步:切换导入用户,选择菜单栏tools——Import Tables...——弹出界面选择SQL Inserts界面,仅修改下面的impor file路径为第一步导出的sql文件即可,点击import(完成表结构、序列、触发器的导入)

第三步:切换导出用户,选择菜单栏tools——Export Tables...——选择全部表,再排除包含clob和bolb字段的表,以及内容特别多的日志表,下面选择PL/SQL Developer,选择相应导出地址,点击Export,完成数据导出,导出的文件是pde文件

第四步:切换导入用户,选择菜单栏tools——Import Tables...——弹出界面选择PL/SQL Developer界面,import file路径选择第三步导出的pde文件即可,点击import,完成数据导入

最后再去处理那些第三步排除掉的那几个表,这时候就自己想办法了,我是使用navicat工具同步那几个表的数据的,因为平时我这个用的比较多,plsql反而用的比较少。

记一次oracle数据库复制过程的更多相关文章

  1. Navicat工具Oracle数据库复制 or 备用、恢复功能(评论都在谈论需要教)

    GXPT它是一个分布式系统,该系统包括一个临时许可系统.基本系统.教学评价体系.考试系统,每个系统都有自己的oracle数据库.统,而评教系统的正常须要借助于权限系统和基础系统,详细的业务这里就不多解 ...

  2. oracle数据库安装过程中的疑惑—该记录是本人以前写在微博上的文章

    转行IT初学者关于oracle数据库整理第一次安装数据库的时候都是按照操作步骤一步一步进行安装,并没有对操作步骤产生过怀疑或者为什么要这么进行操作?2017年12月8日再次阅读安装操作说明书的时候有了 ...

  3. Oracle 数据库启动过程

    一 启动数据库 Oracle启动过程涉及几种模式,这些模式涉及不同的文件,每个状态下数据库做不同的事情,同时这些模式适用于不同的维护需求,主要的模式有三种:NOMOUNT.MOUNT.OPEN. 1 ...

  4. 记一次Oracle数据库迁移部署

    --20141230部署脚本(按照时间顺序从上往下) --命令行,导出要部署的数据库数据(无分号) --expdp RMB3/test123@orcl3 SCHEMAS=RMB3 directory= ...

  5. 【记坑】Oracle数据库Date类型查询结果多出".0"的解决方法

    oracle设置数据库某张表的字段类型为date,数据库存值为 2019-11-25 18:51:47 格式,但是从数据库查询出来之后格式为 String stopTime = map.get(&qu ...

  6. 记一次 oracle 数据库在宕机后的恢复

    系统:redhat 6.6 oracle版本: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production 问题描述: ...

  7. 记一次mysql数据库失而复得过程

    背景: 由于是自己买的vps搭建的博客,用的是军哥的一键lnmp源码编译安装的,文章也就几篇,对备份并不太重视,想着等服务器快到期的时候备份一下不就行了. 后来在该服务器上测试lnmp分别编译编译安装 ...

  8. Oracle数据库插入过程中特殊符号

    -- 问题描述:(插入数据中有特殊符号)数据插入后乱码. -- 背景:客户提供部分Excel表格数据要求导入数据库.由于考虑到数据量不大所以粗略在Excel中进行了sql处理(在数据前后添加sql及对 ...

  9. Oracle DB 复制数据库

    • 列出创建副本数据库的目的 • 选择用于复制数据库的方法 • 使用RMAN 复制数据库 • 使用RMAN 备份复制数据库 • 基于正在运行的实例复制数据库 使用副本数据库 • 使用副本数据库可执行以 ...

随机推荐

  1. 【转】Oracle EBS中查询Profile的各种SQL

    参考 http://blog.csdn.net/pan_tian/article/details/7652968#t0 Using API FND_PROFILE.save to update pro ...

  2. dom反转

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  3. javascript学习-基本类型

    javascript学习-基本类型 1.概述 javascript的数据类型大体上分两种:基本类型和对象类型.简单的区分就是基本类型是无法再分的原子级类型:对象类型是容器,可以容纳基本类型和对象类型. ...

  4. Ajax配合vue+element打造个人专属loading

    最近有使用到element组件中的loading,主要是处理后台传输数据太大,页面这边较长时间处于一个白屏,这里使用了一个loading组件,来进行一个优化,当然这只是视觉层面的一个简单优化,如果不用 ...

  5. tensorflow学习笔记2:c++程序静态链接tensorflow库加载模型文件

    首先需要搞定tensorflow c++库,搜了一遍没有找到现成的包,于是下载tensorflow的源码开始编译: tensorflow的contrib中有一个makefile项目,极大的简化的接下来 ...

  6. 20180706001 - 动态添加 tabPage

    //        public TabPage Add(Form form, string str_frm_name)        {            form.Visible = true ...

  7. Jquery小功能实例

    下拉框内容选中左右移动 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Sele ...

  8. Docker volume权限导致的几个问题

    挂宿主目录的权限问题 由于容器和宿主机共用了一套内核,因此同一个uid对应的容器用户和宿主机用户(哪怕用户名不同)对于内核权限控制而言都是同一个用户.而默认情况下,如果未做特殊配置,容器里的进程默认是 ...

  9. 【题解】Luogu P3674 小清新人渣的本愿

    原题传送门 这题还算简单(我记得我刚学oi时就来写这题,然后暴力都爆零了) 看见无修改,那么这题应该是莫队 维护两个bitset,第二个是第一个的反串,bitset内维护每个数字是否出现过 第一种操作 ...

  10. 注解配置spring

    1.为什么使用注解配置Spring基于注解配置的方式也已经逐渐代替xml.这个是不可逆的潮流,所以我们必须要掌握使用注解的方式配置Spring 总结:(1)使用注解配置Spring,注解的作用就是用于 ...