记一次oracle数据库复制过程
记录一次自己数据库复制的过程(从公司测试环境复制到客户测试环境),主要是每次自己都会忘记,不如记录一下,方便自己以后找,因此,本篇内容不会很详细,主要是用于给我自己提醒,相对于一种记笔记的效果。
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数据库复制过程的更多相关文章
- Navicat工具Oracle数据库复制 or 备用、恢复功能(评论都在谈论需要教)
GXPT它是一个分布式系统,该系统包括一个临时许可系统.基本系统.教学评价体系.考试系统,每个系统都有自己的oracle数据库.统,而评教系统的正常须要借助于权限系统和基础系统,详细的业务这里就不多解 ...
- oracle数据库安装过程中的疑惑—该记录是本人以前写在微博上的文章
转行IT初学者关于oracle数据库整理第一次安装数据库的时候都是按照操作步骤一步一步进行安装,并没有对操作步骤产生过怀疑或者为什么要这么进行操作?2017年12月8日再次阅读安装操作说明书的时候有了 ...
- Oracle 数据库启动过程
一 启动数据库 Oracle启动过程涉及几种模式,这些模式涉及不同的文件,每个状态下数据库做不同的事情,同时这些模式适用于不同的维护需求,主要的模式有三种:NOMOUNT.MOUNT.OPEN. 1 ...
- 记一次Oracle数据库迁移部署
--20141230部署脚本(按照时间顺序从上往下) --命令行,导出要部署的数据库数据(无分号) --expdp RMB3/test123@orcl3 SCHEMAS=RMB3 directory= ...
- 【记坑】Oracle数据库Date类型查询结果多出".0"的解决方法
oracle设置数据库某张表的字段类型为date,数据库存值为 2019-11-25 18:51:47 格式,但是从数据库查询出来之后格式为 String stopTime = map.get(&qu ...
- 记一次 oracle 数据库在宕机后的恢复
系统:redhat 6.6 oracle版本: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production 问题描述: ...
- 记一次mysql数据库失而复得过程
背景: 由于是自己买的vps搭建的博客,用的是军哥的一键lnmp源码编译安装的,文章也就几篇,对备份并不太重视,想着等服务器快到期的时候备份一下不就行了. 后来在该服务器上测试lnmp分别编译编译安装 ...
- Oracle数据库插入过程中特殊符号
-- 问题描述:(插入数据中有特殊符号)数据插入后乱码. -- 背景:客户提供部分Excel表格数据要求导入数据库.由于考虑到数据量不大所以粗略在Excel中进行了sql处理(在数据前后添加sql及对 ...
- Oracle DB 复制数据库
• 列出创建副本数据库的目的 • 选择用于复制数据库的方法 • 使用RMAN 复制数据库 • 使用RMAN 备份复制数据库 • 基于正在运行的实例复制数据库 使用副本数据库 • 使用副本数据库可执行以 ...
随机推荐
- #WEB安全基础 : HTTP协议 | 0x11 HTTP的分块传输模块
HTTP通信中,请求的编码实体资源没全部传输完成之前,浏览器无法显示页面,所以传输大容器数据时,把数据分块,能让浏览器逐步显示页面,这就叫分块传输模块 请看分块传输的流程图 每一块都会用十六进制来标记 ...
- 控制台出现“The script has an unsupported MIME type ('text/html')”报错
有时候开发React或者Vue项目时,本地运行访问时,会莫名出现报错如下: The script has an unsupported MIME type ('text/html') 这是由于无意中开 ...
- 设置和获取cookie
通过make_response(“响应体”)创建response响应对象. 然后返回. 与直接return “响应体” 是一样的. 但是这里我们需要用到response响应对象,去设置cookie @ ...
- Fiddler抓包【1】_介绍及界面概述
一. 主要抓包工具介绍与对比 1.Wireshark :通用抓包工具,抓取信息量庞大,需要过滤才能得到有用信息,只抓HTTP请求有点大财小用. 2.Firebug.HttpWatch等Web调试工 ...
- 多线程之CEvent
最近工作中要维护一个windows模块,用到了mfc中的CEvent类.这算是很久很久以前的老朋友了吧,估计和我超过10年没见过面了,不过工作就是工作,技术上来不得半点含糊,所以还是重新认识一下这位老 ...
- Python数据基础--列表、元组、字典、函数
一.数据结构 列表(List)和元组 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内 ...
- Mysql+jsp连接记录
1.下载tomacat 2.jsp项目的创建 3.tomacat和jsp挂钩起来 4.mysql下载 5.mysql可视化 6.随便写下sql语句 7.下载jdbc驱动 8.在jsp里面写 over!
- 代码修改WinForm datagridview 样式 及数据绑定
#region 表格设置 /// <summary> /// 调整表格 /// </summary> /// <param name="dataGrid&quo ...
- UITextField只能输入数字NSCharacterSet实现
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementS ...
- re模块的应用
import re # 正则表达式中的转义 : # '\(' 表示匹配小括号 # [()+*?/$.] 在字符组中一些特殊的字符会现出原形 # 所有的 \w \d \s(\n,\t, ) \W \D ...