db2培训(7)数据迁移专题复习进程
DB2数据库的迁移备份

db2数据库迁移备份一、操作系统相同:(属于离线/脱机备份)在相同操作系统下进行DB2的备份还原,使用BACKUP 和RESTORE 命令解决。
Linux下,切换DB2用户即可;Windows下,运行db2cmd。
1、backup1.1、db2 force applications all (断开数据库连接)1.2、db2 backup db db_name to D:\ (备份至D盘根目录)2、restore2.1、db2 force applications all (断开数据库连接)2.2、db2 restore db db_name from D:\ taken at 20151212190026 (还原D盘根目录下时间戳为20151212190026的备份文件)2.3、db2 rollforward db db_name to end of logs and stop (前回滚操作)2.4、如果不能连接数据库,将刚恢复的数据库进行一次备份操作即可。
二、跨系统的数据迁移操作:DB2 提供了两个非常实用的工具:(将Windows下的test数据库迁移至Linux下的test)★数据迁移工具db2move★数据字典获取工具db2look1、Windows下导出数据:运行->输入db2cmd,使用db2move 命令将源数据库(TEST)数据信息导出至指定的文件夹D:\dbback\db2move\TEST 下(目录自建)D:> cd \dbback\db2move\TESTD:\dbback\db2move\TEST> db2move TEST export -sn test -u test01 -p 123456Ps:-sn指定表模式-u指定用户 -p对应密码执行导出,成功后会显示Disconnecting from database ... successful!2、Windows下导出结构:使用db2look 命令将数据库结构,导出至指定的文件夹D:\dbback\db2look\TEST下D:> cd \dbback\db2look\TESTD:\dbback\db2move\TEST> db2look -d TEST -e -a -o db2look_TEST.sqlPs:-d 为指定数据库,参数必须-e 抽取数据库对象的DDL,这个参数必须-a 所有的用户和模式(-u Creator :指定用户,有-a时,忽略-u) -a -u 都没有时,默认当前登录用户-o 指定输出文件名称3、Linux下导入结构:把刚才导出的D:\dbback\db2move 和D:\dbback\db2look文件夹上传到linux系统中★更新表结构:su - db2inst1:password:123456db2inst1@localhost:~> cd db2back/db2move/TESTdb2inst1@localhost:~/db2back/db2move/TEST> db2 CREATE db TESTundefineddb2inst1@localhost:~/db2back/db2move/TEST> db2 -tvf db2look_TEST.sql4、Linux下导入数据:★使用load 命令装载数据db2inst1@localhost:~> cd /db2home/db2inst1/db2back/db2move/TESTdb2inst1@localhost:~/db2back/db2move/TEST> db2move TEST load操作顺利的话,数据会被转移到linux下面。
DB2数据迁移、备份与恢复及联邦数据库使用操作命令

数据移动及实用工具跨平台移动数据,首选PC/IXF文件格式进行数据的导出,平台间数据传输使用二进制。
1.导出命令基本语法Export to <路径+文件名> OF <del | ixf | wsf>Lobs to <大对象文件路径> lobfile <大对象文件名>Modified <分隔符选项>Method n (<字段名列表>)Messages <消息文件>Select 子句Eg1. Export to d:\export\org.txt of del select * from orgEg2. Export to d:\export\org1.dat of del modified by chardel! Coldel# messages d:\export\org1_msg.txt select * from orgEg3. Export to d:\export\emp_resume1.del of del lobs to d:\export\ lobfile emp_resume_lob1 modified by lobsinfile select * from emp_resume2.导入命令基本语法Import from <路径+文件名> OF <del | ixf | wsf>Messages <消息文件><insert | insert_update | replace | replace_create | create>Into <目标表名称>Eg1. Import from d:\export\org.txt of del insert into orgEg2. Import from d:\export\org1.dat of del modified by chardel! Coldel# messages d:\export\org_im_msg.txt insert into orgEg3. Import from d:\export\emp_resume1.del of del lobs from d:\export\ modified by lobsinfile insert into emp_resumeEg4. Import from d:\export\staff.ixf of ixf commitcount 1 restartcount 2 insert into staffback 3.Load 命令的基本语法Load from <路径+文件名> OF <del | ixf | wsf>Messages <消息文件>[<insert |replace |terminate |restart>]Into <目标表名>[<copy yes |copy no |nonrecoverable>] [indexing mode <autoselect|rebuild |increamental>] Eg1. Load from d:\export\org.txt of del messages :\export\org_load_msg.txt replace into orgEg2. Load from d:\export\staff1.del of del insert into staffback for exception staffexp4.处理load导致的异常状况a)查看表的状态load query table <表名称>b)关闭完整性检查Set integrity for <表名称> <check |foreign key |all> immediate uncheckedc)处理表空间挂起状态,方法一:使用restart 模式重新load,成功则自动消除;方法二:使用terminate 模式的load 命令,强行终止load过程,并消除挂起状态。
DB2导入、导出、备份及恢复数据库等操作资料

