精华内容
下载资源
问答
  • NC5到NC6数据迁移文档

    2018-06-13 17:29:33
    NC5到NC6数据迁移文档NC5到NC6数据迁移文档NC5到NC6数据迁移文档NC5到NC6数据迁移文档NC5到NC6数据迁移文档NC5到NC6数据迁移文档NC5到NC6数据迁移文档
  • Oracle 数据迁移是比较麻烦的,对菜鸟来说更是如此。最近由于更换服务器,需要将Oracle迁移到另外一台机器,在两个服务器环境相同,以及 Oracle版本相同的前提下,通过直接拷贝数据文件到新服务器,就可以直接迁移...
  • 1.进行数据迁移前我们需要操作的是: 在我们的命令窗口执行: php artisan migration:install 执行这个命令成功后会在我们的数据库里面创建一个名为migrations的数据表,里面有三个字段 第一个:id就是我们平常理解...

    我们在完成创建迁移以及对数据表的中创建数据表的方法进行数据的添加后,我们就需要执行此迁移文件,迁移到我们的数据库里面。
    1.进行数据迁移前我们需要操作的是:
    在我们的命令窗口执行:
    php artisan migration:install
    执行这个命令成功后会在我们的数据库里面创建一个名为migrations的数据表,里面有三个字段
    第一个:id就是我们平常理解的id
    第二个:migration 这个是记录我们迁移文件的名字
    第三个:batch 其英文意思就是批次的意思,在这里也表示批次,就是一次执行的迁移文件他们的批次是相同的
    2.下面我们开始执行数据的迁移
    在我们的迁移文件里面有up()和down()方法,为数据表创建和删除的方法
    (1)首先我们先来执行up()方法也就是对数据表进行创建
    我们依然是通过在命令行窗口执行命令的方式进行执行
    在此之前我们需要知道,在migrations文件夹里面有laravel自带的的迁移文件,我们需要把自带的迁移文件删除后再执行命令,若不删除则会一起执行,并不是我们想要的的结果。
    接下来在刚才打开的命令行里面输入命令:
    php artisan migrate
    在这里插入图片描述
    会出现上面的内容,说明我们的数据表在我们自己的数据库里面创建成功。
    因此,在我们的数据库里面会出现一个数据表,里面是我们在up()方法里面编写的数据表。
    数据迁移成功,接下来如果我们想在表里面添加数据也就是数据的填充,我们就需要在seed这个文件夹里面创建填充类,当然laravel会有自带的一个填充类,我们可以根据自带填充类的命名方法来进行命名。
    <1>创建填充器我们需要在命名行进行创建:
    php artisan make:seeder PaperTableSeeder
    创建成功后在seed文件夹里面就会有我们的填充类
    <2>然后打开我们创建的类文件,里面会有一个run()方法,在run()方法里面添加数据
    如下所示

    public function run()
        {
            DB::table('paper')->insert(
             [[
             'Pager_name' =>'english',
             'Total_score' =>100,
             'Start_time' =>time()+86400,
              'Duration' =>120,
              'Status' =>1,
             ],
             [
             'Pager_name' =>'chinese',
             'Total_score' =>100,
             'Start_time' =>time()+86400,
              'Duration' =>120,
              'Status' =>1,
             ],
             [
             'Pager_name' =>'math',
             'Total_score' =>100,
             'Start_time' =>time()+86400,
              'Duration' =>120,
              'Status' =>1,
             ]]
             );
    
     <3>执行填充类
     在命令行输入php artisan db:seed --class=PaperTableSeeder
     执行完成后在我们的数据表中就会插入数据
    

    (2)如果我们想要删除数据表,那么就是我们迁移文件里的down()方法
    在命令行执行命令:php artisan migrate:rollback
    相当于回滚操作也就是回滚到最后一步,这个回滚操作针对的是批次进行操作也就是上面说的batch,回滚操作会删除同一批次的数据表
    注意:删除操作只删除迁移表的记录和对应的数据表,其它的操作不执行

    在执行创建表命令的时候,我们需要做的是:
    php artisan migrate这个命令。当我们已经执行完成后,如果再一次执行它是不成功的,因为迁移的时候系统会将迁移文件夹里面的文件和数据表的记录进行匹配,若匹配成功则执行,不成功则不执行

    展开全文
  • kettle数据迁移操作文档
  • oracle 数据迁移技术汇总,各种姿势都行。需要数据迁移的技术完整手册
  • oracle数据迁移

    2017-10-25 17:14:23
    oracle数据迁移文档,快速迁移的数据的好办法,一看就懂
  • 数据迁移

    2019-08-16 19:20:49
    1、数据迁移分类: 平迁:不需要调整表结构的数据迁移,即为了性能扩展需要从一台服务器迁移到另外一台服务器上,用数据库的导出导入或备份恢复工具处理即可,当然也要考虑迁移后的一些序列字段的初始值。 拆表...

    1、数据迁移分类:

    • 平迁:不需要调整表结构的数据迁移,即为了性能扩展需要从一台服务器迁移到另外一台服务器上,用数据库的导出导入或备份恢复工具处理即可,当然也要考虑迁移后的一些序列字段的初始值。
    • 拆表迁移:数据迁移的过程中发生了拆表行为
      • 垂直拆表:例如:1、增加附件管理以统一管理文件、图片、音频和视频的url地址等信息导致的拆表行为,
      • 水平拆表:单表数据量达到千万级别时为了提高查询效率而将数据以一定的规律分散不同的表存储
    • 合表迁移:数据迁移的过程中发生了合表行为,将不同维度的描述信息表统一为标签表
    • 增表迁移:数据迁移的过程中发生了新增表行为,为满足业务需求而增加的业务表
    • 字段转换:数据迁移的过程中发生了新增字段是由老字段转换过来的行为,外键由id改为name
    • 新增字段:默认值或值的填写规则
    • 库表模型重构:表结构及表关系发生变化,即由以上多种类型的数据迁移混合而成。
      • 了解新老系统各自数据库的表间关系
      • 了解新老系统旧表和新表的对应关系
      • 了解新老系统的字段含义
      • 了解新老系统的旧字段和新字段的对应关系
    • 异构数据迁移,即从一个数据库平台迁移到另外一个数据库平台,用ETL工具或SQL均可实现,不过要注意业务逻辑的迁移,即存储过程、函数、触发器之类的

    2、系统分析:提高数据迁移的准确性和完整性,有利于分清主次数据(核心数据和非核心数据,一般越基础的数据越核心),有助于了解用户对历史数据的需求避免盲目地全部性的迁移,有助于确定工作量和工作进度。

    • 旧系统:理清功能模块,业务处理流程
    • 新系统:理清功能模块,业务处理流程

    3、旧系统数据的处理规则

    • 基础数据,通常这一类不会发生结构性变化容易迁移,但是会影响所有的相关业务数据,关注点为数据的主键和唯一键的方式。
    • 业务数据
      • 库表结构未变化:这一类数据处理起来会比较容易,一次性导入即可,后续采用增量数据导入。
      • 流程性:这一类数据只有在记录完全关闭后才能结束,需要进行增量导入和数据更新,同时还要进行相关查询界面的开发,以保证旧有数据能够在新系统中查询的到。
      • 库表结构重构,这一类数据的工作量是最重的,就需要仔细去研究新老业务系统的数据结构了。
        • 尽量通过甲方单位来收集齐全相关原系统的相关设计文档,这一点对数据分析很有帮助,通过人的感觉和对数据的观察来分析毕竟不太靠谱。
        • 在原系统上进行相关数据的观察,了解数据的变化和数据表数据的关系(对于比较难以理解的相关字段很有帮助)
        • 比较新老系统数据的差异,如果实在很不靠谱的话,建议按流程数据去处理。

    4、技术:数据迁移分为两个过程:导入和导出,平迁:数据量少的话选择navicat等客户端的导入导出方式,数据量多话选择mysql自带sql语句导入/导出,异构数据迁移:选择ETL工具(kittle等),库表模型重构:使用开发语言+sql控制

    • 导出:
      • 导出对于字段较少/字段内容较少的数据,通过客户端方式可以采用navicat等工具导出,我这里本次导出三个字段,都是11位数字以内的值,用navicat导出每分钟大约250万数据,
      • MySQL自带的导出语句:select into outfile语句;
      • 用MySQL自带导出/导入优点是速度极快,缺点是:只能导出文件是在服务器主机所在的本机地址,对于bi之类拿到不数据库主机权限的同事这个方式可能奢望了。
      • 不过好在对于字段/内容较少的报表第三方客户端工具导出速度也不算特别慢;
    • 导入:
      • 重点记录导入,导入主要是dba做数据迁移了,方式也分客户端和MySQL自带方式:
      • 这里极度推荐用MySQL导入方式load data infile语句,原因是我之前要迁移1.3亿数据,用navicat客户端导入数据要22小时,耗时太长且不确定太多,本身navicat等工具就会有假死风险的存在,
      • 所不建议超过1万以上的数据通过navicat导入;
      • 提高效率的方法:
        • 去除索引
        • 更改引擎:不同引擎load机制不一样,myisam更快,使用myisam可以调整session的参数扩大读取内存,导入前可以关闭唯一校验,导入后再打开。
        • 使用服务器本地读取
        • 查看服务器上mysql对cpu的占用率

    5、注意事项:

    • 先迁移基础数据表,再迁移业务表及业务关系表
    • 不管哪种类型迁移都要关注字段的类型、大小、是否非空和默认值规则
    • 对业务数据的分析最为关键,需要不断的尝试在新系统上不断的测试

    6、参考文档

    https://blog.csdn.net/qq_21108311/article/details/82559119 mysql亿级数据导入导出

    https://blog.csdn.net/qq_26334813/article/details/80503973 大批量数据如何快速的数据迁移

    https://www.cnblogs.com/wayne-ivan/p/3821649.html 关于数据迁移的方法、步骤和心得

    https://www.jianshu.com/p/9f6253e6fcc3?from=timeline

    7、附加:我的数据迁移计划(流程及技术):

    1. 根据数据迁移类型确定迁移计划
    2. 理解业务逻辑保证业务的完整性和一致性
    3. 确定迁移范围:涉及的表、字段以及记录的数据量
    4. 确定表及字段的对应关系,
    5. 技术选型
    6. 原始数据的保存
    7. 确定迁移流程
    8. 新老数据对比:数据量的一致性
    9. 测试

    展开全文
  • 数据库数据文件迁移

    2013-08-23 15:21:53
    数据库数据文件迁移
  • 一个同事提示说laravel5.5里面有种文件是数据库迁移文件,然后抓住这个信息,开始百度+谷歌,终于,花了一下午时间把laravel5.5的迁移基本搞清楚怎么操作,并根据迁移文件搭建了本地数据库,填充数...

    一、背景

        新公司的项目是在coding版本仓库中,领导把我coding账号添加到项目成员后就叫我开始熟悉代码,没给数据库账密,laravel5.5又是第一次接触,有点懵圈……

        一个同事提示说laravel5.5里面有种文件是数据库迁移文件,然后抓住这个信息,开始百度+谷歌,终于,花了一下午时间把laravel5.5的迁移基本搞清楚怎么操作,并根据迁移文件搭建了本地数据库,填充数据。

        如果是新手,操作前可以先尝试用一个新的laravel项目来学习数据迁移的概念,找找感觉:

        1. 数据库迁移官方手册

        2. Laravel 实践之路: 数据库迁移与数据填充

    二、迁移文件转数据库步骤

    1. 创建数据库,如laravel

    2. 配置数据库连接信息(.env)

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=laravel
    DB_USERNAME=root
    DB_PASSWORD=123456

    3.  安装composer包

    composer update

    4. 在dos操作界面(win+R,cmd)跳转到项目根目录,执行命令安装Laravel的Migrations:

    php artisan migrate:install

    5. 执行根据迁移文件搭建数据库结构命令

    php artisan migrate

      注意:如果报class或者Service等不存在的错误,直接执行以下命令,然后再重新执行上一步迁移命令:

    composer update --no-scripts

    6. 执行批量填充命令

    php artisan db:seed

      注意:填充数据信息在/database/seeds/ 文件夹下,其中DatabaseSeeder.php可以将其他填充文件写在一起进行批量填充,如果没有将其他填充文件对应的类名写入DatabaseSeeder.php的run方法中,则不会执行对应的填充。

    展开全文
  • kettle数据迁移工具的文档使用,针对kettle7的使用介绍,包括配置转换与作业等
  • 我们在开发或者产品升级的时候经常会遇到托管模型的结构化修改(也就是表的结构改变),那么我们就需要数据迁移到新的模型中。 轻量级迁移方式 默认的迁移方式 迁移管理器迁移方式 现在记录一下最后一种迁移方式,...

    我们在开发或者产品升级的时候经常会遇到托管模型的结构化修改(也就是表的结构改变),那么我们就需要数据迁移到新的模型中。

    1. 轻量级迁移方式
    2. 默认的迁移方式
    3. 迁移管理器迁移方式

    现在记录一下最后一种迁移方式,迁移管理器迁移数据。

    大家有没有这样的体验,就是升级新版QQ的时候,第一次开启会首先要导入原来数据。 会有导入的进度条。对当数据迁移量很大的时候就需要花费较长的时间。为了更好的用户体验,我们需要让用户知道已经迁移多少,还有多少。这样不至于让用户无目标的等待,或者不耐烦的关闭。 迁移管理器就为我们提供了,迁移进度值。

    首先我们先下载操作底板:下载

    下载完成后,运行一下程序,插入数据。
    如果程序出现崩溃请参考前两篇文章进行处理。(删除原有数据库文件,或者clean一下)。

    首先我们添加Model版本
    这里写图片描述
    这里写图片描述
    这里写图片描述
    然后设置当前运行版本
    这里写图片描述
    然后我们就可以操作新的实体了,可以直接删除,新建一个实体,或者修改现在的实体。
    我们删除掉重新创建 Entity2
    这里写图片描述
    好创建好新的实体后,我们来创建映射模型。
    这里写图片描述
    这里写图片描述
    这里写图片描述
    创建完成后我们来设置一下
    这里写图片描述
    完成映射模型

    当进行迁移的时候我们需要判断一下是否需要迁移,是否已经迁移过了。
    也就是比较原有的存储模型是否与现在的存储模型相同。

    -(BOOL)isMigrationNecessaryForStore:(NSURL *)storeURL
    {
        //是否存在文件,如果不存在直接返回NO
        if (![[NSFileManager defaultManager] fileExistsAtPath:[self storeURL].path]) {
            return NO;
        }
        NSError *error = nil;
    
        //比较存错模型的元数据。
        NSDictionary *sourceMataData = [NSPersistentStoreCoordinator metadataForPersistentStoreOfType:NSSQLiteStoreType URL:storeURL error:&error];
        NSManagedObjectModel *destinationModel = _coordinator.managedObjectModel;
        if ([destinationModel isConfiguration:nil compatibleWithStoreMetadata:sourceMataData]) {
            return NO;
        }
        return YES;
    
    }
    

    下面开始数据迁移

    -(BOOL)migrateStore:(NSURL *)sourceStore
    {
        BOOL successs = NO;
        NSError *error = nil;
    
    
        //原来的数据模型的原信息
        NSDictionary *sourceMetadata = [NSPersistentStoreCoordinator metadataForPersistentStoreOfType:NSSQLiteStoreType
                                                                                                  URL:sourceStore
                                                                                                error:&error];
        //原数据模型
        NSManagedObjectModel *sourceModel = [NSManagedObjectModel mergedModelFromBundles:nil forStoreMetadata:sourceMetadata];
    
        //最新版数据模型
        NSManagedObjectModel *destinModel = _model;
    
        //数据迁移的映射模型
        NSMappingModel *mappingModel = [NSMappingModel mappingModelFromBundles:nil
                                                                forSourceModel:sourceModel
                                                              destinationModel:destinModel];
        if (mappingModel) {
            NSError *error = nil;
    
            //迁移管理器
            NSMigrationManager *migrationManager = [[NSMigrationManager alloc]initWithSourceModel:sourceModel
                                                                                 destinationModel:destinModel];
    
            //这里可以注册监听  NSMigrationManager 的 migrationProgress来查看进度
    
            //先把模型存错到Temp.sqlite
            NSURL *destinStore = [[self applictaionStoresDirectory] URLByAppendingPathComponent:@"Temp.sqlite"];
            successs = [migrationManager migrateStoreFromURL:sourceStore
                                                        type:NSSQLiteStoreType
                                                     options:nil
                                            withMappingModel:mappingModel
                                            toDestinationURL:destinStore
                                             destinationType:NSSQLiteStoreType
                                          destinationOptions:nil
                                                       error:&error];
            if (successs) {
                //成功后替换掉原来的旧的文件
                if ([self replaceStore:sourceStore withStore:destinStore]) {
    //                这里移除监听就可以了。
                }
            }
        }
        return successs;
    }
    
    

    文件替换

    -(BOOL) replaceStore:(NSURL *)old withStore:(NSURL *)new
    {
        BOOL success = NO;
        NSError *error = nil;
        if ([[NSFileManager defaultManager] removeItemAtURL:old error:&error]) {
            error = nil;
            if ([[NSFileManager defaultManager] moveItemAtURL:new toURL:old error:&error]) {
                success = YES;
            }
        }
        return success;
    }

    现在基本已经基本完成。我们在导入数据模型的时候来判断是否需要数据迁移,那么我们需要在CoreDataHelper.m文件中的loadStore方法中添加。

    -(void)loadStore
    {
        if (_store) {
            return ;
        }
    
        BOOL useMigrationManager = YES;
        if (useMigrationManager &&[self isMigrationNecessaryForStore:[self storeURL]]) {
            [self migrateStore:[self storeURL]];
        }else{
            NSError *error;
    
            NSDictionary *options = @{NSMigratePersistentStoresAutomaticallyOption:@(YES),
                                      NSInferMappingModelAutomaticallyOption:@(NO)};
            _store =[_coordinator addPersistentStoreWithType:NSSQLiteStoreType
                                               configuration:nil
                                                         URL:[self storeURL]
                                                     options:options
                                                       error:&error];
            if (!_store) {
                abort();
            }
        }
    
    }

    我们来看看是否成功了。

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Override point for customization after application launch.
    
        NSLog(@"%@",NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES));
        _coreDataHelper = [[CoreDataHelper alloc]init];//初始化
        [_coreDataHelper setupCoreData];//设置持久化对象存储
        NSManagedObjectContext *context = _coreDataHelper.managedContext;
    //    
    //    for (NSInteger i = 0; i<100000; i++) {
    //        Entity1 *entity = [NSEntityDescription insertNewObjectForEntityForName:@"Entity1" inManagedObjectContext:context];
    //        entity.name = [NSString stringWithFormat:@"name%ld",i];
    //        entity.age = @(i);
    //    }
    
        NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Entity2" inManagedObjectContext:context];
        NSFetchRequest *request = [[NSFetchRequest alloc]init];
        request.entity = entityDescription;
    
        NSArray *array = [context executeFetchRequest:request error:nil];
        for (Entity2 *entity in array) {
            NSLog(@"name2:%@,age2:%@",entity.name2,entity.age2);
        }
        [_coreDataHelper saveContext];
    //
    
        return YES;
    }

    这里写图片描述
    好的,来运行程序 数据迁移成功了。

    展开全文
  • zookeeper数据迁移

    千次阅读 2019-05-10 16:58:50
    1.zookeeper自带命令实现数据迁移 2.使用第三方jar实现拷贝迁移 zookeeper原生命令行实现数据迁移 原生命令不需要第三方参与,直接把它的最新数据和日志拷贝到另一台服务器的数据目录下重启即可。 找到服务器上的...
  • datax数据迁移shell

    2020-08-26 12:00:08
    依据时间字段增量 1、创建要迁移表的文件文件和脚本在同一级目录,名称为: transfer.txt 2、文件格式为:表名+列名+开始时间+结束时间(以+隔开) 3、迁移数据 4、记录迁移信息到目的库
  • 数据迁移方法

    千次阅读 2015-12-29 15:08:02
    数据迁移方法 对于业务数据的迁移,目前主要采用如下五种方法: 1) 基于磁盘阵列之间的数据复制技术的数据迁移。 对于两套同系列的磁盘阵列,可以通过阵列之间的数据复制技术来实现数据的迁移,如目前的HDS的...
  • DB2 数据迁移

    2013-03-15 17:15:28
    详细介绍DB2不同库之间数据迁移的中文官方文档
  • Oracle数据迁移__直接拷贝数据文件

    千次阅读 2019-05-31 17:01:42
    一、旧服务器上首先汇总需要拷贝的文件,分别执行以下SQL: 需要切换到 oracle 用户 使用 sqlplus 登录进 Oracle 数据库 sqlplus / as sysdba SQL> show parameter pfile SQL> show parameter control ...
  • HDFS_数据迁移&节点迁移

    千次阅读 2017-11-23 09:39:20
    一、数据迁移 使用场景:① 冷热集群数据分类存储 ...③ 增量同步Data-Increment:原始数据文件进行了追加、原始数据文件被删除或重命名 在海量数据存储系统如HDFS中,一般不会在源文件内容上做修改,要么
  • 数据迁移服务V200R100C00----VMware虚拟机数据迁移方案.doc
  • HBase 数据迁移

    千次阅读 2018-06-27 09:08:35
    HBase 常见的适合大数据量的迁移方法:DISTCP、SNAPSHOT1、DSTCP+FIX 元数据信息2、SNAPSHOT快照导出迁移DISTCP迁移DISTCP的思路是,直接通过DISTCP拷贝HBase 的目录文件到目标集群,然后在目标集群通过hbase提供的h....
  • 这是一篇基础教程,对标 Laravel 文档中的数据迁移和数据填充,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍把。 关于Laravel数据库迁移的理解 最初看到laravel框架中迁移的时候,会以为这个迁移...
  • 数据迁移方法概述

    2012-05-29 09:51:13
    数据迁移方法概述
  • zimbra数据迁移

    2013-04-15 16:53:40
    这个文档写得比较细,基本上可以帮助你移植zimbra上的所有数据,仅供参考。
  • HBase数据迁移方案

    千次阅读 2019-09-25 15:32:11
    HBase2.1.0数据迁移方案 文章目录HBase2.1.0数据迁移方案步骤一、迁移HFile数据步骤二、迁移表的region步骤三、bulkload数据 业务要求:将数据从旧的集群HBase1.2迁移到HBase2.1.0中去。每个表的数据量级10TB左右 ...
  • redis数据迁移

    千次阅读 2018-10-30 09:24:22
    redis数据迁移 一:AOF方式 需求: 一个没有数据的redis。 清空redis数据方法 bash&gt; echo "keys *" | redis-cli --raw -p 6378 |sed -r 's/(.*)/redis-cli --raw -p 6378 del \1 /g' |bash 1...
  • Python数据迁移

    2019-12-27 17:05:03
    Python人工智能之Python数据库迁移命令行创建数据库数据迁移安装指令使用官方连接参考文档 命令行创建数据库 mysql uroot -p create database Python1031 charset=utf8; 数据迁移 Falsk-migrate 安装 pip ...
  • 我们常常需要对数据进行迁移,这篇文章主要介绍了Oracle 10g DG 数据文件迁移的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 海量数据迁移方案

    2012-03-10 02:25:38
    文档介绍关系数据库中海量数据迁移方案。
  • 迁移oracle数据文件

    千次阅读 2017-10-10 16:36:06
    迁移oracle数据文件的实际案例,事件虽小,却也是DBA的必备技能

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 254,566
精华内容 101,826
关键字:

数据迁移文档怎么写