db2培训(7)数据迁移专题复习进程
- 格式:ppt
- 大小:668.00 KB
- 文档页数:33
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下面。
数据移动及实用工具跨平台移动数据,首选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导入导出单表数据及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是 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 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数据库的一些常用操作指令。
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数据库的一些常用操作指令,可以帮助用户在数据库中执行各种操作。
1.db2 export 实用程序1)文件格式在前面的例子中,数据被提取到一个 DEL 格式的文件中。
默认情况下,列值之间以逗号(,)隔开,字符串以双引号(")括起来。
如果被提取的数据已经包含逗号和双引号,那么会怎么样呢?在这种情况下,导入或装载实用程序不可能确定哪些符号是实际的数据,哪些符号是分界符。
为了定制 EXPORT 如何操作,可以使用MODIFIED BY子句,并指定您想用文件类型修饰符更改哪些方面。
下面是带 MODIFIED BY子句的 EXPORT 命令:下面列出了一些常用的修饰符:chardelx指定 x 作为新的单字符字符串分界符。
默认值是一个双引号(")。
coldelx指定 x 作为新的单字符列分界符。
默认值是一个逗号(,)。
codepage=x指定 x (一个 ASCII 字符串)作为输出数据的新的码页(code page)。
在导出操作期间,字符数据被从应用程序码页转换成这种码页。
timestampformat="x"x 是源表中时间戳的格式。
考虑这个例子:EXPORT TO myfile.del OF DELMODIFIED BY chardel! coldel@ codepage=1208 timestampformat="yyyy.mm.dd hh:mm tt" MESSAGES msg.outSELECT * FROM schedule前面的命令按照以下方式将 SCHEDULE 表中的数据导出到 DEL 格式的文件中:字符串以感叹号(!)括起来。
列之间以 @ 符号分隔开。
将字符串转换成码页 1208。
SCHEDULE 表中用户定义的时间戳的格式为 yyyy.mm.dd hh:mm tt。
2)用 LOBSINFILE 修饰符导出大型对象当导出包含大型对象列的表时,默认情况下只能导出 LOB 数据的前 32 KB。