$ db2 connect reset
说明:
1, 以上指令将会把数据库testdb备份到指定目录 /home/backup下,所以请确保当前登陆用户(db2inst1)对该目录有读写的权限。
题外话,若打算使用root用户来执行备份,请先编辑文件 /etc/group,将root用户加入到与DB2相关的几个组:db2grp1, db2fgrp1, dasadm1.
$ cd /home/movedata
$ db2move mytestdb import –u db2inst1 –p thepasswd
此时屏幕上会显示有关导入数据的信息。
存在的问题:
db2move import方式只能导入“普通”的表,如果表中存在自增长的IDENTITY列,那么使用db2move import时,会出错。这是因为,如果IDENTITY列创建表的时候都是定义成always的话,那么在导入数据的时候该列数据是不能被赋值的,而是 应该由系统生成,使用db2move无法导入这样的表。对于这种含有IDENTITY列的表,只能使用db2 import指令来进行导入,相关的参数是IDENTITYIGNORE,IDENTITYMISSING。我将在下一部分给出具体的指令操作。
建立到数据库的连接:
$ db2
db2 => connect to testdb user db2inst1 using thepasswd
以DEL格式导出:
db2 => export to /home/backup/mytbl.txt of del select * from mytbl
db2 => terminate
db2 导入导出单个表的操作详解

db2 导入导出单个表的操作详解本文将详细提供db2导入导出单表数据及db2备份恢复等相关一些操作命令汇总,有需求的朋友可以参考1、导出整个数据库表结构、方法、存储过程等,执行脚本:db2look –d dbname –e –o db.sql –i username –w passworddb2 -tvf db.sql2、单表数据的导出及导入:导出:db2move dbname export -tn tablename -u db2user -p psw导入:db2move dbname import -u db2user -p psw3、数据库的备份、恢复:备份:db2 BACKUP DATABASE dbname恢复:db2 RESTORE DATABASE dbname4、使用db2move命令导出、导入数据库数据从另一数据库中导出初始化数据,首先进入导出的目录,先DB2cmd,后输入命令为:db2move dbname export –u username –p password。
注:dbname 为原数据库名,username为用户名 password为密码。
恢复命令为: db2move dbname import -u username -p password5、其它:.导出到一个文件获得sql语句db2look -d cqyancao -e -o db.sql -i db2user -w psw数据库名要出文件名用户名密码示例: db2look -d DEPARTMENT -u walid -e -o db2look.sql-- 这将生成由用户 WALID 创建的所有表和联合对象的 DDL 语句-- db2look 输出被发送到名为 db2look.sql 的文件中示例: db2look -d DEPARTMENT -z myscm1 -e -o db2look.sql-- 这将为模式名为 MYSCM1 的所有表生成 DDL 语句-- 还将生成 $USER 创建的所有联合对象的 DDL。
db2move import命令详解

