(一)问题背景 在使用impdp进行数据导入的时候,往往在导入表和索引的统计信息的时候,速度非常慢,因此我在使用impdp进行导入时,会使用exclude=table_statistics排除表的统计信息,从而加快导入速度,之后再手动收集统计信息. 图.impdp导入数据的时导入统计信息速度非常慢 导入语句如下: impdp user/password directory=DUMPDIR dumpfile=TEST01.dmp logfile=TEST01.log remap_schema=TE…
Oracle数据迁移至HBase操作记录 @(HBase) 近期需要把Oracle数据库中的十几张表T级别的数据迁移至HBase中,过程中遇到了许多苦难和疑惑,在此记录一下希望能帮到一些有同样需求的兄弟. HBase表设计 首先,是根据Oracle的数据规划HBase的表和表结构. 从业务上看,十几张表大概可以分为两大部分: 交易信息 客户操作 刚开始的计划是将所有表都导入HBase中的一张大表,但是思索讨论之后发现是行不通的: 1.由于各个表之间的业务关系复杂,无法设定一个理想的Rowkey.…
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用户下所有…
UNIQUEIDENTIFIER列上的统计信息非常有意思,在它上面有一些很令人讨厌的行为.我们来看下. 问题重现(The repro) 为了向你展示我们刚抱怨的行为,我用下列简单的表定义创建了一个数据库,我在UNIQUEIDENTIFIER列上强制主键约束.这意味着SQL Server在后台会生成唯一聚集索引,聚集索引本身有一个统计信息对象来描述那列的数据分布情况.当然,数据分布是线性的,因为在UNIQUEIDENTIFIER列每个值本身都是唯一的. -- Create a new table…
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…
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的用法生成新…
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,后来找到问题所在. [原文]:http://www.cnblogs.com/wenlong/p/3684230.html 11GR2中有个新特性,当表无数据时,不分配segment,以节省空间,可是在用EXPORT导出时,空表也不能导出,这就导致迁移时候丢失了一些表,存储过程也失效了.本以为EXP能有相应的控制开关,可以切换是否导出空表,看了下帮助,没有太大的改变.有些奇怪,难道11GR2不更新EXP的功能了,还看有的帖子说11GR1作为客户端去卸载1…
今天上班后不知道为什么,mysql一直无法启动,折腾了半天于是决定重装 我本地的server用的是wamp , 重装的时候, 要进行数据备份 , 我使用的最简单粗暴的备份方式, 就是直接进入到mysql的安装文件夹下, 把data拷贝一份就能够了. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2FuZGVyc2hp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Ce…
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 \'…
创建临时表: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的部分数据搬到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…
由于zimg特殊的图片存储结构及图片命名规则,其迁移数据应该当相当简单的,仅把对应的存储图片数据的文件夹复制即可.往往简单的东西总会有一些成本在里面,下面是我简单的迁移测试过程中遇到的一些问题,仅供参考[两服务的配置文件异同不影响数据迁移] 先排除低版本迁移高版本产生的问题,比如zimg 2.x 文件格式为0_0,但新版本zimg 3.x存储格式变为0*0. 1.直接从A服务器,将数据下载到windows本地,再将本地文件上传另一个服务器B 2.直接从浏览器访问B服务上的图片地址,结果显示404…
一.实验目的: Insert插入表中相同的行数量,不同的列数量,通过10046 和autotrace工具对比查看逻辑读.物理读.time数据,并得出相应结论 二.测试 2.1测试流程: =>[为尽可能满足测试数据可靠性,提前准备好操作流程] =>实验数据及环境的准备: #目标端环境准备:授予用户yang表空间的使用权限. 转储目录的创建及读写权限授予给yang用户 及 开启autotrace工具的权限 #源库使用数据泵导出一张表的测试数据,操作系统命令scp远程传输至目标端,目标端使用Impd…
通过这个文章演示一下Oracle的表空间迁移流程以及需要注意的诸多事项. 实验目标:将ora10g数据库实例上的表空间TBS_SEC_D迁移到secooler数据库实例上操作系统:Redhat 5.3数据库:Oracle 10.2.0.3 [实验BEGIN][注意事项一]:导入之前,目标数据库中用户必须已经存在存在.[注意事项二]:导入之前,目标数据库中不能存在同名的表空间,如迁移同名的表空间,需要对迁移之前的源数据库或待迁入数据库中的表空间改名. 1.检查源数据库的表空间是否是“自包含”的1)…
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-------------------- -----------------…
目标数据库: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.由…
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…
创建数据表的命令 php artisan make:migration create_users_table 执行这个迁移的命令, php artisan migrate 其实感觉就像简单的方法创建数据库 这边是laravel5.4的特性要改长度 改这三处就可以了 这个就是把圈中的表删除了再执行一遍 这个是laravel中文学院的命令网址 http://laravelacademy.org/post/130.html…
exp db  或者数据泵. 或者ETL工具…
http://blog.csdn.net/itdada/article/details/52746392…
一.表的统计信息 表的统计信息用于描述表的详细信息,包括记录数(num_rows).表块的数量(blocks).平均行长度(avg_row_len)等典型维度.这些维度可以通过数据字典表DBA_TABLES.DBA_TAB_PARTITIONS和DBA_TAB_SUBPARTITIONS来分别查看表.分区表的分区和分区表的子分区的统计信息. 二.索引的统计信息 索引的统计信息描述了索引的详细信息,它包含了索引的层级(blevel).叶子块数量(leaf_blocks).聚簇因子(clusteri…
文档结构: oracle执行计划使用场景 环境: Centos 6.10 Oracle 18.3.0.0.0 c 11g默认启动了自动统计信息收集的任务,默认运行时间是周一到周五晚上10点和周6,周天的早上6点,这种自动收集统计信息的方式并不是收集所有对象的统计信息,而是收集没有统计信息的对象和统计信息过旧的对象.然后确定优先级,再开始进行统计信息. Job 名称是GATHER_STATS_JOB, 该Job收集数据库所有对象的2种统计信息: (1)Missing statistics(统计信息…
(一)统计信息收集概述 在Oracle 11g中,默认有3个自动任务,分别是:自动统计信息收集.SQL调优顾问.段空间调整顾问,查看方法如下: SQL> SELECT CLIENT_NAME,TASK_NAME,OPERATION_NAME,STATUS FROM dba_autotask_task; CLIENT_NAME TASK_NAME OPERATION_NAME STATUS -------------------------------- ---------------------…
一.获取执行计划的6种方法(详细步骤已经在每个例子的开头注释部分说明了):1. explain plan for获取: 2. set autotrace on : 3. statistics_level=all;4. 通过dbms_xplan.display_cursor输入sql_id参数直接获取5. 10046 trace跟踪6. awrsqrpt.sql 二.适用场合分析 1.如果某SQL执行非常长时间才会出结果,甚至慢到返回不了结果,这时候看执行计划就只能用方法1,或者方法4调用现成的:…
SQLSERVER是怎麽通过索引和统计信息来找到目标数据的(第三篇) 最近真的没有什么精力写文章,天天加班,为了完成这个系列,硬着头皮上了 再看这篇文章之前请大家先看我之前写的第一篇和第二篇 第一篇:SQLSERVER是怎麽通过索引和统计信息来找到目标数据的(第一篇) 第二篇:SQLSERVER是怎麽通过索引和统计信息来找到目标数据的(第二篇) 1.统计信息的含义与作用 为了以尽可能快的速度完成语句,光有索引是不够的.对于同一句话,SQLSERVER有很多种方法来完成他. 有些方法适合于数据量比…
目录: (一)六种执行计划  (1)explain plan for  (2)set autotrace on  (3)statistics_level=all  (4)dbms_xplan.display_cursor获取  (5)事件10046 trace跟踪  (6)awrsqrpt.sql (二)如何选择 (一)六种执行计划Oracle提供了6种执行计划获取方法,各种方法侧重点不同. (1)explain plan for 例子: SQL> show userUSER 为 "HR&…
前提  本文仅讨论SQL Server查询时, 对于非复合统计信息,也即每个字段的统计信息只包含当前列的数据分布的情况下, 在用多个字段进行组合查询的时候,如何根据统计信息去预估行数的. 利用不同字段的统计信息做数据行数预估的算法原理,以及SQL Server 2012和SQL Server 2014该算法的差异情况, 这里暂时不涉及复合统计信息,暂不涉及统计信息的更新策略及优化相关话题,以及其他SQL Server版本计算方式. 统计信息是什么 简单说就是对某些字段的数据分布的一种描述,让SQ…
(1)什么是执行计划SQL是一种傻瓜式语言,每一个条件就是一个需求,访问的顺序不同就形成了不同的执行计划.Oracle必须做出选择,一次只能有一种访问路径.一个访问路径就是一个执行计划. (2)执行计划的选择通常一条SQL有多个执行计划,那我们如何选择?那种执行开销更低,就意味着性能更好,速度更快,我们就选哪一种,这个过程叫做Oracle的解析过程,然后Oracle会把更好的执行计划放到SGA的Shared Pool里,后续再执行同样的SQL只需在Shared Pool里获取就行了,不需要再去分…
为什么要写统计信息 最近看到园子里有人写统计信息,楼主也来凑热闹. 话说经常做数据库的,尤其是做开发的或者优化的,统计信息造成的性能问题应该说是司空见惯. 当然解决办法也并非一成不变,“一招鲜吃遍天”的做法已经行不通了(题外话:整个时代不都是这样子吗) 当然,还是那句话,既然写了就不能太俗套,写点不一样的,本文通过分析一个类似实际案例来解读统计信息的更新的相关问题. 对于实际问题,不但要解决问题,更重要的是要从理论上深入分析,才能更好地驾驭数据库. 统计信息基础 首先说一个老掉牙的话题,统计信息…