imp 只导入索引_使用imp导入表和索引至不同表空间方法
在以前我的blog中,曾经记录过使用expdp/impdp方式将表和索引导入至不同表空间的方法,这里再提一下:
导出:
expdp test/test directory=dump_dir dumpfile=test.dmp logfile=test_expdp.log tables=t
导入表数据:
impdp test/test directory=dump_dir dumpfile=test.dmp logfile=impdp_data.log remap_tablespace=system:datatb exclude=index
导入索引数据:
impdp test/test directory=dump_dir dumpfile=test.dmp logfile=impdp_index.log remap_tablespace=system:idxtb include=index
查询语句:
select segment_name,tablespace_name from dba_segments where owner='TEST';
本文记录的是exp/imp方式将表和索引导入至不同表空间的方法,先说明一下原因:
由于应用数据需要迁移,要将原来数据库中应用数据通过导入导出的方式,迁移至目标数据库,同时由于新的规划需求,需要将表中数据和索引存放的表空间区分,迁移前后数据库版本均为Oracle 10g。此操作本来是可以用上述expdp/impdp方式完成的,不过由于在源端数据库没有足够空间存放导出后的dmp文件,所以需要使用其他方式完成数据迁移。
先给出一般的exp/imp迁移数据方法:
(为方便说明,以下示例是将a用户下的数据导入至b用户,同时表中数据和索引表空间需迁移至不同表空间)
exp/imp方式将数据进行迁移时,如果想改变数据存放的表空间的话,需要注意2点:
(1)导入用户无DBA权限
(2)导入用户无unlimited tablespace权限
不过这样是无法将表中数据和索引导入至不同表空间的,如果想将索引导入至其他表空间,方法如下:
导出a用户下数据
exp a/a file=exp_test.dmp log=exp_test.log
首先不导入索引,只导入表数据部分:
imp b/b file=exp_test.dmp log=imp_test_data.log fromuser=a touser=b indexes=n
之后,通过indexfile参数,将创建索引的SQL语句保存至文本中:
imp b/b file=exp_test.dmp log=imp_test_index.log fromuser=a touser=b indexfile=index.sql
最后,通过修改并执行索引创建的SQL语句index.sql,完成实际导入需求。
以上方式可以完成需求,不过操作起来比较麻烦,尤其需要注意:
(1)应用用户导入的缺省表空间及该用户相关权限。
(2)修改index.sql文本的方法颇显麻烦。
以下给出我的Oracle 10g下exp/imp迁移数据方法,也是本次数据迁移实际使用的方法:
首先使用expdp/impdp方法迁移元数据(metadata):
导出:
expdp system/oracle directory=dump_dir dumpfile=expdp_test.dmp logfile=expdp_test.log CONTENT=METADATA_ONLY schemas=a
导入元数据(metadata),指定不同表空间。
impdp system/oracle directory=dump_dir dumpfile=expdp_test.dmp logfile=impdp_test_data.log remap_schema=a:b remap_tablespace=splex:datatb exclude=index
impdp system/oracle directory=dump_dir dumpfile=expdp_test.dmp logfile=impdp_test_index.log remap_schema=a:b remap_tablespace=splex:proftb include=index
之后,通过exp/imp方式迁移应用数据,注意源数据库字符集、目标端数据库字符集、客户端字符集设置应当一致,避免字符转换:
exp a/a file=exp_test.dmp log=exp_test.log STATISTICS=none buffer=52428800
imp b/b file=exp_test.dmp log=imp_test.log fromuser=a touser=b ignore=y commit=y buffer=52428800 indexes=n grants=n constraints=n
通过上述方式,可完成exp/imp迁移数据的方法。
数据泵的其他导出方法:
虽然本次数据迁移未使用到,不过还是记录一下。
其实数据泵是可以在客户端导出数据的,即指定NETWORK_LINK参数:
expdp system/password NETWORK_LINK=db_link_name DIRECTORY=data_pump_dir DUMPFILE=server.dmp TABLES=employees
这种方式需要涉及到2个数据库实例,相当于是客户端的数据库通过使用database link访问了服务器端的数据库,并通过数据泵方式实现服务器端数据的导出。
imp 只导入索引_使用imp导入表和索引至不同表空间方法相关推荐
- mysql dump 导入导出_使用mysqldump导入导出数据
DRDS支持MySQL官方数据导出工具mysqldump.本文围绕DRDS数据导入导出的几种常见场景对操作步骤和注意事项进行说明.mysqldump命令的详细说明请参见MySQL官方文档. mysql ...
- mysql创建非聚集索引_一文看懂聚集索引和非聚集索引的区别
一.深入浅出理解索引结构 实际上,可以把索引理解为一种特殊的目录.微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引.簇集索引)和非聚集索引(nonclu ...
- oracle 索引_分享三个Oracle数据库索引监控脚本,值得收藏
概述 我们在维护业务系统时,可能会建立很多索引,那么这些索引的使用到底怎么样,是否有些索引一直都没有用到过,那么oracle 是如何监控索引的使用状况,是否可以清除它们? 监控索引 一般有两种方式: ...
- python花式索引_初探Numpy中的花式索引
Numpy中对数组索引的方式有很多(为了方便介绍文中的数组如不加特殊说明指的都是Numpy中的ndarry数组),比如:基本索引:通过单个整数值来索引数组 import numpy as np arr ...
- mysql to days 索引_高性能mysql优化二之索引篇
前言 为什么要使用索引?索引有什么用途呢?我的亲身经历,一个几千万数据的项目,我写了一条查询,没有用到索引,由于访问量比较大,瞬间网站就跪了,从此以后我写的每一条sql都会explain解析看是否用到 ...
- 千万级大表如何更快速的创建索引_分享一份生产环境mysql数据库大表归档方案,值得收藏...
概述 分享下最近做的一个mysql大表归档方案,仅供参考. 整体思路 一.明确哪些大表需做归档 1.数据库表概要信息统计 SELECTt1.table_schema,t1.table_name,`EN ...
- python哪个关键字可以导入模块_关于python导入模块import与常见的模块详解
0.什么是python模块?干什么的用的? Java中如果使用abs()函数,则需要需要导入Math包,同样python也是封装的,因为python提供的函数太多,所以根据函数的功能将其封装在不同的m ...
- 加速mysql导入时间_加快mysql导入导出速度
MySQL导出的SQL语句在处理百万级数据的时候,可能导入要花几小时.在导出时合理使用几个参数,可以大大加快导入的速度. -e 使用包括几个VALUES列表的多行INSERT语法; --max_all ...
- idea项目依赖导入失败_解决idea导入项目后依赖报错问题
1.在idea首页 Confige-->setting-->build,execution,deployment-->buildTool-->maven-->work o ...
最新文章
- 玩玩TCPCOPY+ intercept+mysql-replay-module(未成功)
- 根据数据库表gengxin实体类_Python学习第四十八天记录打call:SQLALchemy操作MySQL关系型数据库...
- 使用 OpenLDAP 集中管理用户帐号
- 工程师如何解决穿衣搭配烦恼?——滴搭平台与算法 1
- 没有工作经验找it_校招和社招有什么区别?没有工作经验,如何找工作?
- 了解招聘中的这些潜台词,找工作少走弯路
- Node Sass could not find a binding for your current environment: OS X 64-bit with Node.js 10.x
- Python中函数的定义和参数传递
- python面试题No2
- CIELAB色差计算
- GB BIG5 转码原理全解析
- 高级Java程序员必备:《IDEA问题库》常见问题及解决方案,提升开发效率(JAVA 小虚竹)
- 模电笔记3 三极管 光电三极管
- 《如何有效阅读一本书》:读再多书,不如先学会如何读书
- git 远程仓库和本地仓库建立连接
- 统计代码放在网站php,网站添加简单访客统计代码
- Java识别获取pdf中文字信息(此方法任意pdf的信息都可以拿到)
- 【开源推荐】XMM Go语言环境中完全自主实现的第三方内存管理库
- GPU渲染技术及性能优化
- 数据中心技术最新发展趋势