db2move是 IBM Db2 数据库中用于迁移(移动)数据的实用程序之一。
它提供了一种快速、有效的方式来导入和导出整个数据库或特定表的数据。
在db2move中,import命令用于将先前导出的数据加载回数据库。
以下是db2move import命令的详细解释:db2move import语法:•<database_name>:目标数据库的名称。
•-lo <log_file>:指定日志文件的路径,用于记录导入过程中的信息。
•-u <username>:连接数据库的用户名。
•-p <password>:连接数据库的密码。
•-co <connect_options>:其他连接选项,例如指定数据库的主机和端口等。
•-nw:不等待其他用户提交的事务完成。
•-tos <table_space_options>:指定表空间的选项,例如USE <table_space>。
•-tw <table_name_wildcard>:导入特定表的通配符。
示例用法:1.基本导入:这会将先前由db2move export导出的 SAMPLE 数据库的数据导入回数据库。
1.指定用户名和密码:在导入数据时,你可能需要提供连接数据库的用户名和密码。
1.指定日志文件:通过-lo选项,你可以指定一个日志文件,记录导入过程中的信息。
1.不等待其他事务完成:使用-nw选项,可以指定不等待其他用户提交的事务完成。
1.指定表空间选项:使用-tos选项,你可以指定表空间的选项,例如USE后跟表空间名称。
1.导入特定表:使用-tw选项,你可以使用通配符指定要导入的特定表。
在这个例子中,只导入名称匹配 "EMPLOYEE" 的表。
注意事项:•在使用db2move import前,请确保先使用db2move export导出了相应的数据。
DB2数据库技术培训

商业智能技术培训DB2 UDB 数据库技术w w .f e n e t .c o m .c n目 录一、创建和访问DB2数据库 ------------------------------------------------------------------------------------- 1(一)、DB2 UDB 的组成 ----------------------------------------------------------------------------------- 11、数据库的逻辑、物理和性能特征 --------------------------------------------------------------- 12、DB2 存储模型 --------------------------------------------------------------------------------------- 13、表、索引、长字段和表空间 --------------------------------------------------------------------- 24、DMS 和 SMS 表空间 ----------------------------------------------------------------------------- 25、Buffer pools 的配置 --------------------------------------------------------------------------------- 3 (二)、创建数据库 ------------------------------------------------------------------------------------------- 51、创建数据库实际上创建了什么 ------------------------------------------------------------------ 62、数据库的位置 ---------------------------------------------------------------------------------------- 63、代码页和排列序列 ---------------------------------------------------------------------------------- 74、表空间的定义 ---------------------------------------------------------------------------------------- 75、CREATE DATABASE 实例 ----------------------------------------------------------------------- 8 (三)、给DB2数据库编制目录 -------------------------------------------------------------------------- 91、为什么要给数据库编制目录? ------------------------------------------------------------------ 92、在客户机编制目录 ---------------------------------------------------------------------------------- 93、使用发现的自动配置 ----------------------------------------------------------------------------- 104、使用访问概要文件的自动配置 ---------------------------------------------------------------- 105、手工配置 -------------------------------------------------------------------------------------------- 11二、创建DB2数据库对象 -------------------------------------------------------------------------------------- 11(一)、数据类型 -------------------------------------------------------------------------------------------- 111、数字型数据类型 ----------------------------------------------------------------------------------- 122、字符串型(String )数据类型 ------------------------------------------------------------------ 133、日期时间型(Datetime )数据类型 ----------------------------------------------------------- 144、数据链接型(Datalink ) ------------------------------------------------------------------------ 15 (二)、表 ------------------------------------------------------------------------------------------------------ 15 (三)、约束 --------------------------------------------------------------------------------------------------- 161、唯一性约束 ----------------------------------------------------------------------------------------- 162、引用完整性约束 ----------------------------------------------------------------------------------- 163、表检查约束 ----------------------------------------------------------------------------------------- 17 (四)、视图 --------------------------------------------------------------------------------------------------- 18 (五)、索引 --------------------------------------------------------------------------------------------------- 18 三、使用DB2图形化工具 -------------------------------------------------------------------------------------- 20(一)、使用 CCA 给数据库编制目录 ---------------------------------------------------------------- 20 (二)、使用Control Center 创建和操作DB2对象 ------------------------------------------------- 26 四、日志 -------------------------------------------------------------------------------------------------------------- 35(一)、为什么需要日志文件 ----------------------------------------------------------------------------- 35 (二)、日志的类型 ----------------------------------------------------------------------------------------- 361、循环日志 -------------------------------------------------------------------------------------------- 362、归档日志 -------------------------------------------------------------------------------------------- 37 (三)、日志管理配置参数 -------------------------------------------------------------------------------- 38 五、备份和恢复 ---------------------------------------------------------------------------------------------------- 39w w .f e n e t .c o m .c n(一)、备份数据库 ----------------------------------------------------------------------------------------- 39 (二)、恢复数据库 ----------------------------------------------------------------------------------------- 42 六、装入、导入和导出工具------------------------------------------------------------------------------------- 44(一)、使用Load ------------------------------------------------------------------------------------------- 44 (二)、使用Export ----------------------------------------------------------------------------------------- 45 (三)、使用Import ----------------------------------------------------------------------------------------- 46w w .f e n e t .c o m .c n一、创建和访问DB2数据库(一)、DB2 UDB 的组成1、数据库的逻辑、物理和性能特征DB2 数据库实际上由对象集合组成。
DB2数据库的常用操作指令

