在11G R2中有个新特性,当表无数据时,不分配segment,以节省空间Oracle当然在执行export导出时,空表则无法导出,但是还是有解决办法的: 解决方法: 一.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 二.设置deferred_segment_creation参数 该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment.修改SQL语句: alter sy…
最近参与的一个系统涉及到把SQL Server 2k的数据迁移到Oracle 10G这一非功能需求.特将涉及到相关步骤列举如下供大家参考: 环境及现有资源: 1.OS: Windows 7 Enterprise 32 bits 2.开发电脑安装有数据库SQL Server 2008.以及Oracle 10G R2 3.客户提供的SQL Server 2k的数据库备份.bak文件 4.Visual Studio 2008 5.Oracle ODAC 1020221 可选方案: 1.DTS(SQL…
Oracle 11gR2 用exp无法导出空表解决方法 在11gR2中有个新特性,当表无数据时,不分配segment以节省空间.Oracle 当然在运行export导出时,空表则无法导出,可是还是有解决的方法的: 解决方法: 一.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment. 导出时则可导出空表. 二.设置deferred_segment_creation參数 该參数值默认是TRUE,当改为FALSE时,无无是空表还是非空…
Oracle数据迁移expdp/impdp目的:指导项目侧自行进行简单的数据泵迁移工作. 本文实验环境:Oracle 11.2.0.4,利用数据库自带的scott示例用户进行试验测试. 1.首先需要创建Directory 2.使用expdp导出用户数据 2.1 只导出scott用户的元数据,且不包含统计信息: 2.2 只导出scott用户的数据: 2.3 只导出scott用户下的emp,dept表及数据: 2.4 只导出scott用户下的emp,dept表结构: 2.5 导出scott用户下所有…
Oracle数据迁移至HBase操作记录 @(HBase) 近期需要把Oracle数据库中的十几张表T级别的数据迁移至HBase中,过程中遇到了许多苦难和疑惑,在此记录一下希望能帮到一些有同样需求的兄弟. HBase表设计 首先,是根据Oracle的数据规划HBase的表和表结构. 从业务上看,十几张表大概可以分为两大部分: 交易信息 客户操作 刚开始的计划是将所有表都导入HBase中的一张大表,但是思索讨论之后发现是行不通的: 1.由于各个表之间的业务关系复杂,无法设定一个理想的Rowkey.…
oracle exp 无法导出空表   select 'alter table '|| a.table_name ||' allocate extent;' from user_tables a where a.table_name not in (select segment_name from user_segments where segment_type = 'TABLE'); 执行查出的sql语句,再导出dmp,就能导出空表了. Oracle 11g无法导出空表的处理方法 在SQL窗口…
在11G R2中有个新特性,当表无数据时,不分配segment,以节省空间Oracle当然在执行export导出时,空表则无法导出,但是还是有解决办法的: 解决方法: 一.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 二.设置deferred_segment_creation参数 该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment.修改SQL语句: alter sy…
今天做数据迁移,但是发现有些空表无法exp,后来找到问题所在. [原文]:http://www.cnblogs.com/wenlong/p/3684230.html 11GR2中有个新特性,当表无数据时,不分配segment,以节省空间,可是在用EXPORT导出时,空表也不能导出,这就导致迁移时候丢失了一些表,存储过程也失效了.本以为EXP能有相应的控制开关,可以切换是否导出空表,看了下帮助,没有太大的改变.有些奇怪,难道11GR2不更新EXP的功能了,还看有的帖子说11GR1作为客户端去卸载1…
https://wangbinbin0326.github.io/2017/03/31/oracle%E6%95%B0%E6%8D%AE%E8%BF%81%E7%A7%BB%E4%B9%8BExp%E5%92%8CExpdp%E5%AF%BC%E5%87%BA%E6%95%B0%E6%8D%AE%E7%9A%84%E6%80%A7%E8%83%BD%E5%AF%B9%E6%AF%94%E4%B8%8E%E4%BC%98%E5%8C%96/ 使用Exp和Expdp导出数据的性能对比与优化 前言 数…
exp/imp可在以下情况下使用 两个数据库之间传送数据 1.同一个oracle数据库的版本之间 2.不同oracle数据库的版本之间 3.相同或不相同的操作系统之间的oracle数据库 用于数据库的备份与恢复 从一个数据库用户传送到另一个用户中 从一个表空间传送到另一个表空间中 创建一个表空间 create tablespace bank_tbs(数据库表空间) datafile '/oracle/test(数据路径) bank_data02.dbf(数据文件名)' size 5M autoe…
通过这个文章演示一下Oracle的表空间迁移流程以及需要注意的诸多事项. 实验目标:将ora10g数据库实例上的表空间TBS_SEC_D迁移到secooler数据库实例上操作系统:Redhat 5.3数据库:Oracle 10.2.0.3 [实验BEGIN][注意事项一]:导入之前,目标数据库中用户必须已经存在存在.[注意事项二]:导入之前,目标数据库中不能存在同名的表空间,如迁移同名的表空间,需要对迁移之前的源数据库或待迁入数据库中的表空间改名. 1.检查源数据库的表空间是否是“自包含”的1)…
ORACLE DB: 11.2.0.3.0 MYSQL DB: 5.5.14 因项目需求,需要将ORACLE生产中数据迁移至MYSQL数据库中作为初始数据,方法有如下几种: 1.ORACLE OGG 2.通过手动编写select “insert into”脚本 3.工具,本次我就是使用了工具(sqluldr2),工具下载地址可以到www.anysql.net去下载 使用方法:将sqluldr2.bin工具上传到oracle的bin目录下,[root@db01 bin]# chown oracle…
oracle相同数据库下跨schema的表迁移—expdp/impdp 需求:将GUIDO用户下的表迁移到SCOTT用户下 select * from dba_role_privs where GRANTEE='SCOTT';--用户角色SQL> select * from dba_role_privs where GRANTEE='SCOTT'; GRANTEE GRANTED_ROLE ADM DEL DEF COM-------------------- -----------------…
(一)问题背景 在使用impdp进行数据导入的时候,往往在导入表和索引的统计信息的时候,速度非常慢,因此我在使用impdp进行导入时,会使用exclude=table_statistics排除表的统计信息,从而加快导入速度,之后再手动收集统计信息. 图.impdp导入数据的时导入统计信息速度非常慢 导入语句如下: impdp user/password directory=DUMPDIR dumpfile=TEST01.dmp logfile=TEST01.log remap_schema=TE…
Rownum与序列的自增长的组合用法技巧 根据序列自增长的步长规律,结合表行记录Rownum值的规则批量生成表的行记录主键的用法技巧 案例如下: CREATE OR REPLACE PROCEDURE BILL_TRANSFER AUTHID CURRENT_USER IS create_sql ); update_sql ); insert_sql ); V_info_id NUMBER; info_count NUMBER; BEGIN --1.充分利用序列的自增长和Rownum的用法生成新…
这个是之前生产上打算迁移的文档,后面离职了没有在停机迁移,但是测试过几次没有问题,其中需要把9I的110,120库迁移到11g一个数据库中,但是110,120库之间有相同的表名字,以及有DBLINK. 一.迁移前查询110库 活动的用户为以下几个用户(BOSS,MD_QZY,SMART,SRDQ,RIMS) 120库 活动的用户(BOSS,SMART) select distinct username from v$session; BOSSMD_QZYRIMSSMARTSRDQ 关闭监听,杀进…
1.设置主库为归档模式 SQL> shutdown immediate SQL> startup mount SQL> alter database archivelog; SQL> archive log list; 2.开启force logging SQL> alter database force logging; Database altered. SQL> SQL> select name,database_role,log_mode,force_lo…
创建临时表:execute immediate 'sql'; 通过临时表和关联查询解决循环处理效率低下,大数据操作移植时时间太长的问题. 结构相同的系统数据库表移植,案例如下: create or replace procedure jk_trade_transfer authid current_user IS create_sql ); update_sql ); insert_sql ); V_info_id NUMBER; info_count NUMBER; begin --一.迁移t…
Oracle 11G在用EXPORT导出时,空表不能导出. 11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: 1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2.设置deferred_segment_creation 参数 alter system set deferred_segment_creation=false; 该参数值默认是TRUE,当改为FALSE时,无论…
使用expdp.impdp和exp.imp时应该注重的事项: 1.exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. 2.expdp和impdp是服务端的工具程序,他们只能在oracle服务端使用,不能在客户端使用. 3.imp只适用于exp导出的文件,不适用于expdp导出文件:impdp只适用于expdp导出的文件,而不适用于exp导出文件. 4.对于10g以上的服务器,使用exp通常不能导出0行数据的空表,而此时必须使用expdp导出. exp.imp导入导出 s…
Oracle数据泵导入导出是日常工作中常用的基本技术之一,它相对传统的逻辑导入导出要高效,这种特性更适合数据库对象数量巨大的情形,因为我日常运维的数据库对象少则几千,多则几万甚至几十万,所以传统exp/imp就会非常耗时,而数据泵方式就因此脱引而出,下面就详细总结一下数据泵的使用方法,希望能给初学者带来帮助. 一.新建逻辑目录 最好以system等管理员创建逻辑目录,Oracle不会自动创建实际的物理目录“D:\oracleData”(务必手动创建此目录),仅仅是进行定义逻辑路径dump_dir…
四.  Oracle 10g以后增加了expdp和impdp工具,用此工具也可以导出空的表 oracleexpdp/impdp 用法详解 1)  创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建. createdirectory db_bak as 'd:\test\dump'; 2)  查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错) select * fromdba_directories; 3)  给s…
来源于:http://www.cnblogs.com/kevinsun/archive/2007/02/03/638803.aspx http://blog.sina.com.cn/s/blog_68e671c70101kyty.html 昨天需要将一个数据库的aaa用户下的数据导入到另一个数据库下的bbb用户下面,不知道如何实现,知道又用效率低下的exp/imp来做.今天再看了看impdp的说明,原来比exp/imp的更简单,再次在实验数据库实验了一下,成功了.具体命令如下:SQL>creat…
racle 11g中有个新特性,当表无数据时,不分配segment,以节省空间,当我们用exp导出空表时,无法导出. 解决方法是两个方面, 一是处理现有的空表,让其能导出: 二是设置参数,让后续的新的空表也可以导出. 步骤如下: 1>查询所有空表并分配segment,使用以下语句查询生成修改空表设置的 select  'alter table  '||table_name||'  allocate extent;' from user_tables where num_rows=0; 2>将步…
原文链接:http://www.cnblogs.com/Mr_JinRui/archive/2012/11/05/2755035.html 早的一次使用oracle 11g导出数据发现有的表丢失了,感觉莫名其妙的,后来终于找到原因了. 找到问题以后,再看看解决方案. 11GR2中有个新特性,当表无数据时,不分配segment,以节省空间,可是在用EXPORT导出时,空表也不能导出,这就导致迁移时候丢失了一些表,存储过程也失效了.本以为EXP能有相应的控制开关,可以切换是否导出空表,看了下帮助,没…
1.数据库状况    生产环境是11G,linux系统,測试环境是10G,windows系统,须要从生产环境导出一个用户下全部的数据,导入測试环境中. 由于数据量比較小,准备採用EXP和IMP工具来做. 2,在生产环境上导出用户数据    命令:       exp \'system/syspl as sysdba\' owner=PLAS buffer=10240000 FILE=/tmp/PLAS_20141113.DMP 运行过程:[oracle@localhost ~]$  exp \'…
1.利用sqlserver工具查询出表中所有数据,全选,右键 -连同标题一起复制. 2.将数据保存到excel文件,数据 时间类型(yyyy--MM--dd HH:mm:ss)最好处理一下,需要将id这列复制一份作为oracle中的序列 3.在oracle创建相同表.全选excel数据(不要标题,前面复制可以不要标题的)粘贴到plsql中…
目标数据库:Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 源数据库  : Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 1.首先想到的是用expdp,impdp. 通过交流发现无法得到源数据库的操作系统密码,这样一来expdp,impdp就不好使了. 2.其次想到的是用plsql developer 来导出数据,但是导出的时候报错了. 放弃此种方法. 3.由…
今天遇到需求要把oracle的部分数据搬到mysql,用java代码抓数据,然后拼接成sql语句,然后用navicat执行sql脚本的方法,导入数据库. import oracle.jdbc.driver.OracleDriver; import java.sql.*; import java.util.Properties; public class DataTransfer { public static void main(String[] args) { Connection conne…
exp db  或者数据泵. 或者ETL工具…