DB2数据库的常用操作指令DB2是一种关系型数据库管理系统,其常用操作指令可以帮助用户在数据库中执行各种操作。
以下是DB2数据库的一些常用操作指令。
1.连接数据库:CONNECT TO database_name [USER username USING password]2.断开数据库连接:CONNECTRESET3.创建表:CREATE TABLE table_name (column1 datatype, column2 datatype, ...)4.删除表:DROP TABLE table_name5.修改表结构:ALTER TABLE table_name ALTER COLUMN column_name SET DATA TYPE datatype6.插入数据:INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)7.更新数据:UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition8.删除数据:DELETE FROM table_name WHERE condition9.查询数据:SELECT column1, column2, ... FROM table_name WHERE condition 10.创建索引:CREATE INDEX index_name ON table_name (column1, column2, ...)11.删除索引:DROP INDEX index_name12.创建视图:CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition13.修改视图:ALTER VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition14.删除视图:DROP VIEW view_name15.创建存储过程:CREATE PROCEDURE procedure_name (parameter1 datatype, parameter2 datatype, ...)LANGUAGESQLBEGIN--存储过程代码END16.删除存储过程:DROP PROCEDURE procedure_name17.创建触发器:CREATE TRIGGER trigger_name BEFORE/AFTERINSERT/UPDATE/DELETE ON table_nameREFERENCING OLD ROW AS old NEW ROW AS newFOREACHROW--触发器代码18.删除触发器:DROP TRIGGER trigger_name19.提交事务:COMMIT20.回滚事务:ROLLBACK21.创建数据库:CREATE DATABASE database_name22.删除数据库:DROP DATABASE database_name以上是DB2数据库的一些常用操作指令,可以帮助用户在数据库中执行各种操作。
DB2-培训内容

2024/9/22
8
DB2 旳总体构造
2024/9/22
9
DB2 旳总体构造
DB2 Environment
DB2 Instance
DB2 DataBase
DB2 DataBase
DB2 Instance
DB2 DataBase
DB2 Environment (db2set)
DB2 Instance (db2i…)
DB2 培训内容纲要
DB2简介
DB2 产品简介 DB2 旳总体构造 DB2 连接
DB2 SQL
数据库对象操作(DDL+) 数据操作(DML) 高级SQL
DB2 管理
数据存储 系统维护 监控和优化
附录
2024/9/22
1
DB2 产品简介
2024/9/22
2
DB2 产品简介
2024/9/22
2024/9/22
19
DB2 SQL
RETRIEVING DATA(查询)
Retrieving the Entire Table Projecting Columns from a Table Changing the Order of the Columns Restricting Rows from a Table Limiting Result Table Size Selecting Columns from Multiple Tables Using Correlation Names DB2 Functions(Row、Column) Subquery(子查询)
DB2 DataBase(db)
2024/9/22
10
DB2 连接
2024/9/22
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IMPORT 和 LOAD 对比
IMPORT
• 导入大数据时慢 • 可通过IXF格式创建表 • 所有行都记日志
• 会触发触发器,约束等
LOAD
• 处理大数据量时速度快
• Load前,表和索引必须存在
• 已有的数据仍然可读 • 记很少的日志; can make copy
LOBS FROM
, lob-path
MODIFIED BY
filetype-mod
... ALLOW NO ACCESS ALLOW WRITE ACCESS
COMMITCOUNT n/
RESTARTCOUNT n
Automatic
MESSAGES message-file
INSERT INSERT_UPDATE REPLACE REPLACE_CREATE
calpar.del
10 ~ ~ 1 20 ~ ~ 30 ~ ~ 3 30 ~ ~ 4 40 ~ ~ X 50 ~ ~ 6 50 ~ ~ 7 80 ~ ~ 8
cal.par
10 ~ ~ 1 30 ~ ~ 3 50 ~ ~ 6 80 ~ ~ 8
Prim ary Key
Ta b le
IMPORT 例子
• 将文件数据导入到表中
db2 connect to musicdb
db2 import from artexprt of ixf
messages artmsg
create insert insert_update replace replace_create
into artists
ALLOW NO ACCESS
| statistics options | |copy options|
ALLOW READ ACCESS USE tablespace-name
| set integrity pending options |
LOCK WITH FORCE
LOAD 典型场景
IN P U T
INSERT 语句
• INSERT语句:
– 有overhead,需要通过引擎,验证RI,Check,唯一性约束, 执行trigger
– 插入操作发生时,需要记日志
• 在处理大数据量方面,INSERT可能不是最快的,也不是最好的
办法
• insert into artists (artno, name,
db2 connect to musicdb db2 import from artexprt of ixf
messages artmsg insert into artists
artexprt
IMPORT
DB2
musicdb
artists
IMPORT 大对象处理 • CLOB
IMPORT modified by修饰符
db2培训(7)数据迁移 专题
数据迁移方法
• 同平台,不同机器
– 备份/恢复
• 不同平台数据库间
– Export/import/load/db2move等 – Load from cursor
• 同数据库不同表
– Insert … select – Export/import/load
• 库不可连接
INTO
CREATE INTO table-name
table-name (
, insert-column )
, ( insert-column )
| tblspace-specs |
tblspace-specs
|
|
IN tablespace-name
INDEX IN tablespace-name LONG IN tablespace-name
classification) values (100, 'Patti & Cart Wheels', 'S')
• Insert into emptemp select * from employee
IMPORT 命令语法(Basic)
IMPORT FROM filename OF filetype
• 不会触发trigger,RI和check约
束在set integrity阶段验证;会 验证唯一性约束
Load 过程的4个阶段
1. LOAD
Load data into tables
DB2 Data
C ollect index keys / sort
C onsistency points at SAVEC O U N T
filetype-mod
SAVECOUNT n
ROWCOUNT n
WARNINGCOUNT n
MESSAGES msg-file
...
INSERT REPLACE RESTART TERMINATE
INTO table-name
, ( insert-column )
FOR EXCEPTION table-name
– db2dart
数据导入导出工具一览
DEL格式
• 文本格式 • 每行代表一条记录 • 字段之间用分隔符分隔,如,;!等 • 某字段字符串用符号包围,如‘’,“”等
非DEL的ACSII格式
• 文本格式 • 每行代表一条记录 • 字段是定长表示,不足用空格补齐
PC/IXF格式
• PC/IXF格式是IBM特有的二进制格式 • 用于在异构平台间导入导出数据 • 可包含表的类型和定义 • db2move支持的格式
Invalid data row s in dum p file; m essages in m essage file
2. BUILD Indexes created or updated
3. DELETE
U n iqu e K e y V io lation s p la ced in E xce ption Ta ble M essages generated for unique key violations D eletes U nique Key Violation R ow s
4. INDEX CO PY
C opy indexes from tem p table space to index table space
LOAD 命令语法(Basic)
LOAD
CLIENT
FROM
,
file pipe device cursorname
OF
ASC
DEL
பைடு நூலகம்
IXF
CURSOR
MODIFIED BY